Reputation: 141
Input file:
{
"type": "FeatureCollection",
"name": "smth_name",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
},
"features": [
{
"type": "Feature",
"properties": {
"testid": 2,
"other_geom": {
"type": "Point", "coordinates": [44.3, 33.3]
}
},
"geometry":{"type":"MultiPolygon",
"coordinates":[[[[33.5461,33.44],[33.441,33.447],[33.6718,33.448],[33.0188,33.441],[33.5461,33.44]]]]}
}
]
}
As a result, I get an object with a point geometry (44.3, 33.3), rather than a polygonal one.
How to ignore geometry in feature properties or other complex fields?
Used geotools gt-geojsondatastore 19.0 version.
GeoJSONDataStore geoJSONDataStore = new GeoJSONDataStore(jsonFile.toURI().toURL());
SimpleFeature simpleFeature = geoJSONDataStore.getFeatures()...next();
Point geometry = simpleFeature.getDefaultGeometry()
Upvotes: 0
Views: 238
Reputation: 1249
In your builder, you have set your default geometry to point to other_geom
, ie. of type Point
object. Set it to be of type MultiPolygon
( geometry
).
SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
builder.setDefaultGeometry("geometry");
and in your extraction
MultiPolygon geometry = simpleFeature.getDefaultGeometry();
Upvotes: 1