我在Maven项目中利用了FeatureJSON依赖中的org.geotools:gt-geojson:15-SNAPSHOT,并且可以为SimpleFeatureSimpleFeatureCollection的实例提供GeoJSON。但是我发现自己想为WFS提供多种功能类型,因此我从CompositeFeatureCollection依赖项中添加了org.geotools:gt-wfs:15-SNAPSHOT,但是当我尝试使用FeatureJSON.writeFeatureCollection(FeatureCollection, OutputStream)编写CompositeFeatureCollection时,在NullPointerException中得到了writeFeatureCollection()由于实施getSchema()null中返回CompositeFeatureCollection的原因。

你们中有谁知道GeoTools的这两个类(FeatureJSONCompositeFeatureCollection)是否设计为可一起使用,如果可以,那么如何做?到目前为止,Google仅在一起搜索这两个文档时才显示文档结果。

为了帮助解决此问题,我创建了一个simplified test project I pushed to GitHub来显示单元测试中的工作情况和不工作情况,以及CompositeFeatureCollection的hack子类,该子类返回虚拟的SimpleFeatureType并显示即使绕过此NullPointerException的方式它错误地用于映射传递到SimpleFeatureCollection的列表中每个CompositeFeatureCollection(List<FeatureCollection>)的内容,而不是每个SimpleFeatureType内部的SimpleFeatureCollection的映射。

最佳答案

当前,GeoJSON模块不仅仅支持简单的功能,因此需要进行一些开发工作以引入复杂的功能。如果您有兴趣,那么一个很好的起点是在当前提供ContentStore的不受支持的GeoJSONStore中基于数据存储的原始GeoJSON模块包装。

10-06 06:13