You are not logged in.

#1 2021-04-07 21:25:25

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Hallo,
falls noch jemand Greasemonkey nutzt: ich habe ein kleines Script zusammengeschrieben, dass die Links zu OSMCha und achavi zur jeweiligen Changeset-Webseite auf osm.org hinzufügt. Das spart ein bisschen copy&paste von der CS ID und das manuelle ansurfen der Tools mit Eingabe der ID.

ohne Script:
PcNf4X2.png


mit Script:
W9GFnMz.png


Falls sich jemand dafür interessiert, anbei die Links:

Link zum Quellcode

Link zum Installieren

Last edited by Strubbl (2021-04-08 12:20:36)

Offline

#2 2021-04-08 08:49:35

Rainero
Member
Registered: 2016-02-26
Posts: 273

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

... Greasemonkey ... ach, da war doch mal was.
Das Skript kann auch im Vivaldi Browser eingebunden werden. Super Sache, das ist echt nützlich. Danke!

Falls den jemand benutzt:
1. Skript runterladen
2. im Browser vivaldi://extensions als URL eingeben (oder Menü: Extras -> Erweiterungen)
3. evtl. Entwicklermodus einschalten (Schalter rechts oben); ich hatte ihn an, weiß nicht, ob es notwendig ist
4. das heruntergeladene Skript ins Browserfenster ziehen
5. Installation bestätigen

cool

Offline

#3 2021-04-08 09:54:58

smootheFiets
Member
Registered: 2019-12-09
Posts: 388

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Dafür gibt es auch eine andere Extension, die ich sowieso empfehlen kann: OSM start menu https://addons.mozilla.org/en-US/firefo … mart-menu/ (gibts auch für Chrome, scheinbar)
Die kann auch von Changeset nach Achavi und etlichen anderen Seiten umschalten. Baut keine direkten Links ein (kein Greasemonkey), sondern man muss auf den Menü-Button klicken. Das geht aber auch sehr schnell.

Genauso, und das ist noch nützlicher, kann man so von einem Kartenservice zu einem anderen wechseln mit gleichen Koordinaten (OSM, Google, Mapillary, Osmose, ...). Schnell mal nachschauen: gibt es hier Mapillary-Bilder: klick. Nominatim findet mein Ziel nicht, Google schon? Klick, und ich bin auf OSM. Usw.

Offline

#4 2021-04-09 14:14:07

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

smootheFiets wrote:

Dafür gibt es auch eine andere Extension, die ich sowieso empfehlen kann: OSM start menu

Wirklich eine interessantes Addon. Danke für den Tipp. Das werde ich zusätzlich auch noch nutzen.

Aber es ersetzt mir nicht die Greasemonkey Script Funktionalität, weil ich einen Klick auf ein fitzeliges kleines Icon am anderen Ende des Browserfensters mehr machen müsste. Habe mir das Script extra geschrieben, um eine schnelle und einfach erreichbare Verknüpfung zu haben. Dabei ging es darum Klicks und Mausweg zu sparen. Da ich beim Betrachten von einem Changeset meist sowieso in dem linken Bereich der Website scrolle, sind die beiden Links dann nicht allzu fern und schnell mit dem Mausrad geklickt.

Offline

#5 2021-04-09 18:07:17

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Strubbl wrote:

dass die Links zu OSMCha und achavi zur jeweiligen Changeset-Webseite auf osm.org hinzufügt

Wow... Danke dass fehlt mir schon lange cool cool smile

Offline

#6 2021-04-09 19:53:14

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Es gibt sogar ein Ticket, OSMCha offiziell in osm.org zu integrieren: https://github.com/openstreetmap/openst … ssues/2629. Analog dazu dasselbe für Achavi: https://github.com/openstreetmap/openst … ssues/1376

Wie viele Vorschläge dümpelt das Zeug erstmal sehr lange rum, weil es diverse Herausforderungen gibt, die zunächst ausräumt werden müssen. Naja, vielleicht in ein paar Jahren.

Last edited by mmd (2021-04-09 20:00:03)

Offline

#7 2021-04-10 08:57:48

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Hi Strubbl,

ich hab mir jetzt das Stript installiert, dabei ist mir aufgefallen das dass Skript nur funktioniert wenn man eingeloggt ist... was ich nicht immer automatisch bin wink

