Я пытаюсь преобразовать общедоступный набор данных по округам Миннесоты, штат Миннесота, из EPSG:26915 в EPSG:3857 для проекта, над которым я работаю. Я загрузил шейп-файл по ссылке выше и прочитал его в своем коде, но всякий раз, когда я использую to_crs, я получаю только недопустимую геометрию, состоящую из всех информационных точек.
Обе системы координат указаны в метрах, и Я не думаю, что EPSG:26915 выходит за пределы EPSG:3857, поэтому я не уверен, что не так.
Мой сценарий:
import os
import geopandas as gpd
import shapely as sp
cwd = os.getcwd()
state_shp = os.path.join(cwd, 'shp_bdry_counties', 'County_Boundaries_in_Minnesota.shp')
state_gdf = gpd.read_file(state_shp)
print(state_gdf.crs) # verify in ESPG:26915
print(state_gdf.geometry)
# Check none of the data is invalid or empty
for index, row in state_gdf.iterrows():
if not sp.is_valid(row.geometry):
print(f"Invalid geometry at index {index}")
elif row.geometry.is_empty:
print(f"Empty geometry at index {index}")
state_gdf = state_gdf.to_crs('EPSG:3857')
print(state_gdf.crs) # verify changed to EPSG:3857
print(state_gdf.geometry)
Результаты:
#Before transformation
EPSG:26915
0 POLYGON ((254267.489 5317428.819, 254535.947 5...
1 POLYGON ((460790.980 5009684.501, 460860.420 5...
2 POLYGON ((333638.162 5071100.279, 333638.183 5...
3 POLYGON ((419160.274 5045580.789, 419800.700 5...
4 POLYGON ((302069.198 4857932.176, 302069.141 4...
...
82 POLYGON ((223954.745 5267125.892, 225542.470 5...
83 POLYGON ((530126.980 4941870.820, 530114.720 4...
84 POLYGON ((492821.770 4974434.601, 492823.170 4...
85 POLYGON ((407752.220 4855630.841, 409291.210 4...
86 POLYGON ((442704.661 4893905.280, 443458.360 4...
Name: geometry, Length: 87, dtype: geometry
#After transformation. I would not expect all points to be inf
EPSG:3857
0 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
1 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
2 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
3 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
4 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
...
82 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
83 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
84 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
85 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
86 POLYGON ((inf inf, inf inf, inf inf, inf inf, ...
Name: geometry, Length: 87, dtype: geometry
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-epsg3857
Geopandas to_crs() возвращает все бесконечные координаты от EPSG:29615 до EPSG:3857. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Geopandas.read_file шейп-файла выдает ошибку, если указан параметр crs
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Geopandas: как читать CSV и конвертировать в фрейм данных GeoPandas с многоугольниками?
Anonymous » » в форуме Python - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-