Код: Выделить всё
import shapefile
import matplotlib.pyplot as plt
from shapely.geometry import MultiPoint, Point, Polygon
from shapely.geometry.polygon import Polygon
sf = shapefile.Reader(r"\ESP_adm0.shp")
shapes = sf.shapes()
lat = []; lon = []
for i in range(len(shapes[0].points)):
lon.append(shapes[0].points[i][0]);lat.append(shapes[0].points[i][1])
Код: Выделить всё
plt.plot(lon,lat,'.', ms=0.1)
результат графика
Я делаю следующее, чтобы получить указывает на многоугольник:
Код: Выделить всё
coords = list(zip(lat,lon))
spain_pol = Polygon(coords)
Код: Выделить всё
spain_pol.contains(Point(0,42))
spain_pol.contains(Point(42,0))
Я пробовал всякое, и думаю, что должен упустить что-то фундаментальное. Возможно, проблема в том, что в Испании есть острова и более одного полигона? Я заблудился. Любая помощь приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/492 ... boundaries
Мобильная версия