2016-10-13 4 views
0

У меня есть geopandas dataframe A с полем геометрии, установленным в один Point (x, y). Затем у меня есть второй dataframe B с полем геометрии, заданным для некоторого многоугольника и некоторой другой информации. Например:geandas: как объединить информацию только в том случае, если точка находится внутри полигона?

A 
geometry 
(1,2) 
(3,4) 
... 

и

B 
info polygon 
ab  <some polygon> 
bc  <some other polygon> 
...  ... 

Как добавить новый столбец в A с B «s info поле только тогда, когда точка A находится внутри полигона в B?

Я хотел бы, чтобы в конечном итоге с чем-то вроде

A 
geometry info 
(1,2)  ab 
(3,4)  ab 
(7,9)  bc 
...   ... 
+2

Вы должны разместить некоторые реальные данные, чтобы мы могли помочь вам. –

ответ

1

Только в случае, если кто-то нуждается, и предполагая, что ваша геометрия хорошо сформированным, то вы можете сделать:

new_df = gpd.sjoin(A,B,how="inner", op='intersects')

этого было достаточно.