topojson.py проблема с преобразованием объектов Point из геопанд, созданных geojson - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь преобразовать информацию из геопандаса в топойсон с помощью 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.

...