У меня есть векторный (полилиний) шейп-файл, и мне нужно извлечь начальную и конечную точки (узлы) каждой линии и создать шейп-файл с этими точками. Затем мне нужно добавить в таблицу атрибутов полилинии начальную и конечную точки для каждой линии на основе идентификатора точек.
Как я могу сделать это простым способом в ArcGIS Desktop или QGIS?
qgis
arcgis-desktop
user51651
источник
источник
Ответы:
Это однострочник для GDAL. Эта команда создает шейп-файл из начальных узлов с выбранными атрибутами:
Используйте ST_EndPoint для конечных точек.
источник
Есть плагин QGIS «Найдите точки вдоль линий» . Чтобы получить начальную и конечную точки, выберите « Добавить конечные точки» и используйте интервал длиннее, чем ваша самая длинная линия.
источник
Решение QGIS: можно извлечь начальный и конечный узлы (координаты) файла векторного файла, просто используя xat и yat в полевом калькуляторе с соответствующими индексами 0 (начало) и -1 (конец).
источник
Для решения ArcGIS я создал инструмент геообработки, который создает точки на линиях.
Вы можете скачать его и посмотреть код здесь: Создание точек на линиях
Для Типа вам нужно выбрать «Начать / закончить». Это создаст новый класс точечных объектов, который содержит начальную и конечную точки для каждой полилинии.
Класс выходных точечных объектов также будет иметь поле LineOID, в котором записывается OID полилинии, из которой он был создан. Таким образом, вы можете присоединить свои данные атрибута обратно.
Вот скриншот того, как бы вы установили параметры:
источник
Для добавления координаты конечных точек в таблицу атрибутов, используя ArcGIS, вы можете использовать калькулятор поля (не нужно создавать геометрию). Нажмите на имя поля, калькулятор поля, затем используйте синтаксис Python с единственными строками ниже (пример с координатой X):
обратите внимание, что все внутри!
источник
В QGIS используйте инструмент Extract Specific Vertices . Установите индексы вершин на 0, чтобы получить начальные точки, и -1, чтобы получить конечные точки, или 0, -1, чтобы получить оба.
Обратите внимание на описание:
источник
В ArcGIS, если у вас есть расширенная лицензия, вы можете использовать инструмент Набор инструментов управления данными -> Набор инструментов -> Инструмент Вершины к точкам с опцией Оба конца. Все атрибуты строки сохраняются. Однако вам нужно будет добавить поле в исходный класс линейных объектов и рассчитать идентификатор объекта в вашей линии, чтобы сохранить это значение в точках. Если у вас есть другое поле уникального значения в ваших строках, вы можете присоединиться и рассчитать FID после запуска инструмента. Последний вариант будет включать в себя пространственное соединение с параметром «Один ко многим» и удаление копий с плохими атрибутами.
источник