Это команда v.segmentgrass, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
v. сегмент - Создает точки / сегменты из входных векторных линий и позиций.
КЛЮЧЕВЫЕ СЛОВА
вектор, геометрия, узел, точка, сегмент, вершина
СИНТАКСИС
v. сегмент
v. сегмент --Помогите
v. сегмент вход=имя [слой=string] выходной=имя [условиями,=имя] [-затирать] [-помощь]
[-подробный] [-тихий] [-ui]
Флаги:
- перезаписать
Разрешить выходным файлам перезаписывать существующие файлы
--Помогите
Распечатать сводку использования
--подробный
Подробный вывод модуля
--тихий
Тихий выход модуля
--уи
Принудительный запуск диалогового окна GUI
Параметры:
вход=имя [требуется]
Имя входной карты векторных линий
Или источник данных для прямого доступа к OGR
слой=string
Номер или название слоя
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
выходной=имя [требуется]
Имя выходной векторной карты
условиями,=имя
Имя файла, содержащего правила сегмента
'-' для стандартного ввода
ОПИСАНИЕ
v. сегмент генерирует сегменты или точки из входных линий и из позиций, считываемых из
текстовый файл или стандартный ввод. Он включает создание параллельных линий или точек в заданном
пункт назначения с линии.
Формат:
п [ ]
L [ ]
Смещения могут быть процентными значениями длины линии. Если смещения отрицательные, они
начать с конечного узла линии. -0 означает конец строки.
ПРИМЕР
Пользователь мог отправить на стандартный ввод что-то вроде:
П 1 356 24.56
П 2 495 12.31
П 3 500 -12.31
П 4 510 -20%
...
(канал или перенаправление из файла в команду).
ПРИМЕЧАНИЯ
Сегмент создается только для первой найденной строки указанной категории.
Точки генерируются вдоль линий на заданном расстоянии (ах) или в процентах от линии.
длина от начала или конца векторной линии, если смещение отрицательное.
Боковое смещение - это ортогональное расстояние от линии. Положительные боковые смещения относятся к
правая сторона линии идет вперед, отрицательные смещения слева (д.вект
display = shape, dir показывает направление векторных линий). Поскольку расстояние между сегментами равно
измеренные вдоль исходной линии, линии бокового смещения будут длиннее, чем начало-конец
расстояние между сегментами для внешних углов кривых линий и меньше для внутренних углов.
Все смещения измеряются в единицах карты (см. "г.продж -p") или проценты от длины строки, если
за которым следует символ%.
Чтобы разместить точку в середине линии, можно использовать смещение 50% или v.to.db модуль может
использоваться для определения длины линии. Тогда половину этого расстояния можно использовать как
продольное смещение.
ПРИМЕРЫ
Примеры можно использовать в месте отбора проб в Северной Каролине.
Пример: извлеките отрезок линии от 400 м до 5000 м от начала линии 1:
# извлечь линии из карты железных дорог:
v. добывать железные дороги = myrr cats = 1
# объединить сегменты в полилинию и переназначить номера категорий
v.build.polylines myrr out = myrr_pol
v.category myrr_pol out = myrailroads option = добавить
# увеличить до интересующей области
g.region vector = myrailroads -p
# показать линию, категорию, направление (найти начало)
д.мон wx0
d.vect myrailroads disp = shape, cat, dir lsize = 12
# извлечь отрезок линии от 400м до 5000м от начала линии 1
эхо "L 1 1 400 5000" | v.segment myrailroads out = myrailroads_segl
г. стереть
d.vect мои железные дороги
d.vect myrailroads_segl col = зеленая ширина = 2
# установить узел на расстоянии 5000 м от начала строки 1
эхо "П 1 1 5000" | v.segment myrailroads out = myrailroads_segp
d.vect myrailroads_segp icon = основной / цвет круга = красный fcolor = красный размер = 5
Извлечь линейный сегмент от 400м до 5000м от начала линии 1
Пример: создание параллельных отрезков длиной 1 км вдоль первых 8 км пути со смещением 500 м до
слева от гусениц.
v.segment myrailroads out = myrailroads_segl_side << EOF
Л 1 1 1000 2000-500
Л 2 1 3000 4000-500
Л 3 1 5000 6000-500
Л 4 1 7000 8000-500
EOF
г. стереть
d.vect myrailroads disp = shape, dir
d.vect -c myrailroads_segl_side width = 2
Пример: набор точек, расположенных каждые 2 км вдоль путей.
v.segment myrailroads out = myrailroads_pt2km << EOF
П 1 1 1000
П 2 1 3000
П 3 1 5000
П 4 1 7000
EOF
г. стереть
d.vect myrailroads disp = shape, dir
d.vect myrailroads_pt2km icon = основной / цвет круга = синий fcolor = синий размер = 5
Серия точек, расположенных каждые 2 км вдоль трасс
Пример: серия точек, расположенных через каждые 2 км вдоль путей, смещена на 500 м вправо.
v.segment myrailroads out = myrailroads_pt2kmO500m << EOF
П 1 1 1000 500
П 2 1 3000 500
П 3 1 5000 500
П 4 1 7000 500
EOF
г. стереть
d.vect myrailroads disp = shape, dir
d.vect myrailroads_pt2kmO500m icon = basic / circle color = aqua fcolor = aqua size = 5
Ряд точек, расположенных через каждые 2 км вдоль путей, смещен на 500 м вправо.
Пример: серия точек, расположенных через каждые 10% длины линии вдоль путей от
конец линии до средней точки, смещение на 500 м вправо
v.segment myrailroads out = myrailroads_pt10pctO500m << EOF
П 1 1 -0% 500
П 2 1 -10% 500
П 3 1 -20% 500
П 4 1 -30% 500
П 5 1 -40% 500
П 6 1 -50% 500
EOF
г. стереть
d.vect myrailroads disp = shape, dir
d.vect myrailroads_pt10pctO500m icon = основной / цвет круга = красный fcolor = черный размер = 5
Серия точек, расположенных через каждые 10% длины линии вдоль путей от конца
линия до средней точки, смещение на 500 м вправо
KNOWN ВОПРОСЫ
Возникла проблема с генерацией параллельных линий бокового смещения для внутренних углов.
Используйте v.segmentgrass в Интернете с помощью сервисов onworks.net