输入文件:
{
"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]]]]}
}
]
}
结果,我得到一个具有点几何(44.3,33.3)的对象,而不是多边形的对象。
如何忽略要素属性或其他复杂字段中的几何?
二手geotools gt-geojsondatastore 19.0版本。
GeoJSONDataStore geoJSONDataStore = new GeoJSONDataStore(jsonFile.toURI().toURL());
SimpleFeature simpleFeature = geoJSONDataStore.getFeatures()...next();
Point geometry = simpleFeature.getDefaultGeometry()
在构建器中,您已将默认几何设置为指向other_geom
,即。类型Point
对象。将其设置为MultiPolygon
(geometry
)类型。
SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
builder.setDefaultGeometry("geometry");
并在你的提取
MultiPolygon geometry = simpleFeature.getDefaultGeometry();