JOSM: Daten aus GPX in Nodes übernehmen

Walter,

jeder hier, auch Jan weiß, dass man am ersten Baum vorm Stadttor aufgehangen wird, wenn man einen Import macht. Die Stolpersteine sollten eh fast alle drin sein daher ist an einen Import nicht zu denken. Ich verstehe nicht warum Du verhindern willst, dass man über technische Details redet. Das Beispiel war ein Survey-Waypoint, so mache ich mir Notizen. Jeder weiß, dass man “einbahn kommend 2 Strassen weit” nicht als Name in OSM einspielen sollte

ok, war etwas lustig, aber ohne Nachbearbeitung durch einen verantwortungsvollen Mapper kommt da schnell Murks nach OSM rein.

Ich möcht Jan’s Projekt auch nicht abblocken (kann man ja eh’ nicht), sondern auf einige Schwachstellen hinweisen, die bestimmt Probleme machen, wenn es ernst wird. Das Ziel (Grenzsteine in OSM) halte ich für sehr erstrebenswert.

Gruss
Walter

hi, damit es auch mal konkreter wird mit xalan/xslt -und ich nicht aus der Übung komme:

jan’s Daten in “sauberes” XML-Format gebracht: 2 Zeilen am Anfang, eine am Ende - sonst ist nix mit xslt. Hab den Way-Point mal verdoppelt, damit man das Format besser sieht.


<?xml version="1.0" encoding="ISO-8859-1"?>
<liste>
<wpt lat="52.0065863" lon="9.1826286">
    <ele>171.0000000</ele>
    <name>1003-Sonneborn</name>
    <cmt>Meilenstein, lippisch, kleine Stele</cmt>
    <desc>Meilenstein, lippisch, kleine Stele</desc>
    <sym>City (Large)</sym>
    <extensions>
      <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
        <gpxx:DisplayMode>SymbolOnly</gpxx:DisplayMode>
      </gpxx:WaypointExtension>
    </extensions>
  </wpt>
  <wpt lat="52.0065863" lon="9.1826286">
    <ele>171.0000000</ele>
    <name>1003-Sonneborn</name>
    <cmt>Meilenstein, lippisch, kleine Stele</cmt>
    <desc>Meilenstein, lippisch, kleine Stele</desc>
    <sym>City (Large)</sym>
    <extensions>
      <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
        <gpxx:DisplayMode>SymbolOnly</gpxx:DisplayMode>
      </gpxx:WaypointExtension>
    </extensions>
  </wpt>
</liste>

XSL:


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template name="NL"><xsl:text>
</xsl:text>
 </xsl:template>

 <xsl:template match="/">
 <xsl:call-template name="NL" /><osm version="0.6" generator="xalan"><xsl:call-template name="NL" />
   <xsl:for-each select="liste/wpt">
      <node>
        <xsl:attribute name="id"><xsl:number value="-position()" format="1" /></xsl:attribute>
        <xsl:attribute name="lat"><xsl:value-of select="@lat" /></xsl:attribute> 
        <xsl:attribute name="lon"><xsl:value-of select="@lon" /></xsl:attribute>
        <xsl:call-template name="NL" />
        <tag k="historic" v="milestone"/><xsl:call-template name="NL" />
        <tag k="ele"><xsl:attribute name="v"><xsl:value-of select="ele" /></xsl:attribute> </tag><xsl:call-template name="NL" />
        <tag k="note"><xsl:attribute name="v"><xsl:value-of select="name" /></xsl:attribute> </tag><xsl:call-template name="NL" />
        <tag k="comment"><xsl:attribute name="v"><xsl:value-of select="cmt" /></xsl:attribute> </tag><xsl:call-template name="NL" />
        <tag k="description"><xsl:attribute name="v"><xsl:value-of select="desc" /></xsl:attribute> </tag><xsl:call-template name="NL" />
        <tag k="symbol"><xsl:attribute name="v"><xsl:value-of select="sym" /></xsl:attribute> </tag><xsl:call-template name="NL" />
      </node><xsl:call-template name="NL" />
   </xsl:for-each>
 </osm>
 </xsl:template>
</xsl:stylesheet>

dieses “komische” NL-Template macht jeweils ein Linefeed - nur für die Optik, josm braucht das nicht.
Achtung: der Zeilenvorschub IM Template ist lebensnotwendig.

Aufruf: ** xalan -in jan.xml -xsl jan.xsl -out jan.osm**

Ergebnis:


<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="xalan">
<node id="-1" lat="52.0065863" lon="9.1826286">
<tag k="historic" v="milestone"/>
<tag k="ele" v="171.0000000"/>
<tag k="note" v="1003-Sonneborn"/>
<tag k="comment" v="Meilenstein, lippisch, kleine Stele"/>
<tag k="description" v="Meilenstein, lippisch, kleine Stele"/>
<tag k="symbol" v="City (Large)"/>
</node>
<node id="-2" lat="52.0065863" lon="9.1826286">
<tag k="historic" v="milestone"/>
<tag k="ele" v="171.0000000"/>
<tag k="note" v="1003-Sonneborn"/>
<tag k="comment" v="Meilenstein, lippisch, kleine Stele"/>
<tag k="description" v="Meilenstein, lippisch, kleine Stele"/>
<tag k="symbol" v="City (Large)"/>
</node>
</osm>

Was will man mehr?

Gruss
Walter

p.s. hab es mit sudo apt-get install xalan installiert.

Moin !

Habe für meinen Test erst einmal den weg über gpsbable beschritten.

Das war so ausreichend.

Danke an alle Beteiligten.

Jan