我正在尝试使用Mike Bostock的命令行topojson工具将带有Point要素的GeoJSON要素集合转换为TopoJSON,但输入文件中的坐标似乎没有被正确拾取,因为输出坐标结果为[输出中为null,null]。 GeoJSON文件包含WGS84中的球面坐标,并在加载到Leaflet时正确显示。
我尝试了几个命令,例如
topojson --spherical -o topo.json geo.json
输入文件是
http://www.skiforeningen.no/marka/bilder/geo/geo.json
我是否需要告诉topojson更多有关输入crs和转换的信息?它全部在输入文件中定义?
答案 0 :(得分:0)
您的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)