Ich hab mir das Skript um eine Funktion erweitert, um auch wenn ich nicht eingeloggt bin es funktioniert:

Bei Zeile 29 hab ich das noch eingefügt:

//https://www.openstreetmap.org/changeset/56501044#map=16/48.1818/11.7873
if(!cs_id) {
   var href = window.location.href
   let regex = /.*changeset\//g;
   let result = href.replace (regex,"");
  
   let regexx = /#.*/g;
   let resultx = result.replace (regexx,"");
  
   cs_id = resultx;
}

Wenn du willst kannst es übernehmen cool

Gruß Miche

Offline

#8 2021-04-11 08:42:26

Jakob48
Member
From: Im Süden von BW, DE
Registered: 2017-03-05
Posts: 85

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Btw. Für die, die beim Firefox keinen Greasemonkey nutzen oder nutzen wollen, gibt es auch das Addon https://github.com/tankaru/JumpToOSMChangesetAnalyzer cool

Offline

#9 2021-04-11 09:34:50

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

miche101 wrote:

Ich hab mir das Skript um eine Funktion erweitert, um auch wenn ich nicht eingeloggt bin es funktioniert:
[…]
Wenn du willst kannst es übernehmen

Danke. Das werde ich machen. An den Fall hatte ich nicht gedacht. Ich fand es super, dass die CS ID im HTML-Quelltext ohne große Regexes erreichbar ist, weil sich so Quelltext gerne ändert und der Regex dann nicht mehr passt. Aber die URL sollte stabil bleiben. Gute Idee.

Jakob48 wrote:

Btw. Für die, die beim Firefox keinen Greasemonkey nutzen oder nutzen wollen, gibt es auch das Addon https://github.com/tankaru/JumpToOSMChangesetAnalyzer cool

Leider ist bei diesem Addon das Problem, dass es scheinbar nicht mehr gepflegt wird. Die Abhängigkeiten sind veraltet. Man muss das Addon selbst bauen und dafür irgendwie nodejs installieren. Und schließlich wäre da noch der Extraklick auf ein kleines Icon irgendwo am anderen Ende des Browserfensters. Ich bin da sehr faul und treffe so kleine Icons nicht so schnell. Und ich würde auch gerne mal Achavi in einem neuen Tab oder im selben Tab öffnen. Das soll ohne große Klickerei möglich sein.

Last edited by Strubbl (2021-04-11 09:36:09)

Offline

#10 2021-04-11 15:54:06

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

By the way... Grossflächige Changesets klappen normalerweise nicht (so gut) mit achavi. Wer will kann gerne mal folgende Alternative austesten: achavi Beispiel 1 oder achavi Beispiel 2 (aktuell nur Changesets ab 2021). Weitere viele gute Beispiele zum Testen gibt's auch hier.

In meinem Script sieht das dann so aus:

analyze_names = ["achavi", "achavi(test)", "OSMCha"]
analyze_urls = ["https://overpass-api.de/achavi/?changeset=", "https://dev.overpass-api.de/achavi/?changeset=", "https://osmcha.org/changesets/"]

Last edited by mmd (2021-04-11 18:43:36)

Offline

#11 2021-04-13 20:52:00

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

mmd wrote:

Wer will kann gerne mal folgende Alternative austesten

Hallo mmd, ich habe das mal getestet.

https://www.openstreetmap.org/changeset/56501044
https://overpass-api.de/achavi/?changeset=56501044
https://dev.overpass-api.de/achavi/?changeset=56501044

Beim achavi dev sehe ich die Änderungen nicht. Weißt du, woran es da hakt?

Offline

#12 2021-04-13 20:54:01

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Für die Version 1.1 von dem Script habe ich die Erweiterung von miche101 eingefügt.

Offline

#13 2021-04-13 21:07:22

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Leider ist die SSD auf dem System zu klein, um auch die letzten Jahre in kurzer Zeit zu laden. Dazu bräuchte es wohl ~600GB. Verfügbar sind nur 430GB, davon sind allerdings schon 390GB belegt. Vor ein paar Jahren war irgendwie noch nicht absehbar, dass jeden Monat mal 100 bis 140 Mio. Änderungen neu dazukommen.

