Я пытаюсь преобразовать информацию из геопандаса в топойсон с помощью python, используя topojson.py.В этом случае, все геометрии в 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)
Я могу преобразовать в геоджон, используя:
gpd_df.to_file("points.json", driver="GeoJSON")
Но когда я пытаюсь преобразовать этот геойсон в топойсон, вот так:
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
Когда я смотрю на геойсон, координаты точки даются в виде двух значений:
"type": "Feature", "properties": { }, "geometry": { "type": "Point",
"coordinates": [ 62.269649605592754, 32.429278041035452 ] } },
Это похоже на топойсон.py ожидает точечную точку (или что-то подобное), которая имеет только один аргумент для набора координат, а не геойсон, который у меня есть.
Правильно ли я понимаю ошибки topojson.py?Если да, то есть мысли об обходном пути?Правильно ли я использую topojson.py?
Я понимаю, что я не получаю никакой выгоды от формата топойсона, если я просто кодирую геометрию точек, но я планирую использовать его в других случаях с обеими точками иPOLYS.