我在Maven项目中利用了FeatureJSON
依赖中的org.geotools:gt-geojson:15-SNAPSHOT
,并且可以为SimpleFeature
和SimpleFeatureCollection
的实例提供GeoJSON。但是我发现自己想为WFS提供多种功能类型,因此我从CompositeFeatureCollection
依赖项中添加了org.geotools:gt-wfs:15-SNAPSHOT
,但是当我尝试使用FeatureJSON.writeFeatureCollection(FeatureCollection, OutputStream)
编写CompositeFeatureCollection
时,在NullPointerException
中得到了writeFeatureCollection()
由于实施getSchema()
在null
中返回CompositeFeatureCollection
的原因。
你们中有谁知道GeoTools的这两个类(FeatureJSON
和CompositeFeatureCollection
)是否设计为可一起使用,如果可以,那么如何做?到目前为止,Google仅在一起搜索这两个文档时才显示文档结果。
为了帮助解决此问题,我创建了一个simplified test project I pushed to GitHub来显示单元测试中的工作情况和不工作情况,以及CompositeFeatureCollection
的hack子类,该子类返回虚拟的SimpleFeatureType
并显示即使绕过此NullPointerException
的方式它错误地用于映射传递到SimpleFeatureCollection
的列表中每个CompositeFeatureCollection(List<FeatureCollection>)
的内容,而不是每个SimpleFeatureType
内部的SimpleFeatureCollection
的映射。
最佳答案
当前,GeoJSON模块不仅仅支持简单的功能,因此需要进行一些开发工作以引入复杂的功能。如果您有兴趣,那么一个很好的起点是在当前提供ContentStore的不受支持的GeoJSONStore中基于数据存储的原始GeoJSON模块包装。