是否可以使用TopoJSON 客户端合并/加入几何图形。因此,例如,这个:
{"type":"Topology","objects":{"areas":{"type":"GeometryCollection","geometries":[{"type":"MultiPolygon","properties":{"common":"S B","class":"range s-b"},"arcs":[[[3053,3054,3055]],[[3075,3076,3077]]]},{"type":"Polygon","properties":{"common":"S B","class":"range s-b"},"arcs":[[3293,3294,3295,]]},{"type":"MultiPolygon","properties":{"common":"S B","class":"range s-b"},"arcs":[[[3011,3012,3013]],[[3014,3015,3016]]]},
会变成(类似)这样:
{"type":"Topology","objects":{"areas":{"type":"GeometryCollection","geometries":[{"type":"MultiPolygon","properties":{"common":"S B","class":"range s-b"},"arcs":[[[3053,3054,3055]],[[3075,3076,3077]]],[[3293,3294,3295,]],[[[3011,3012,3013]],[[3014,3015,3016]]]},
换句话说,删除重复项,将多面体和多边形弧数组组合成一个合并的多面体数组。
从许多形状开始(总共有 5 个多面体数组):
到,只有一个:
如果我可以删除任何多余的内部边框和一些细节,那将是一个额外的好处 - 因为我的目标是减小文件大小。
我的脚本如下所示:
geo2topo areas=input.json \
| topoquantize 1e5 \
> output.json
我试过了:
topomerge total_areas=areas -k 'd.properties.common' \
< output.json \
> output2.json
...但这并没有达到目的。
我可以尝试操作 GeoJSON,但从可用文档看来,简化和压缩最好在 JSON 格式化为 TopoJSON 之后执行。