我正在尝试使用topojson.py将信息从geopandas df转换为使用python的topojson。在这种情况下,gpd df的所有几何形状都是匀称的点。 geo_df.head()看起来像这样:
geometry
0 POINT (61.39313083609281 34.73857657446109)
1 POINT (61.68715178647459 34.62839735680247)
2 POINT (61.02182917574118 34.6419671306646)
3 POINT (60.9017205031241 32.07261235932085)
4 POINT (61.0167260004123 32.15043416326984)
我可以使用:
转换为geojsongpd_df.to_file("points.json", driver="GeoJSON")
但是当我尝试将geojson转换为topojson时:
topojson("points.json", "pointstopo.json", quantization=1e6, simplify=0.0001)
我收到以下错误:
~/anaconda3/lib/python3.6/site-packages/topojson/mytypes.py in
Point(self, point)
35 self.polygon(coordinate);
36 def Point(self,point):
---> 37 self.point(point['coordinates'])
38 def Polygon(self,polygon):
39 self.polygon(polygon['coordinates'])
TypeError: point() takes 1 positional argument but 2 were given
当我查看geojson时,点坐标被赋予两个值:
"type": "Feature", "properties": { }, "geometry": { "type": "Point",
"coordinates": [ 62.269649605592754, 32.429278041035452 ] } },
看起来topojson.py期待一个形状上的Point(或类似的东西),它只有一个坐标的参数,而不是我的geojson。
我对topojson.py错误的理解是否正确?如果是这样,对解决方法的任何想法?我正确使用topojson.py吗?
据我所知,如果我只是编码Point几何体,我没有从topojson格式中获得任何好处,但我计划在其他情况下使用它来获得点和多边形。