wavded / ogre

ogr2ogr geojson-focused web client
http://ogre.adc4gis.com
MIT License
266 stars 79 forks source link

GeoJSON to shp FeatureCollection error #78

Closed kcindric closed 4 years ago

kcindric commented 4 years ago

Hi,

whenever I try to convert a GeoJSON feature collection which contains multiple different geometry shapes (i.e. polygon, linestring and point) I get this type of error:

"ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to POLYGON type shapefile.\nERROR 1: Unable to write feature 1 from layer OGRGeoJSON.\nERROR 1: Terminating translation prematurely after failed\ntranslation of layer OGRGeoJSON (use -skipfailures to skip errors)\n"

This is the sample GeoJSON I'm trying to convert:

{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 31.816406250000004, 55.27911529201564 ], [ 34.27734375000001, 51.944264879028765 ], [ 43.94531250000001, 51.944264879028765 ], [ 46.93359375000001, 58.35563036280967 ], [ 40.42968750000001, 60.1524422143808 ], [ 34.45312500000001, 59.085738569819505 ], [ 31.816406250000004, 55.27911529201564 ] ] ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "LineString", "coordinates": [ [ 0.5273437500000001, 21.289374355860424 ], [ 30.585937500000004, 20.632784250388028 ] ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ 14.062500000000002, 50.064191736659104 ] } } ] }

I validated the GeoJSON on geojsonlint and it's all good. It happens every time I have a stack of different geometry types, both on the website and using the api.

kcindric commented 4 years ago

Ok, found the reason this isn't working: one shapefile can't contain different geometry types! Is there a workaround how to make this work, i.e. uploading a .zip with more than one shapefile, each with different geometry type and getting a FeatureCollection output?

wavded commented 4 years ago

Correct, shapefiles, unlike GeoJSON, can only contain one geometry type. Types would need to be broken out and uploaded separately at the moment.

kcindric commented 4 years ago

Thank you for the explanation.