Something went wrong, so here is the code:

#!/bin/jython
> '''
> RWN2Garmin.py  - Numbered networks to Garmin GPX file converter
> This code is released under the GNU General
> Public License v2 or later.
>
> The GPL v3 is accessible here:
> http://www.gnu.org/licenses/gpl.html
>
> The GPL v2 is accessible here:
> http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
>
> It comes with no warranty whatsoever.
>
> This code illustrates how to use Jython to:
> * work with selected items or how to process all the primitives of a
> certain kind (node, way, relation)
>
> '''
> from javax.swing import JOptionPane, JDialog
> from java.awt.event import ActionListener, ActionEvent
> from org.openstreetmap.josm import Main
> import org.openstreetmap.josm.command as Command
> import org.openstreetmap.josm.data.osm.Node as Node
> import org.openstreetmap.josm.data.osm.Way as Way
> import org.openstreetmap.josm.data.osm.TagCollection as TagCollection
> import org.openstreetmap.josm.data.osm.DataSet as DataSet
> import time
>
> def getMapView():
>     if Main.main and Main.main.map:
>         return Main.main.map.mapView
>     else:
>         return None
>
> mv = getMapView()
> f = open('C:/export.gpx', 'w')
> f.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n')
> f.write('<gpx xmlns="http://www.topografix.com/GPX/1/1"; creator="OSM Route
> Manager" version="1.1" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
> http://www.topografix.com/GPX/1/1
> http://www.topografix.com/GPX/1/1/gpx.xsd";>\n')
> f.write('<!-- All data by OpenStreetMap, licensed under cc-by-sa-2.0 (
> http://creativecommons.org/licenses/by-sa/2.0/). -->\n')
> if mv and mv.editLayer and mv.editLayer.data:
>     #selectedNodes = mv.editLayer.data.getSelectedNodes()
>     #selectedWays = mv.editLayer.data.getSelectedWays()
>     selectedRelations = mv.editLayer.data.getSelectedRelations()
>
>     if not(selectedRelations):
>         JOptionPane.showMessageDialog(Main.parent, "Please select a
> collection relation")
>     else:
>         # nodetype = Node().getType()
>         print
>         for collection in selectedRelations:
>             print 'COLLECTION:', collection
>             for member in collection.getMembers():
>                 print 'MEMBER:',member
>                 if member.isNode():
>                     node = member.getNode()
>                     coords = node.getCoor()
>                     lon = coords.getX()
>                     lat = coords.getY()
>                     rwn_ref = node.get('rwn_ref')
>                     f.write('\t<wpt lat="' + str(lat) + '" lon="' +
> str(lon) + '">\n')
>                     if rwn_ref:
>                         f.write('\t\t<name>' + rwn_ref + '</name>\n')
>                     f.write('\t</wpt>\n')
>             for member in collection.getMembers():
>                 if member.isRelation():
>                     routerelation = member.getRelation()
>                     f.write('\t<trk>\n')
>                     networkname =  routerelation.get('network:name')
>                     if not(networkname): networkname =  ''
>                     note = routerelation.get('note')
>                     if not(note): note =  ''
>                     f.write('\t\t<name>' + networkname + ' ' + note +
> '</name>\n')
>                     f.write('\t\t<src>OpenStreetMap.org</src>\n')
>                     f.write('\t\t<type>foot</type>\n')
>                     for routerelmember in routerelation.getMembers():
>                         if routerelmember.isWay():
>                             f.write('\t\t<trkseg>\n')
>                             way=routerelmember.getWay()
>                             for waynode in way.getNodes():
>                                  coords = waynode.getCoor()
>                                  lon = coords.getX()
>                                  lat = coords.getY()
>                                  f.write('\t\t\t<trkpt lat=' + str(lat) +
> '" lon="' + str(lon) + '"> </trkpt>\n')
>
>                             f.write('\t\t</trkseg>\n')
>                     f.write('\t</trk>\n')
> f.write('</gpx>\n')
> f.close()
>
_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-be

Reply via email to