Der Planet für die Datenbank war vom 4.1.2021 + alles was danach kommt. Dein Changeset ist von 2018, ist also 3 Jahre zu alt.

Last edited by mmd (2021-04-13 21:09:48)

Offline

#14 2021-04-13 21:09:31

Strubbl
Member
Registered: 2020-08-27
Posts: 87

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Danke. Das hatte ich überlesen bei deinem vorigen Post.

Offline

#15 2021-04-13 21:23:16

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Gedacht war das auch eher als Technologie-Demo für Changesets, die mit Achavi oder OSMCha nicht mehr funktionieren oder wo das Laden eher länger dauert, wie z.B. https://www.openstreetmap.org/changeset/101749337

Offline

#16 2021-04-14 06:42:52

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

mmd wrote:

Technologie-Demo für Changesets, die mit Achavi oder OSMCha nicht mehr funktionieren

Ja coole Sache, dass hab ich schon manchmal cool Aber da muss ich mich auch selbst an der Nase fassen und öffters hochladen big_smile

Offline

#17 2021-04-15 20:08:32

ikonor
Member
Registered: 2010-11-08
Posts: 598
Website

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Es gibt auch noch die "Changeset by Comparison Visualization" von Pascal:

https://resultmaps.neis-one.org/osm-cha … =101749337

Die scheint auch mit großflächigen Changesets umgehen zu können (vermutlich leider nicht Open Source, wie immer).

Offline

#18 2021-04-15 20:17:09

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

ikonor wrote:

Changeset by Comparison Visualization" von Pascal:

Das hab ich auch schon probiert... Aber, des geht nur, glaub..., Zwei Monate darf der Changeset sein... Das ist oft blöd.. außer des wurde erst vor kurzem geändert

Offline

#19 2021-04-15 21:06:01

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Sieht mir eher nach 1 Monat aus: "Contains changesets after 2021-03-15". Die Changesets sind wahrscheinlich alle im voraus berechnet und als GeoJSON abgelegt. Das benötigt für einen längeren Zeitraum doch einiges an Platz. Im Fall von OSMCha ist das inzwischen deutlich im Terabyte-Bereich.

Last edited by mmd (2021-04-15 21:11:58)

Offline

#20 2021-05-16 12:07:22

mmd
Member
Registered: 2010-11-06
Posts: 1,881

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

mmd wrote:

Leider ist die SSD auf dem System zu klein, um auch die letzten Jahre in kurzer Zeit zu laden. Dazu bräuchte es wohl ~600GB. Verfügbar sind nur 430GB, davon sind allerdings schon 390GB belegt. Vor ein paar Jahren war irgendwie noch nicht absehbar, dass jeden Monat mal 100 bis 140 Mio. Änderungen neu dazukommen.

Dazu noch ganz kurz: ich habe einen Problem entdeckt, das dafür sorgt, dass Teile der Datenbank in bestimmten Situationen nicht komprimiert werden. Weiterhin habe ich die Ablage der Way nodes etwas geändert, so dass sich jetzt immerhin die letzten 5 Jahre in 385GB unterbringen lassen. cool

Dummerweise scheint ein Daily file aus dem April 2016 kaputt/unvollständig zu sein, was ein Laden von noch älteren Daten im Moment etwas im Weg steht. Diese Daily Diffs beötige ich für die Konvertierung nach PBF und anschließendem Laden in Overpass, weil alles andere einfach zu langsam ist.

Offline

#21 2021-05-16 14:00:47

AB-inf-x-chg-AB
Member
Registered: 2016-12-17
Posts: 768

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Wäre so ein ähnliches Skript für Node-/Way-/Relation-Seiten auf osm.org mit Link zu https://wiki.openstreetmap.org/wiki/OSM … _(by_PeWu) möglich?


Hier führt der Weg zum anderen Informationskanal (mailing list talk-de@openstreetmap.org):
http://gis.19327.n8.nabble.com/Germany-f5281960.html

Offline

#22 2021-05-16 15:52:51

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

AB-inf-x-chg-AB wrote:

Wäre so ein ähnliches Skript für Node-/Way-/Relation-Seiten auf osm.org mit Link zu https://wiki.openstreetmap.org/wiki/OSM … _(by_PeWu) möglich?

