'kml2gpx NTG 4.5 '~~~~~~~~~~~~~~~ ' ' 2011-12-19 v1.0 Initial release ' '* Kategorien werden nach Groß-/Kleinschreibung unterschieden '* Über das Menü auswählbare Icons starten bei IconId 2 '* Ausgabedatei muss Endung .gpx haben '* .gpx-Datei muss im Ordner PersonalPOI (Groß-/Kleinschreibung egal) liegen '* Keine Anzeige auf der Karte bei Presentation ShowOnMap false '* Kein optischer Hinweis bei Activity Level warning '* kilometer und mile als Activity Unit möglich '* Kommazahlen als Activity Value möglich (engl. Format z.B. 0.1) option explicit 'Einstellungen const NTG45_CATEGORY = "Blitzer" const NTG45_ICON_ID = 16 const FILE_KML = "google_earth_scdb.kml" const FILE_GPX = "blitzer.gpx" 'Interne Konstanten const SEPARATOR_COORDINATES = "," const SEPARATOR_SCDB_STYLE = "_" const NODE_WAYPOINT = "Placemark" const NODE_WAYPOINT_NAME = "styleUrl" const NODE_WAYPOINT_POS = "coordinates" const IDX_SCDB_TYPE = 1 const IDX_LATITUDE = 1 const IDX_LONGITUDE = 0 dim objXmlDoc, objXmlNodeList, objXmlNode, objXmlChildNode, objFile set objXmlDoc=CreateObject("Microsoft.XMLDOM") objXmlDoc.async = False if not objXmlDoc.load(FILE_KML) then wscript.echo "Verarbeitung abgebrochen" & vbCrLf & "KML-Datei: " & objXmlDoc.parseError.url & vbCrLf & objXmlDoc.parseError.reason set objXmlDoc = Nothing wscript.quit 1 end if set objXmlNodeList = objXmlDoc.getElementsByTagName(NODE_WAYPOINT) if objXmlNodeList.length > 0 then set objFile = CreateObject("Scripting.FileSystemObject").CreateTextFile(FILE_GPX, True) objFile.writeLine "" objFile.writeLine "" for each objXmlNode in objXmlNodeList set objXmlChildNode = objXmlNode.getElementsByTagName(NODE_WAYPOINT_POS)(0) objFile.writeLine "" objFile.writeLine "" & split(objXmlNode.getElementsByTagName(NODE_WAYPOINT_NAME)(0).text, SEPARATOR_SCDB_STYLE)(IDX_SCDB_TYPE) & "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" objFile.writeLine "" next set objXmlChildNode = Nothing objFile.writeLine "" objFile.close set objFile = Nothing wscript.echo objXmlNodeList.length & " Wegpunkt(e) erfolgreich konvertiert" else wscript.echo "Verarbeitung abgebrochen" & vbCrLf & "KML-Datei: " & objXmlDoc.url & vbCrLf & "Es sind keine Elemente vom Typ " & NODE_WAYPOINT & " enthalten." set objXmlNodeList = Nothing set objXmlDoc = Nothing wscript.quit 1 end if set objXmlNodeList = Nothing set objXmlDoc = Nothing