如果属性中存在几何,则无法正确导入Geojson文件

问题描述 投票:0回答:1

输入文件:

{
  "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()
java geojson geotools
1个回答
1
投票

在构建器中,您已将默认几何设置为指向other_geom,即。类型Point对象。将其设置为MultiPolygongeometry)类型。

SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
builder.setDefaultGeometry("geometry");

并在你的提取

MultiPolygon geometry = simpleFeature.getDefaultGeometry();
© www.soinside.com 2019 - 2024. All rights reserved.