Dmitri Lebedev avatar Dmitri Lebedev committed 27b2c87

readme.md

Comments (0)

Files changed (1)

+Python OSM XML converter.
+
+Usage is extremely simple:
+
+    >>> from osm2py import load_osm
+    >>> load_osm(open('my_file.osm'))
+    [<a list of all the XML elements as dictionaries (see help(load_osm) for more info)>]
+
+If you want to save the elements into a custom storage, define a callback:
+
+    >>> def cb(current, parent):
+            print current
+
+    >>> load_osm(open('my_file.osm'), cb)
+    (will just print all the dictionaries)
+
+You can also create an arbitrary filter for the elements:
+
+    >>> flt = lambda elt: (
+        elt['name'] == 'node' and
+        (54 < int(elt['attrs']['lat']) < 56)
+        and (82 < int(elt['attrs']['lon']) < 84)
+    >>> load_osm(open('my_file.osm'), element_filter=flt)
+    <list of dictionaries>
+
+**osm_json.py** dumps these dictionaries in json format.
+
+**tree.py** can import from OSM XML in Python objects representing the document and linking correctly one another.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.