有人可以解释如何实际访问Haskell软件包中FeatureCollection
的元素(即实际的GeoJSON对象)
geojson-types?
我可以decode
JSON ByteString
或使用包的功能readFeatureCollection
:
readFeatureCollection :: BaseType t
=> FilePath
-> IO (Either String (FeatureCollection Value t))
获取FeatureCollection v t
的实例,但是如何访问数据本身?
似乎该程序包提供了一些Iso
和Prism
(lens库),但是不幸的是,对于我来说,如何在组装好的FeatureCollection容器上使用它们并不明显。
例如,给定最小的GeoJSON数据文件zero.geojson
:
{
"type": "FeatureCollection",
"features": []
}
ghci会话:
ghci> Right fc <- readFeatureCollection "data/zero.geojson"
fc :: FeatureCollection Value Integer
ghci> print fc
Object (fromList [("features",Array []),("type",String "FeatureCollection")])
但是如何处理fc
中的GeoJSON数据?