Сопоставление координат GeoPandas и координат MatPlotLib ⇐ Python

Программы на Python
Anonymous
Сопоставление координат GeoPandas и координат MatPlotLib

Сообщение Anonymous »

Я хотел бы нарисовать карту с геопандами, которую затем хочу наложить на стандартные графики matplotlib в качестве подграфиков.

Код: Выделить всё

map = gpd.read_file("my_shapefile.shp")
map["values"] = np.random.rand(len(map))
fig, ax = plt.subplots(1, 1, figsize=(15, 15))
map.plot(column="values", ax=ax, legend=True, cmap="Reds")

map["county_centers"] = map.geometry.centroid # With this, I get coordinates
# of a point in the center of the polygons
# in "Map"-coordinates

subax = fig.add_axes([0.45, # left
0.45, # bottom
0.1, # width
0.1]) # height

subax.pie([0.2,0.8], labels=["A", "B"])
fig.show()
Было бы здорово, если бы я мог просто использовать центроиды многоугольников для размещения своих подграфиков, но они находятся в другой системе координат.
Я пытался их нормализовать:

Код: Выделить всё

minx, miny, maxx, maxy = map.total_bounds

p = map["county_centers"][0]
x = (p.x - minx) / (maxx - minx)
y = (p.y - miny) / (maxy - miny)
и множество различных вычислений, пропуская вычитание в том или ином месте. Все они оказываются за пределами карты.
Есть ли способ легко сопоставить центроиды с координатами matplotlib?

Подробнее здесь: https://stackoverflow.com/questions/790 ... oordinates

Вернуться в «Python»