Die Ansicht ist auch ganz cool cool ich versuch mal das zu integrieren smile

Offline

#23 2021-05-16 17:12:11

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Hi,

ich hab mal erweitert.

Kurz dazu was ich gemacht hab:
- @include erweitert auf "https://www.openstreetmap.org/*"
- Dann schau ich im href= ob es ein Way/Node/Relation oder Changeset ist..
- Wenn Changeset dann die Funktion wie bisher, wenn Way/Node/Relation eine eigene Funktion auf Basis von der Changeset Funktion nur abgewandelt.
- achavi(test) hab ich hinzugefügt

Code kann integriert werden wink verbessert usw. hab es jetzt nach meinem Coding vermögen gemacht.. auf die schnelle wink big_smile



// ==UserScript==
// @author        Strubbl
// @name          OpenStreetMap Changeset Analyze URLs
// @description   adds links to achavi and OSMCha to every OSM changeset page
// @include       https://www.openstreetmap.org/*
// @grant         none
// @version       1.1
// @updateURL     https://gitlab.com/Strubbl/userscripts/raw/master/osm_changeset_analyze_urls.user.js
// ==/UserScript==


   var hrefstr = window.location.href

   var n = hrefstr.search("/changeset/");

   if ( n > 0 )
   {
     console.log("changeset");
     osmpage="changeset";
   }

   var n = hrefstr.search("/node/");
   if ( n > 0 )
   {
     console.log("node");
     osmpage="objekt";
     osmobj="node";
     
   }

   var n = hrefstr.search("/way/");
   if ( n > 0 )
   {
     console.log("way");
     osmpage="objekt";
     osmobj="way";
   }

   var n = hrefstr.search("/relation/");
   if ( n > 0 )
   {
     console.log("relation");
     osmpage="objekt";
     osmobj="relation";
   }




// Funktionen für Changeset Seite
if ( osmpage == "changeset" ) {

analyze_names = ["achavi", "achavi(test)", "OSMCha"]
analyze_urls = ["https://overpass-api.de/achavi/?changeset=", "https://dev.overpass-api.de/achavi/?changeset=", "https://osmcha.org/changesets/"]


var cs_headline = document.getElementById("sidebar_content").getElementsByTagName('h2')[0]
var cs_id = 0
var i;
var input_fields = document.getElementsByTagName('input')
var stop_execution = false

// get changeset id
for (i = 0; i < input_fields.length; i++) {
  var check_for_cs_id = input_fields[i].getAttribute("data-changeset-id")
  if(check_for_cs_id) {
    cs_id = check_for_cs_id
    break
  }
}

// copied from post of miche101 https://forum.openstreetmap.org/viewtopic.php?pid=825651#p825651
// https://www.openstreetmap.org/changeset/56501044#map=16/48.1818/11.7873
if(!cs_id) {
   var href = window.location.href
   let regex = /.*changeset\//g;
   let result = href.replace (regex,"");  
   let regexx = /#.*/g;
   let resultx = result.replace (regexx,"");
   cs_id = resultx;
}

if(!cs_id) {
  console.log("osm_changeset_analyze_urls: no changeset id found")
  stop_execution = true
}

if(analyze_names.length != analyze_urls.length) {
  console.log("osm_changeset_analyze_urls: analyze_names and analyze_urls have different length")
  stop_execution = true
}

if(!stop_execution) {
  // generate links html code
  var links_html = ""
  for (i = 0; i < analyze_names.length; i++) {
    links_html += "<a href=\"" + analyze_urls[i] + cs_id + "\" target=\"_blank\">" + analyze_names[i] + "</a> "
  }
  // append links to website
  cs_headline.insertAdjacentHTML('afterend', "<div id=\"osm_changeset_analyze_urls\" style=\"color: #f00; padding-left: 20px;\">" + links_html + "</div>")
}

}




// Funktionen für Objekt Seite (node/way/relation)

if ( osmpage == "objekt" ) {
  
  
  analyze_names = ["OSM History Viewer"]
  // %OBJ% == node, way, relation    %ID% == OSM-ID
  analyze_urls = ["https://pewu.github.io/osm-history/#/%OBJ%/%ID%"]
  
  var cs_headline = document.getElementById("sidebar_content").getElementsByTagName('h2')[0]
  var cs_id = 0;  
  var stop_execution = false;
  

  // Link Example OSM History Viewer
  // https://pewu.github.io/osm-history/#/node/54154220
  // https://pewu.github.io/osm-history/#/way/683125725
  // https://pewu.github.io/osm-history/#/relation/9767454

   console.log("OSM-Objekt mit dem Typ: " + osmobj);
  
  
   var href = window.location.href
   let regex = /.*openstreetmap.org\/[^\/]*\//g;
   let result = href.replace (regex,"");  
   let regexx = /#.*/g;
   let resultx = result.replace (regexx,"");
   cs_id = resultx;
  
   console.log("OSM-Objekt mit der ID: " + cs_id);
  

  
  if(!cs_id) {
    console.log("osm_objekt_analyze_urls: no objekt id found")
    stop_execution = true
  }

  if(analyze_names.length != analyze_urls.length) {
    console.log("osm_objekt_analyze_urls: analyze_names and analyze_urls have different length")
    stop_execution = true
  }
      
     

  if(!stop_execution) {
    
    
    // generate links html code
    var links_html = ""
    for (i = 0; i < analyze_names.length; i++) {

      var url = analyze_urls[i];
      var url2 = url.replace("%OBJ%", osmobj );
      var url3 = url2.replace("%ID%", cs_id );
  
      links_html += "<a href=\"" + url3 + "\" target=\"_blank\">" + analyze_names[i] + "</a> "
    }
    
     
    // append links to website
    cs_headline.insertAdjacentHTML('afterend', "<div id=\"osm_changeset_analyze_urls\" style=\"color: #f00; padding-left: 20px;\">" + links_html + "</div>")
  }
  
  
  
}

PS: und ganz vergessen bei URL hab ich ein target="_blank" hinzugefügt... damit beim klicken ein neues Fenster auf geht... fänd ich praktisch, weiß nicht wie ihr das findet?

Last edited by miche101 (2021-05-16 17:15:37)

Offline

#24 2021-05-16 17:56:37

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Was ich bis jetzt nicht verstehe... wenn ich einen Changeset offen habe.. und dann aus einen Way im Changeset klicke.. dann wird das Skript nicht nochmal ausgeführt.. hmm nur wenn ich in einem Neuen Fenster öffne bzw. neu lade (F5)

Und jetzt hab ich noch gesehen man könnte auch mehrere // @include .. angeben smile wäre "Sauberer" wink

https://wiki.greasespot.net/Include_and_exclude_rules

Offline

#25 2021-05-21 12:35:23

miche101
Member
Registered: 2008-12-16
Posts: 1,202

Re: Greasemonkey Script für OSMCha, achavi Links auf Changeset-Seiten

Hi,

hab noch einen Bug gefunden wenn man z.B. eine history Seite aufmacht von einer Node/Way/rel. dann wird es nicht richtig verarbeitet.. ist gefixt.

und jetzt hab ich mehrere @include gemacht..




// ==UserScript==
// @author        Strubbl
// @name          OpenStreetMap Changeset Analyze URLs
// @description   adds links to achavi and OSMCha to every OSM changeset page
// @include       https://www.openstreetmap.org/changeset/*
// @include       https://www.openstreetmap.org/node/*
// @include       https://www.openstreetmap.org/way/*
// @include       https://www.openstreetmap.org/relation/*
// @grant         none
// @version       1.1
// @updateURL     https://gitlab.com/Strubbl/userscripts/raw/master/osm_changeset_analyze_urls.user.js
// ==/UserScript==


   var hrefstr = window.location.href

   var n = hrefstr.search("/changeset/");

   if ( n > 0 )
   {
     console.log("changeset");
     osmpage="changeset";
   }

   var n = hrefstr.search("/node/");
   if ( n > 0 )
   {
     console.log("node");
     osmpage="objekt";
     osmobj="node";
     
   }

   var n = hrefstr.search("/way/");
   if ( n > 0 )
   {
     console.log("way");
     osmpage="objekt";
     osmobj="way";
   }

   var n = hrefstr.search("/relation/");
   if ( n > 0 )
   {
     console.log("relation");
     osmpage="objekt";
     osmobj="relation";
   }




