#geo-json #d3

app geojson_d3

处理GeoJSON(多)多边形以供D3使用

10个版本

0.2.3 2020年3月4日
0.2.1 2019年5月13日
0.1.10 2018年12月3日
0.1.8 2018年5月29日

#8 in #geojson

MIT许可证

1MB
364

Linux / macOS Build Status Windows Build status Crates Link

GeoJSON_d3

简介

d3-geo使用球面(而不是平面)多边形,并期望小于半球的输入多边形环以不同的顺序排列,这与不同的顺序,这与GeoJSON RFC 7946规范不同,可能导致意外的错误。此二进制文件检查RFC 7946兼容的多边形球形区域,如有必要,将其转换为d3-geo兼容的环顺序,反之亦然。

安装

使用cargo install geojson_d3安装,或下载一个二进制文件并将其放在您的$PATH上。
这提供了geojson_d3命令。

使用

geojson_d3接受一个必需的参数:一个包含有效GeoJSON的文件。多边形和/或多边形几何形状可以包含为Feature,Geometry,或FeatureCollectionGeometryCollection。您可以在FeatureCollectionGeometryCollection中混合几何形状。

您还可以传递

  • -p--pretty,这将格式化打印GeoJSON输出

  • -s--stats-only,这将输出标记的多边形数量,但不会输出GeoJSON

  • -r--reverse,这将反转功能,生成根据RFC 7946正确缠绕的环的几何形状。

  • 不假设多边形环的现有缠绕顺序

    • 默认情况下,输出将在d3-geo兼容的缠绕顺序中
    • 如果指定了-r--reverse,则输出将按照RFC 7946的顺序
  • 支持嵌套GeometryCollection的处理,但您不应使用这些

  • 空几何形状或集合将保持不变

  • 非(多)多边形几何形状将保持不变

  • 保留所有输入属性

进展

如果您没有将命令的输出重定向到文件,geojson_d3 将会在终端中显示解析和处理的进度步骤,以及处理完成的(多)多边形的最终数量。

有效性

虽然会验证输入 GeoJSON 的结构,但单个几何体在 DE-9IM 意义上不会进行验证。如果它们自相交,有开放环等,结果不一定正确。

速度

包含的 NYC Boroughs 文件(约69k Points)在双核1.8 GHz Intel Core i7上处理时间约为140毫秒。

二进制文件

可以从 发布 中获得预构建的二进制文件。二进制文件支持

  • macOS (x86_64)
  • Linux (x86_64)
  • Windows (x86_64和i686)

许可协议

MIT

依赖关系

约7-16MB
约206K SLoC