I know about using
ogr2ogr, and also about the nodejs module
osm_geojson. However, I would like to convert GeoJSON to OSM XML from Python. Is there a library which has this capability built in? Or would I have to write custom code based on the OSM XML specification?
I am processing the GeoJSON using
geopandas, so exporting directly from
geopandas to OSM would also work.
I have looked at the GDAL/OGR Python library. It may be able to do what I want, but the documentation is impenetrable. The Cookbook has something similar to what I am looking for, but I can't quite seem to piece it together.
My code currently looks like this:
from osgeo import ogr import os # Read GeoJSON file geojson_file = 'file.geojson' GeoJSON_driver = ogr.GetDriverByName('GeoJSON') data = GeoJSON_driver.Open(geojson_file, 0) layer = data.GetLayer() # OSM file to write osm_file = 'file.osm' OSM_driver = ogr.GetDriverByName('OSM') # Remove output file if it already exists if os.path.exists(osm_file): OSM_driver.DeleteDataSource(osm_file) # Export data to OSM file # This is where I'm stuck