// Funktionen für Changeset Seite
if ( osmpage == "changeset" ) {

analyze_names = ["achavi", "achavi(test)", "OSMCha"]
analyze_urls = ["https://overpass-api.de/achavi/?changeset=", "https://dev.overpass-api.de/achavi/?changeset=", "https://osmcha.org/changesets/"]


var cs_headline = document.getElementById("sidebar_content").getElementsByTagName('h2')[0]
var cs_id = 0
var i;
var input_fields = document.getElementsByTagName('input')
var stop_execution = false

// get changeset id
for (i = 0; i < input_fields.length; i++) {
  var check_for_cs_id = input_fields[i].getAttribute("data-changeset-id")
  if(check_for_cs_id) {
    cs_id = check_for_cs_id
    break
  }
}

// copied from post of miche101 https://forum.openstreetmap.org/viewtopic.php?pid=825651#p825651
// https://www.openstreetmap.org/changeset/56501044#map=16/48.1818/11.7873
if(!cs_id) {
   var href = window.location.href
   let regex = /.*changeset\//g;
   let result = href.replace (regex,"");  
   let regexx = /#.*/g;
   let resultx = result.replace (regexx,"");
   cs_id = resultx;
}

if(!cs_id) {
  console.log("osm_changeset_analyze_urls: no changeset id found")
  stop_execution = true
}

if(analyze_names.length != analyze_urls.length) {
  console.log("osm_changeset_analyze_urls: analyze_names and analyze_urls have different length")
  stop_execution = true
}

if(!stop_execution) {
  // generate links html code
  var links_html = ""
  for (i = 0; i < analyze_names.length; i++) {
    links_html += "<a href=\"" + analyze_urls[i] + cs_id + "\" target=\"_blank\">" + analyze_names[i] + "</a> "
  }
  // append links to website
  cs_headline.insertAdjacentHTML('afterend', "<div id=\"osm_changeset_analyze_urls\" style=\"color: #f00; padding-left: 20px;\">" + links_html + "</div>")
}

}




// Funktionen für Objekt Seite (node/way/relation)

if ( osmpage == "objekt" ) {
  
  
  analyze_names = ["OSM History Viewer"]
  // %OBJ% == node, way, relation    %ID% == OSM-ID
  analyze_urls = ["https://pewu.github.io/osm-history/#/%OBJ%/%ID%"]
  
  var cs_headline = document.getElementById("sidebar_content").getElementsByTagName('h2')[0]
  var cs_id = 0;  
  var stop_execution = false;
  

  // Link Example OSM History Viewer
  // https://pewu.github.io/osm-history/#/node/54154220
  // https://pewu.github.io/osm-history/#/way/683125725
  // https://pewu.github.io/osm-history/#/relation/9767454

   console.log("OSM-Objekt mit dem Typ: " + osmobj);
  
  
   var href = window.location.href
   let regex = /.*openstreetmap.org\/[^\/]*\//g;
   let result = href.replace (regex,"");  
   let regexx = /#.*/g;
   let resultx = result.replace (regexx,"");
   let regexxx = /\/.*/g;
   let resulty = resultx.replace (regexxx,"");
   cs_id = resulty;
  
   console.log("OSM-Objekt mit der ID: " + cs_id);
  

  
  if(!cs_id) {
    console.log("osm_objekt_analyze_urls: no objekt id found")
    stop_execution = true
  }

  if(analyze_names.length != analyze_urls.length) {
    console.log("osm_objekt_analyze_urls: analyze_names and analyze_urls have different length")
    stop_execution = true
  }
      
     

  if(!stop_execution) {
    
    
    // generate links html code
    var links_html = ""
    for (i = 0; i < analyze_names.length; i++) {

      var url = analyze_urls[i];
      var url2 = url.replace("%OBJ%", osmobj );
      var url3 = url2.replace("%ID%", cs_id );
  
      links_html += "<a href=\"" + url3 + "\" target=\"_blank\">" + analyze_names[i] + "</a> "
    }
    
     
    // append links to website
    cs_headline.insertAdjacentHTML('afterend', "<div id=\"osm_changeset_analyze_urls\" style=\"color: #f00; padding-left: 20px;\">" + links_html + "</div>")
  }
  
  
  
}

Offline

Board footer

Powered by FluxBB