Проверка того, лежит ли список точек внутри мультиполигонаPython

Программы на Python
Ответить
Anonymous
 Проверка того, лежит ли список точек внутри мультиполигона

Сообщение Anonymous »

Я пытаюсь проверить, находится ли список точек (которые хранятся в df.Coords) внутри моего шейп-файла (мультиполигона). Я написал код ниже, однако понял, что Python читает только координаты моего последнего слоя моего мультиполигона.

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

import shapefile
from shapely.geometry import shape, Point

# read your shapefile
r = shapefile.Reader("C:\\filename.shp")

# get the shapes
shapes = r.shapes()

# build a shapely polygon from your shape
hold = []
for k in range(len(shapes)-1):
polygon = shape(shapes[k])
hold.append(polygon)

for x in df.Coords:

if polygon.contains(Point(x)):

hold.append(x)

Я попытался найти код в Stack Overflow (ссылка: Проверьте, попадает ли точка в мультиполигон с помощью Python) и отредактировал его (как показано ниже). Однако мне кажется, что я отредактировал его неправильно.

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

from shapely.geometry import Polygon, Point, MultiPolygon
import shapefile

polygon = shapefile.Reader("C:\\filename.shp")

polygon = polygon.shapes()

shpfilePoints = [ shape.points for shape in polygon ]

#print(shpfilePoints)

polygons = shpfilePoints
hold = []

for polygon in polygons:
poly = Polygon(polygon)
hold.append(poly)
for x in hold:

for y in df.Coords:
if x.contains(Point(y)):
hold.append(y)
print('hold',hold)
Как я могу проверить, соответствует ли мой список точек (

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

df.Coords
) лежат внутри моего мультиполигона (с 26 слоями?)

Подробнее здесь: https://stackoverflow.com/questions/529 ... ltipolygon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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