Это команда v.net.distancegrass, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
v.net.distance - Вычисляет кратчайшее расстояние по сети между заданными наборами
особенности.
Находит кратчайшие пути от каждой точки «от» до ближайшего объекта «к» и различные
информация об этом отношении загружается в таблицу атрибутов.
КЛЮЧЕВЫЕ СЛОВА
вектор, сеть, кратчайший путь
СИНТАКСИС
v.net.distance
v.net.distance --Помогите
v.net.distance [-g] вход=имя выходной=имя [дуговой_слой=string]
[тип_дуги=string[,string, ...]] [node_layer=string] [from_layer=string]
[from_cats=ассортимент] [отсюда=sql_query] [to_layer=string]
[печатать=string[,string, ...]] [to_cats=ассортимент] [куда=sql_query] [arc_column=имя]
[arc_backward_column=имя] [node_column=имя] [-затирать] [-помощь] [-подробный]
[-тихий] [-ui]
Флаги:
-g
Используйте геодезический расчет для долгот-широтных местоположений
- перезаписать
Разрешить выходным файлам перезаписывать существующие файлы
--Помогите
Распечатать сводку использования
--подробный
Подробный вывод модуля
--тихий
Тихий выход модуля
--уи
Принудительный запуск диалогового окна GUI
Параметры:
вход=имя [требуется]
Имя входной векторной карты
Или источник данных для прямого доступа к OGR
выходной=имя [требуется]
Имя выходной векторной карты
дуговой_слой=string
Слой дуги
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
тип_дуги=строка [, строка, ...]
Тип дуги
Тип входного объекта
Опции: линия, граница
По умолчанию: линия, граница
node_layer=string
Узловой слой
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 2
from_layer=string
По номеру или названию слоя
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
from_cats=ассортимент
Из значений категории
Пример: 1,3,7-9,13
отсюда=sql_query
Из условий WHERE оператора SQL без ключевого слова where
Пример: доход <1000 и жильё> = 10000
to_layer=string
Номер или название слоя
К номеру или названию слоя
По умолчанию: 1
печатать=строка [, строка, ...]
К типу функции
Опции: указывают, линия, граница
По умолчанию: точка
to_cats=ассортимент
К значениям категории
Пример: 1,3,7-9,13
куда=sql_query
В условия WHERE оператора SQL без ключевого слова where
Пример: доход <1000 и жильё> = 10000
arc_column=имя
Колонка стоимости дуги вперед / в обоих направлениях (число)
arc_backward_column=имя
Столбец стоимости дуги в обратном направлении (число)
node_column=имя
Столбец стоимости узла (номер)
ОПИСАНИЕ
v.net.distance находит ближайший элемент в наборе в за каждую точку в наборе от.
ПРИМЕЧАНИЯ
Эти два набора задаются соответствующими слой, в котором и cats параметры. Тип
в особенности указываются печатать параметр. Все от функции пунктов. Стол - это
связанный с выходной карта, содержащая различную информацию об отношении. В частности,
таблица состоит из трех столбцов: кошка, ткат и расстояние категория хранения каждого от особенность,
категория ближайшего в характеристика и расстояние между ними соответственно. Furthemore,
выходной карта содержит береговую тропу между каждым кошка, ткат пара. Каждый путь состоит из
несколько строк. Если линия проходит на самом берегу пути от точки, то категория этой
точка присваивается линии. Обратите внимание, что каждая строка может содержать более одной категории
значение, так как одна линия может быть на кратчайшем пути более чем для одного от характерная черта. А также
поэтому кратчайшие пути можно легко получить, запросив строки с соответствующей категорией
номер.
Стоимость дуг в прямом и обратном направлении определяется как arc_column и
arc_backward_column столбцы соответственно. Если arc_backward_column не дано, то же самое
Стоимость используется в обоих направлениях.
v.net.distance не будет работать, если вы пытаетесь найти ближайших соседей в пределах
группа узлов, т.е. где в и от тот же набор узлов, так как ближайший узел будет
будет самим узлом, и результатом будут пути нулевой длины. Чтобы найти ближайший
соседей в группе узлов, вы можете пройти через каждый узел как в и все
другие узлы как от или создайте полную матрицу расстояний с помощью v.net.allpairs и выберите
наименьшее ненулевое расстояние для каждого узла.
ПРИМЕРЫ
самый короткий путь и расстояние между школа и ближайший больница
Найдите кратчайший путь и расстояние от каждой школы до ближайшей больницы и покажите все
пути.
Улицы - серые линии, школы - зеленые круги, больницы - красные кресты, самый короткий
пути - синие линии:
# соединить школы с улицами как слой 2
v.net input = street_wake points = school_wake output = street_net1 \
операция = подключение порог = 400 arc_layer = 1 node_layer = 2
# соединить больницы с улицами как слой 3
v.net вход = street_net1 точки = больницы выход = street_net2 \
операция = подключение порог = 400 arc_layer = 1 node_layer = 3
# проверить результат
v.category in = street_net2 op = report
# кратчайшие пути от школ (точки в слое 2) до ближайших больниц (точки в слое 3)
v.net.distance in = street_net2 out = schools_to_hospitals flayer = 2 turn_layer = 3
Расстояние между точка источник of загрязнение и образец пунктов вдоль потоки
Пример с потоками набора данных образца ЧПУ.
# добавить координаты точки загрязнения источника загрязнения как вектор
загрязнение.txt:
634731.563206905 | 216390.501834892
v.in.ascii вход = загрязнение.txt выход = загрязнение
# добавить таблицу в вектор
v.db.addtable map = загрязнение
# добавить координаты точек выборки как вектор
образцы.txt:
634813.332814905 | 216333.590706166
634893.462007813 | 216273.763350851
634918.660011082 | 216254.949609689
v.in.ascii input = samples.txt output = samples
# добавить таблицу в вектор
v.db.addtable map = образцы
# подключить образцы и загрязнения к ручьям
v.net -c input = streams points = samples output = streams_samples \
operation = connect node_layer = 3 threshold = 10 \
v.net -c input = streams_samples points = загрязнение
output = streams_samples_pollution operation = connect \
node_layer = 4 порог = 10
# проверить векторные слои
v.category input = streams_samples_pollution option = report
Слой / таблица: 1 / streams_samples_pollution
тип количество мин макс
точка 0 0 0
линия 8562 40102 101351
граница 0 0 0
центроид 0 0 0
площадь 0 0 0
лицо 0 0 0
ядро 0 0 0
все 8562 40102 101351
Слой: 3
тип количество мин макс
точка 3 1 3
линия 0 0 0
граница 0 0 0
центроид 0 0 0
площадь 0 0 0
лицо 0 0 0
ядро 0 0 0
все 3 1 3
Слой: 4
тип количество мин макс
точка 1 1 1
линия 0 0 0
граница 0 0 0
центроид 0 0 0
площадь 0 0 0
лицо 0 0 0
ядро 0 0 0
все 1 1 1
# вычислить расстояние между точками отбора проб и точечным источником загрязнения
v.net.distance input = streams_samples_pollution \
output = distance_samples_to_pollution from_layer = 3 to_layer = 4
# результаты проверки
v.report map = distance_samples_to_pollution @ vnettest option = length
cat | tcat | dist | length
1 | 1 | 100.0 | 100.0
2 | 1 | 200.0 | 200.0
3 | 1 | 231.446 | 231.446
Используйте v.net.distancegrass в Интернете с помощью сервисов onworks.net