gpt4 book ai didi

java - Geotools 无法解析具有自定义属性的 GeoJSON 文件

转载 作者:行者123 更新时间:2023-12-02 06:11:45 36 4
gpt4 key购买 nike

我正在使用 geotools 17.2 来解析 GeoJSON 文件,如下所示:

try (FileInputStream is = new FileInputStream(routeFile)) {
FeatureJSON io = new FeatureJSON();
return io.readFeatureCollection(is);
}

我正在使用的 GeoJSON 文件如下:

{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": { },
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
}
}, {
"type": "Feature",
"properties": { "name": "test" },
"geometry": {
"type": "Point",
"coordinates": [44.912109375, 53.64463782485651]
}
}
]
}

解析失败并显示以下错误消息/堆栈跟踪:

Caused by: java.lang.IllegalArgumentException: No such attribute:name
at org.geotools.feature.simple.SimpleFeatureBuilder.set(SimpleFeatureBuilder.java:288)
at org.geotools.geojson.feature.FeatureHandler.endObject(FeatureHandler.java:176)
at org.geotools.geojson.DelegatingHandler.endObject(DelegatingHandler.java:81)
at org.geotools.geojson.feature.FeatureCollectionHandler.endObject(FeatureCollectionHandler.java:121)
at org.json.simple.parser.JSONParser.parse(Unknown Source)
at org.geotools.geojson.feature.FeatureJSON$FeatureCollectionIterator.readNext(FeatureJSON.java:746)

但是,如果我将 name 属性移至第一个点,则解析成功。有没有办法使地理工具在自定义属性方面更加灵活? (或者这是库中的错误?)

最佳答案

您需要使用 readFeatureCollectionSchema 的第二种形式这需要一个 boolean 值来强制地理工具读取整个文件以计算出模式。

关于java - Geotools 无法解析具有自定义属性的 GeoJSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45596852/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com