Я делал небольшие карты, чтобы ориентироваться в использовании shapely.
Например:
from shapely.geometry import MultiLineString
from pprint import pprint
import pylab
coords = [((1,1),(1,13)),((3,1),(3,13)),((5,1),(5,13)),((7,1),(7,13)),((9,1),(9,13)), ((11,1),(11,13)),((13,1),(13,13)),((1,1),(13,1)),((1,3),(13,3)), ((1,5),(13,5)),((1,7),(13,7)),((1,9),(13,9)),((1,11),(13,11)),((1,13),(13,13)),((1,1),(13,13)),((3.5,1),(13,10.5)),((6.5,1),(13,7.5)),((9.5,1),(13,4.5)),((1,3.5),(10.5,13)),((1,6.5),(7.5,13)),((1,9.5),(4.5,13))]
lines_1 = MultiLineString(coords)
mow = lines_1.buffer(0.25)}
Я обнаружил, что плохо печатаю, и мне трудно писать длинные списки координат.
Я заметил numpy mgrid и задался вопросом, есть ли способ использовать его для создания произвольных прямоугольных сеток xy, а затем преобразовать mgrid в список для стройной LineString.
Сетка, как правило, представляет собой что-то вроде шахматной доски. Затем некоторые горизонтальные линии в сетке буферизируются, чтобы стать полигонами, затем буферизуются вертикальные линии, затем объединяются два каскада, и у меня есть шахматная доска. Затем я беру разные диагонали, объединяю их с шахматной доской и извлекаю получившиеся многоугольники из линейных колец.
Поскольку размеры карты увеличиваются, и, будучи не лучшим наборщиком, я надеялся, что может быть способ использовать mgrid, чтобы сделать некоторые из моих наборов текста намного лучше.
т.е. x, y = np.mgrid[:55, :35] # прямоугольный
Это дает ожидаемые значения x и y. Я смущен тем, как я могу вернуть эти результаты в массив Nx2 для Linestring (s) в виде списка для shapely.
Заранее благодарим вас за любое руководство. Крис