Нахождение расстояний до ближайших точек в Arcview GIS
-
- Bot
- Сообщения: 276
- Зарегистрирован: 03 фев 2008, 23:13
- Репутация: 3
Нахождение расстояний до ближайших точек в Arcview GIS
Обсуждение статьи "Нахождение расстояний до ближайших точек в Arcview GIS"
http://gis-lab.info/qa/find-nearest.html
http://gis-lab.info/qa/find-nearest.html
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 22 ноя 2008, 02:55
- Репутация: 0
Re: Нахождение расстояний до ближайших точек в Arcview GIS
Ой как классно! А я даже и не подозревала что это можно автоматизировать. Вот бы годом раньше такое здесь появилось.
А можно на базе этого экстеншена сделать чтобы он считал ближайшие расстояния между точками из разных тем?
А можно на базе этого экстеншена сделать чтобы он считал ближайшие расстояния между точками из разных тем?
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нахождение расстояний до ближайших точек в Arcview GIS
можно
надо, чтобы считались расстояния между точками не одной темы, а двух тем? то есть, берется точка из темы1 и считается расстояние до 10 ближайших точек из темы2?
надо, чтобы считались расстояния между точками не одной темы, а двух тем? то есть, берется точка из темы1 и считается расстояние до 10 ближайших точек из темы2?
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 22 ноя 2008, 02:55
- Репутация: 0
Re: Нахождение расстояний до ближайших точек в Arcview GIS
Да, именно так и требуется.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нахождение расстояний до ближайших точек в Arcview GIS
готово, обновление можно скачать со страницы
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 22 ноя 2008, 02:55
- Репутация: 0
Re: Нахождение расстояний до ближайших точек в Arcview GIS
Sim, спасибо огромное.
Но по ходу работы возник еще один вопрос???
При расчете дистанции между ближайшими соседями показатель рассчитывается для каждой точки. Соответственно возможно дублирование дистанций для пары точек. Например (см. рисунок), мы имеем 5 близко расположенные друг к другу точек (18, 19, 20, 33 и 14), расстояние между которыми 1, 2.5, 2 и 1.5 км. Ближайшим соседом для точки 18 будет точка 19, удаленная на 1 км, как собственно для точки 19 – точка 18. Соответственно для точки 20, ближайшим соседом будет точка 33, удаленная на 2 км, для точки 33 – 14, удаленная на 1.5 км и для точки 14 – 33. Таким образом, мы имеем 5 точек, в атрибутивную таблицу которых записаны 5 показателей (для каждой точки свой показатель расстояния до ближайшего соседа) – 1, 1, 2, 1.5 и 1.5 км, хотя по факту на местности мы имеем 3 дистанции 1, 2 и 1.5 км. В первом случае средняя в выборке будет (n=5) 1.4±0.42, во втором – (n=3) 1.5±0.5.
А можно ли как нибудь отфильтровать дубликаты расстояний по таблице? На автомате создать другую таблицу из которой дубликаты будут удалены?
Не знаю насколько это возможно, но фильтр по значению точно недопустим т.к. такое же расстояние может быть и между другой парой точек.
Но по ходу работы возник еще один вопрос???
При расчете дистанции между ближайшими соседями показатель рассчитывается для каждой точки. Соответственно возможно дублирование дистанций для пары точек. Например (см. рисунок), мы имеем 5 близко расположенные друг к другу точек (18, 19, 20, 33 и 14), расстояние между которыми 1, 2.5, 2 и 1.5 км. Ближайшим соседом для точки 18 будет точка 19, удаленная на 1 км, как собственно для точки 19 – точка 18. Соответственно для точки 20, ближайшим соседом будет точка 33, удаленная на 2 км, для точки 33 – 14, удаленная на 1.5 км и для точки 14 – 33. Таким образом, мы имеем 5 точек, в атрибутивную таблицу которых записаны 5 показателей (для каждой точки свой показатель расстояния до ближайшего соседа) – 1, 1, 2, 1.5 и 1.5 км, хотя по факту на местности мы имеем 3 дистанции 1, 2 и 1.5 км. В первом случае средняя в выборке будет (n=5) 1.4±0.42, во втором – (n=3) 1.5±0.5.
А можно ли как нибудь отфильтровать дубликаты расстояний по таблице? На автомате создать другую таблицу из которой дубликаты будут удалены?
Не знаю насколько это возможно, но фильтр по значению точно недопустим т.к. такое же расстояние может быть и между другой парой точек.
- Вложения
-
- Рисунок про дубликаты.jpg (35.86 КБ) 25157 просмотров
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нахождение расстояний до ближайших точек в Arcview GIS
подумал, самое простое, сделать перебором влоб, алгоритм типа такого:
1. взять первую запись
2. взять первую пару, например 0-1
3. взять вторую цифру в паре (1) и поискать в записи с этим номером по всем полям (которых 10) обратную пару, соответственно 1-0
4. если найдена - обнулить соответствующую дистанцию
5. вернуться к 2 и взять след. пару ...
и т.п.
годится результат таблица в которой дубликаты расстояний просто обнулены?
1. взять первую запись
2. взять первую пару, например 0-1
3. взять вторую цифру в паре (1) и поискать в записи с этим номером по всем полям (которых 10) обратную пару, соответственно 1-0
4. если найдена - обнулить соответствующую дистанцию
5. вернуться к 2 и взять след. пару ...
и т.п.
годится результат таблица в которой дубликаты расстояний просто обнулены?
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 22 ноя 2008, 02:55
- Репутация: 0
Re: Нахождение расстояний до ближайших точек в Arcview GIS
Добрый вечер Sim!
Да такой результат годится.
Да такой результат годится.
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 08 дек 2008, 10:53
- Репутация: 0
- Откуда: Ростов-на-Дону
Re: Нахождение расстояний до ближайших точек в Arcview GIS

-
- Интересующийся
- Сообщения: 16
- Зарегистрирован: 10 фев 2010, 13:53
- Репутация: 0
Re: Нахождение расстояний до ближайших точек в Arcview GIS
Создал точечную тему через "Добавить тему Событие...", когда попытался через модуль посчитать выбивает "Поле dist1 не в виртуальной таблице (vtab)" или "AVArray: Индекс 5 в не интервала 0..4" Можно что нибудь сделать??? Спасибки за любую инф. или где можно поискать....?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя