предположим, что у нас есть следующий код:
import pandas as pd
import geopandas
import matplotlib.pyplot as plt
from geodatasets import get_path
df = pd.DataFrame(
{
"City": ["Tbilisi", "Batumi", "Kutaisi", "Rustavi"],
"Country": ["Georgia", "Georgia", "Georgia", "Georgia"],
"Latitude": [41.7225, 41.6458, 42.2500, 41.5472],
"Longitude": [44.7925, 41.6417,42.7000, 45.0111]
}
)
gdf = geopandas.GeoDataFrame(
df, geometry=geopandas.points_from_xy(df.Longitude, df.Latitude), crs = "EPSG:4326"
)
world = geopandas.read_file(get_path("naturalearth.land"))
# print(world.)
# We restrict to Georgia
ax = world.clip([-90, -55, -25, 15]).plot(color = "white", edgecolor = "black")
# We can now plot our ``GeoDataFrame``.
gdf.plot(ax=ax, color = "red")
plt.show()
точные координаты я взял с данного сайта:
https://simplemaps.com/data/ge-cities
но результат, который я получаю, таков:
это потому, что у нас есть следующий клип:
ax = world.clip([-90, -55, -25, 15]).plot(color = "white", edgecolor = "black")
Основываясь на полученном рисунке, не могли бы вы сказать мне, какие значения для клипа мне следует принять? я пробовал следовать [0,40,20,40], но он возвращает ошибку пустого прямоугольника или что-то в этом роде, пожалуйста, дайте мне правильное направление






Координаты вашего клипа на карте мира совершенно отличаются от координат городов...
Я угадал некоторые координаты на основе городов, и тогда результат выглядел лучше...
Изменён скрипт:
import pandas as pd
import geopandas
import matplotlib.pyplot as plt
from geodatasets import get_path
df = pd.DataFrame(
{
"City": ["Tbilisi", "Batumi", "Kutaisi", "Rustavi"],
"Country": ["Georgia", "Georgia", "Georgia", "Georgia"],
"Latitude": [41.7225, 41.6458, 42.2500, 41.5472],
"Longitude": [44.7925, 41.6417, 42.7000, 45.0111],
}
)
gdf = geopandas.GeoDataFrame(
df, geometry=geopandas.points_from_xy(df.Longitude, df.Latitude), crs = "EPSG:4326"
)
world = geopandas.read_file(get_path("naturalearth.land"))
# print(world.)
# We restrict to Georgia
ax = world.clip([40, 40, 50, 45.0]).plot(color = "white", edgecolor = "black")
# We can now plot our ``GeoDataFrame``.
gdf.plot(ax=ax, color = "red")
plt.show()
Результат: