【问题标题】:GeoJSON --> TopoJSON conversion for Point geometries?GeoJSON --> 点几何的 TopoJSON 转换?
【发布时间】:2015-07-29 05:22:05
【问题描述】:

我正在尝试使用 Mike Bostock 的命令行 topojson 工具将具有点特征的 GeoJSON 特征集合转换为 TopoJSON,但输入文件中的坐标似乎没有被正确拾取,因为输出坐标结果为 [ null,null] 在输出中。 GeoJSON 文件包含 WGS84 中的球坐标,并在加载到 Leaflet 时正确显示。

我尝试了几个命令,例如this

topojson --spherical -o topo.json geo.json

输入文件是

http://www.skiforeningen.no/marka/bilder/geo/geo.json

我需要告诉 topojson 更多关于输入 crs 和转换的信息吗?都是在输入文件中定义的?

【问题讨论】:

    标签: geojson topojson


    【解决方案1】:

    您的 GeoJSON 文件已损坏,坐标是字符串而不是数字。你可以用这个 Python 脚本修复它:

    import json
    with open('geo.json', 'rb') as f:
        geo = json.load(f)
    
    for f in geo['features']:
        geometry = f['geometry']
        geometry['coordinates'] = [float(n) for n in geometry['coordinates']]
    
    with open('geo3.json', 'wb') as f:
        json.dump(geo, f)
    

    【讨论】:

    • 非常感谢!我应该已经看到了,但该文件实际上是由 Perl 模块 Geo::JSON 生成的,它将 Perl 数据结构转换为 GeoJSON。坐标是输入数据中的浮点数。感谢您创建了清理文件的漂亮小 Python sn-p。现在清理后的文件按原样转换为 TopoJSON。
    猜你喜欢
    • 2015-03-28
    • 2014-09-02
    • 2017-09-16
    • 1970-01-01
    • 2016-05-19
    • 2021-11-11
    • 2013-01-22
    • 2014-01-13
    • 1970-01-01
    相关资源
    最近更新 更多