Нахождение расстояний до ближайших точек в Arcview GIS

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
updates-bot
Bot
Сообщения: 276
Зарегистрирован: 03 фев 2008, 23:13
Репутация: 3

Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение updates-bot » 21 ноя 2008, 06:34

Обсуждение статьи "Нахождение расстояний до ближайших точек в Arcview GIS"

http://gis-lab.info/qa/find-nearest.html

Rapt
Новоприбывший
Сообщения: 9
Зарегистрирован: 22 ноя 2008, 02:55
Репутация: 0

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Rapt » 22 ноя 2008, 03:17

Ой как классно! А я даже и не подозревала что это можно автоматизировать. Вот бы годом раньше такое здесь появилось.
А можно на базе этого экстеншена сделать чтобы он считал ближайшие расстояния между точками из разных тем?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Максим Дубинин » 22 ноя 2008, 07:27

можно
надо, чтобы считались расстояния между точками не одной темы, а двух тем? то есть, берется точка из темы1 и считается расстояние до 10 ближайших точек из темы2?
пристегивайтесь, турбулентность прямо по курсу

Rapt
Новоприбывший
Сообщения: 9
Зарегистрирован: 22 ноя 2008, 02:55
Репутация: 0

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Rapt » 22 ноя 2008, 21:50

Да, именно так и требуется.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Максим Дубинин » 22 ноя 2008, 21:59

готово, обновление можно скачать со страницы
пристегивайтесь, турбулентность прямо по курсу

Rapt
Новоприбывший
Сообщения: 9
Зарегистрирован: 22 ноя 2008, 02:55
Репутация: 0

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Rapt » 24 ноя 2008, 15:55

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.

А можно ли как нибудь отфильтровать дубликаты расстояний по таблице? На автомате создать другую таблицу из которой дубликаты будут удалены?
Не знаю насколько это возможно, но фильтр по значению точно недопустим т.к. такое же расстояние может быть и между другой парой точек.
Вложения
Рисунок про дубликаты.jpg
Рисунок про дубликаты.jpg (35.86 КБ) 14130 просмотров

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Максим Дубинин » 25 ноя 2008, 07:07

подумал, самое простое, сделать перебором влоб, алгоритм типа такого:
1. взять первую запись
2. взять первую пару, например 0-1
3. взять вторую цифру в паре (1) и поискать в записи с этим номером по всем полям (которых 10) обратную пару, соответственно 1-0
4. если найдена - обнулить соответствующую дистанцию
5. вернуться к 2 и взять след. пару ...
и т.п.
годится результат таблица в которой дубликаты расстояний просто обнулены?
пристегивайтесь, турбулентность прямо по курсу

Rapt
Новоприбывший
Сообщения: 9
Зарегистрирован: 22 ноя 2008, 02:55
Репутация: 0

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Rapt » 25 ноя 2008, 16:39

Добрый вечер Sim!
Да такой результат годится.

Lidia_
Новоприбывший
Сообщения: 1
Зарегистрирован: 08 дек 2008, 10:53
Репутация: 0
Откуда: Ростов-на-Дону

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Lidia_ » 08 дек 2008, 11:02

:?: Как можно сделать ту же операцию (нахождение расстояний до ближайших точек) в ArcGIS9.2?

Quércus
Интересующийся
Сообщения: 16
Зарегистрирован: 10 фев 2010, 13:53
Репутация: 0

Re: Нахождение расстояний до ближайших точек в Arcview GIS

Сообщение Quércus » 14 фев 2010, 17:42

Создал точечную тему через "Добавить тему Событие...", когда попытался через модуль посчитать выбивает "Поле dist1 не в виртуальной таблице (vtab)" или "AVArray: Индекс 5 в не интервала 0..4" Можно что нибудь сделать??? Спасибки за любую инф. или где можно поискать....?

Ответить

Вернуться в «Материалы сайта»