形状点对象和 Geopandas 数据框产生空输出
Shapely point object and Geopandas data frame yield empty output
我有巴黎所有地区的 Geopandas df 'districts' 和埃菲尔铁塔的沙普利点对象 'eiffel_tower'。
当我执行
mask=districts.contains(eiffel_tower)
districts[mask]
谢谢。我试过 districts.geometry.contains(eiffel_tower);但没有运气。 'eiffel_tower'及区如下:
from shapely.geometry import Point
eiffel_tower = Point(255422.6, 6250868.9)
districts=geopandas.read_file('Paris/paris_districts_utm.geojson')
districts.head(2) shows:
id district_name population geometry
0 1 St-Germain-l'Auxerrois 1672 POLYGON ((451922.133
5411438.484,...
1 2 Halles 8984 POLYGON ((452278.419 5412160.893,...
我得到一个空输出。有什么问题吗?
TIA
雪莉
您的埃菲尔铁塔地理位置似乎与地区不符。第一个值 (255422) 比其中一个区 (451922, ...) 小得多。
为了确定这一点,执行 district.geometry.bounds
,这将 return minx
、miny
、maxx
和 maxy
,然后你可以用手检查,你可能会发现埃菲尔铁塔的位置不在这个区域。
猜测:
我的第一个想法是,您在 eiffel_tower = Point(255422.6, 6250868.9)
中打错了字,应该是 eiffel_tower = Point(455422.6, 6250868.9)
.
我有巴黎所有地区的 Geopandas df 'districts' 和埃菲尔铁塔的沙普利点对象 'eiffel_tower'。 当我执行
mask=districts.contains(eiffel_tower)
districts[mask]
谢谢。我试过 districts.geometry.contains(eiffel_tower);但没有运气。 'eiffel_tower'及区如下:
from shapely.geometry import Point
eiffel_tower = Point(255422.6, 6250868.9)
districts=geopandas.read_file('Paris/paris_districts_utm.geojson')
districts.head(2) shows: id district_name population geometry 0 1 St-Germain-l'Auxerrois 1672 POLYGON ((451922.133 5411438.484,... 1 2 Halles 8984 POLYGON ((452278.419 5412160.893,...
我得到一个空输出。有什么问题吗?
TIA 雪莉
您的埃菲尔铁塔地理位置似乎与地区不符。第一个值 (255422) 比其中一个区 (451922, ...) 小得多。
为了确定这一点,执行 district.geometry.bounds
,这将 return minx
、miny
、maxx
和 maxy
,然后你可以用手检查,你可能会发现埃菲尔铁塔的位置不在这个区域。
猜测:
我的第一个想法是,您在 eiffel_tower = Point(255422.6, 6250868.9)
中打错了字,应该是 eiffel_tower = Point(455422.6, 6250868.9)
.