[OSM-dev] RuntimeError: need at least two points for linestring (way_id=619453148)
koji higuchi
koji51guchi at gmail.com
Thu Nov 1 03:13:40 UTC 2018
*I tried to extract data from .osm.pbf file and write to shapefile as
follows:*
import os, osmium, fiona
fi = 'europe-latest.osm.pbf'
fo = 'europe-latest.shp'
drv = 'ESRI Shapefile'
crs = {'no_defs': True, 'ellps': 'WGS84', 'datum': 'WGS84', 'proj':
'longlat'}
schema = {'geometry': 'LineString',
'properties': {'id': 'float', 'name' : 'str', 'kind' :
'str'}}
outfile = fiona.open(fo, 'w', driver=drv, crs=crs, schema=schema)
geomfab = osmium.geom.GeoJSONFactory()
class ShapeConverter(osmium.SimpleHandler):
def way(self, w):
if 'place' in w.tags:
rec = {'geometry' : eval(geomfab.create_linestring(w)),
'properties' : {'id' : float(w.id),
'name' : w.tags.get('name'),
'kind' : w.tags['place']}}
outfile.write(rec)
ShapeConverter().apply_file(fi, locations=True)
I got the following error after extracting several contents:
rec = {'geometry' : eval(geomfab.create_linestring(w)),
RuntimeError: need at least two points for linestring (way_id=619453148)
How could I skip that erroneous id and extract data for other working ids?
Your help is appreciated.
Thank you so much.
Koji
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20181101/19b8f99d/attachment.html>
More information about the dev
mailing list