Это команда v.net.isograss, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
v.net.iso - Разбивает нетто по изолиниям затрат.
Разбивает сеть на полосы между изолиниями затрат (направление от центра). Центральный узел должен быть
открыт (стоит> = 0). При расчете используются затраты на центральный узел.
КЛЮЧЕВЫЕ СЛОВА
вектор, сеть, изолинии
СИНТАКСИС
v.net.iso
v.net.iso --Помогите
v.net.iso [-g] вход=имя выходной=имя [дуговой_слой=string] [тип_дуги=string[,string, ...]]
[node_layer=string] [arc_column=имя] [arc_backward_column=имя] [node_column=имя]
center_cats=ассортимент расходы=целое[,целое, ...] [-затирать] [-помощь] [-подробный]
[-тихий] [-ui]
Флаги:
-g
Используйте геодезический расчет для долгот-широтных местоположений
- перезаписать
Разрешить выходным файлам перезаписывать существующие файлы
--Помогите
Распечатать сводку использования
--подробный
Подробный вывод модуля
--тихий
Тихий выход модуля
--уи
Принудительный запуск диалогового окна GUI
Параметры:
вход=имя [требуется]
Имя входной векторной карты
Или источник данных для прямого доступа к OGR
выходной=имя [требуется]
Имя выходной векторной карты
дуговой_слой=string
Слой дуги
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
тип_дуги=строка [, строка, ...]
Тип дуги
Тип входного объекта
Опции: линия, граница
По умолчанию: линия, граница
node_layer=string
Узловой слой
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 2
arc_column=имя
Колонка стоимости дуги вперед / в обоих направлениях (число)
arc_backward_column=имя
Столбец стоимости дуги в обратном направлении (число)
node_column=имя
Столбец стоимости узла (номер)
center_cats=ассортимент [требуется]
Значения категорий
Категории центров (точек на узлах), которым будет назначена сеть, слой для этого
категории задаются опцией nlayer
расходы=целое число [, целое число, ...] [требуется]
Затраты на изолинии
ОПИСАНИЕ
v.net.iso разбивает сеть на полосы между изолиниями затрат (расстояние от центра). Центр
узлы должны быть открыты (стоимость> = 0). При расчете используются затраты на центральные узлы.
Стоимость может быть либо длиной строки, либо атрибутами, сохраненными в таблице базы данных. Эти атрибуты
значения принимаются как затраты на целые сегменты, а не как затраты на прохождение единицы длины (например,
метр) сегмента. Например, если ограничение скорости составляет 100 км / ч, стоимость
преодолеть 10-километровый отрезок дороги необходимо рассчитать как
длина / скорость = 10 км / (100 км / ч) = 0.1 ч.
Поддерживаются назначения стоимости как для дуг, так и для узлов, а также разные затраты для обоих
направления векторной линии. Для участков затраты будут рассчитываться по границам.
Входной вектор должен быть подготовлен с помощью v.net операция = подключение чтобы соединить
точки, представляющие центральные узлы сети.
ПРИМЕЧАНИЯ
Узлы и дуги можно замкнуть, используя значение cost = -1.
Узлы должны находиться на изолиниях.
ПРИМЕРЫ
Карта должна содержать хотя бы один центр (точку) векторной сети, которая может быть
Подключен с помощью v.net.
Isonetwork с использованием расстояния:
Isonetwork, использующий время:
подразделение of a сеть через расстояние:
# Морская рыба
# начальный узел:
echo "591280.5 | 4926396.0 | 1" | v.in.ascii in = - out = startnode
g.copy vect = дороги, мироуты
# подключить точку к сети
v.net myroads points = startnode out = myroads_net op = connect thresh = 200
# определяем iso-сети, используя расстояние:
v.net.iso input = myroads_net output = myroads_net_iso center_cats = 1-100000 затрат = 1000,2000,5000
Сеть разделена на 4 категории:
v.category myroads_net_iso option = report
# ... отчеты 4 категории:
# кошка | расстояние от точки в метрах
# 1 0 - <1000
# 2 1000 - <2000
# 3 2000 - <5000
# 4> = 5000
Чтобы отобразить результат, запустите, например:
g. область n = 4928200 s = 4922300 w = 589200 e = 596500
д.мон х0
d.vect myroads_net_iso col = синие кошки = 1
d.vect myroads_net_iso col = зеленые кошки = 2
d.vect myroads_net_iso col = оранжевые кошки = 3
d.vect myroads_net_iso col = пурпурные кошки = 4
d.vect myroads_net col = красный значок = основной / треугольник fcol = зеленый размер = 12 слой = 2
подразделение of a сеть через путешествие время:
Подготовьте сеть, как указано выше:
# Морская рыба
# начальный узел:
echo "591280.5 | 4926396.0 | 1" | v.in.ascii in = - out = startnode
g.copy vect = дороги, мироуты
# подключить точку к сети
v.net myroads points = startnode out = myroads_net op = connect thresh = 200
Определите затраты как время в пути, зависящее от ограничений скорости:
# настройка затрат
# создать уникальные категории для каждой дороги в слое 3
v.category in = myroads_net out = myroads_net_time opt = add cat = 1 layer = 3 type = line
# добавить новую таблицу для слоя 3
v.db.addtable myroads_net_time layer = 3 col = "целое число кошки, метка варчар(43), двойная точность длины, двойная точность скорости, двойная точность стоимости, двойная точность bcost "
# копируем тип дороги на слой 3
v.to.db myroads_net_time layer = 3 qlayer = 1 opt = запрос qcolumn = label columns = label
# загрузить длину дороги в милях
v.to.db myroads_net_time layer = 3 type = line option = length col = length unit = мили
# установить ограничение скорости в милях / час
v.db.update myroads_net_time layer = 3 col = speed val = "5.0"
v.db.update myroads_net_time layer = 3 col = speed val = "75.0" where = "label = 'Interstate'"
v.db.update myroads_net_time layer = 3 col = speed val = "75.0" where = "label = 'основная магистраль, твердое покрытие'"
v.db.update myroads_net_time layer = 3 col = speed val = "50.0" где = "label = 'второстепенное шоссе, твердое покрытие'"
v.db.update myroads_net_time layer = 3 col = speed val = "25.0" where = "label = 'легкая дорога, улучшенное покрытие'"
v.db.update myroads_net_time layer = 3 col = speed val = "5.0" where = "label = 'неулучшенная дорога'"
# определяем командировочные расходы как время в пути в минутах:
# установить будущие затраты
v.db.update myroads_net_time layer = 3 col = cost val = "длина / скорость * 60"
# установить обратные затраты
v.db.update myroads_net_time layer = 3 col = bcost val = "длина / скорость * 60"
# определяем iso-сети, используя время в пути:
v.net.iso input = myroads_net_time output = myroads_net_iso_time arc_layer = 3 node_layer = 2 arc_column = cost arc_backward_column = bcost center_cats = 1-100000 затрат = 1,2,5
Чтобы отобразить результат, запустите, например:
# добавить таблицу с надписями и раскраской
v.db.addtable myroads_net_iso_time columns = "целое число кошки, trav_time варчар(20), ГРАССРГБ варчар(11)»
# ярлыки
v.db.update map = myroads_net_iso_time layer = 1 column = trav_time value = "0 - 1", где = "cat = 1"
v.db.update map = myroads_net_iso_time layer = 1 column = trav_time value = "1 - 2", где = "cat = 2"
v.db.update map = myroads_net_iso_time layer = 1 column = trav_time value = "2 - 5", где = "cat = 3"
v.db.update map = myroads_net_iso_time layer = 1 column = trav_time value = "> 5" where = "cat = 4"
# цвета
# cats = 1: синий
v.db.update map = myroads_net_iso_time layer = 1 column = GRASSRGB value = "000: 000: 255" where = "cat = 1"
# cats = 2: зеленый
v.db.update map = myroads_net_iso_time layer = 1 column = GRASSRGB value = "000: 255: 000" where = "cat = 2"
# cats = 3: оранжевый
v.db.update map = myroads_net_iso_time layer = 1 column = GRASSRGB value = "255: 128: 000" where = "cat = 3"
# cats = 4: пурпурный
v.db.update map = myroads_net_iso_time layer = 1 column = GRASSRGB value = "255: 000: 255" where = "cat = 4"
# показать результаты
g. область n = 4928200 s = 4922300 w = 589200 e = 596500
д.мон х0
d.vect myroads_net_iso_time layer = 1 -a rgb_col = GRASSRGB
d.vect myroads_net col = красный значок = основной / треугольник fcol = зеленый размер = 12 слой = 2
Используйте v.net.isograss в Интернете с помощью сервисов onworks.net