Страница 1 из 2

нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 15:46
nadiopt
Друзья, меня тут о помощи попросили, не могу сообразить.
пробная площадь со стороной 50 м. Так вот. у каждого дерева на площадке измерялись два расстояния - до каждого из углов. Таким образом, нам известно три отрезка, и надо их собрать в треугольник. Это можно автоматизировать?
как понимаю, надо построить точку на пересечении двух окружностей, радиусы которых - расстояния. Причем будет два пересечения, одно из которых - ложное. Второе можно, наверно, отсечь по границам пробной площади
направлений приятель не измерял, так что засечкой не получится:( как действовать (все равно в какой ГИС)?

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 16:33
SS_Rebelious
Нельзя ли уточнить условия?

1. площадь со стороной 50 м - это что за многоугольник? треугольник?
2. координаты чего именно известны? вершин этого многоугольника?

Если я всё понимаю правильно, то нужно от каждой вершины построить буверные кольца радиусами, соответствующими расстоянию до дерева. Дерево будет находиться где-то (скорее всего, в центре, м.б. центроиде) в области пересечения всех буферных колец.

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 16:42
SS_Rebelious
Хотя, пересечения всех буферов может и не быть, тогда дерево будет в пустой области между буферами.

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 17:56
nadiopt
вроде это квадрат. ну хорошо, буферные кольца мы построили, а как добиться, чтобы в их пересечении становилась точка-дерево? там у него тыща деревьев в базе:(

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 21:32
SS_Rebelious
Тут, очевидно, надо писать какой-то скрипт, или подыскивать подходящий. Написание уже зависит от используемой ГИС. Я вряд ли могу тут чем либо помочь, к сожалению.

Возможен следующий (дилетантский :oops: ) алгоритм для случая, когда все буферные кольца имеют общую область пересечения:
1. открытие точек-узлов квадрата
2. создание начального полигона - квадрата с известными координатами узлов
3. создание буферных колец
4. поочерёдное удаление частей квадрата, лежащих вне пределов колец, результат - общая область пересечения.
5. присвоение области пересечения уникального идентификатора, совпадающего с уникальным идентификатором дерева (таким образом потом можно будет отсеять те случаи, когда общей области пересечения у колец не было и обработать их отдельно)
5. зацикливание
6. создание точечного слоя по центроидам общих областей пересечения.

Вообще, скорее всего, готовое решение есть, но я не смог задать гуглу правильный вопрос...

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 21:44
SS_Rebelious
Родилась ещё одна бредовая идея.

Можно для определения координат дерева создать поверхность, точка с минимальным значением которго будет координатами дерева. Чтобы внутри квадрата гарантировано образовывалась "яма" можно с внешней стороны квадрата поставить несколько точек с гарантированно завышеныыми, одинаковыми занчениями.

В написании самого скрипта, опять же ничем помочь не могу :(

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 22:45
SS_Rebelious
Что-то никак не могу успокоиться :D
Предлагаю ещё один вариант :mrgreen: Можно решить данную задачу тригонометрически, забить формулу в эксель и получить координаты точек!

Как обычно, конкретного решения не предлагаю :oops:

Re: нанесение деревьев на карту по расстояниям

Добавлено: 02 ноя 2009, 23:25
manisha
Это же вариант прямой геодезической задачи. Т.к. вам известны все три стороны треугольника, то вы можете вычислить и все углы. Далее по формулам из любого учебника геодезии, например здесь можно глянуть http://www.spbtgik.ru/book/1151.htm. Считается в том же экселе. На выходе широта/долгота точек, в локальной (от углового дерева) системе координат.
И кстати в любом геодезическом софте и CAD'е такая задача тоже должна решаться автоматически...

Re: нанесение деревьев на карту по расстояниям

Добавлено: 03 ноя 2009, 14:44
AndreyL
У Вас задача переопределена. Уточните условия. Если это квадрат, то известны ли координаты вершин квадрата? Почему три отрезка, если у квадрата четыре вершины?
Если корректно организовать данные, то можно попробовать скриптом в АркГИС.

Re: нанесение деревьев на карту по расстояниям

Добавлено: 03 ноя 2009, 23:47
Boris
Может картинку аль чертеж? И похоже автору беседа уже неинтересна.
Из того, что я прочитал, похоже, что это задача простой геометрии, если конечно не надо учитывать искривление земли. А задачи простой геометрии отлично решаются в любом языке, лишь бы координаты были с достаточной точностью рассчитаны.

Re: нанесение деревьев на карту по расстояниям

Добавлено: 06 ноя 2009, 11:28
nadiopt
И похоже автору беседа уже неинтересна.
чево это вы так решили? у нас просто сервак сгорел и инета не было
Если это квадрат, то известны ли координаты вершин квадрата? Почему три отрезка, если у квадрата четыре вершины?
координаты известны, считал товарищ, как я поняла, от одной стороны квадрата, а вот от какой - не признается. уточню.
Считается в том же экселе
ага. я тоже так подумала. спасибочки, посмотрим учебник, а ссылку на всю эту ветку перекину адресату
спасибо всем:)

Re: нанесение деревьев на карту по расстояниям

Добавлено: 06 ноя 2009, 15:11
Olga_@@@
В AutoCAD Civil 3D есть команда Точки > Создание точек > Пересечение: Расстояние/расстояние , которая строит точки по базе и двум расстояниям (как раз так, как Вам надо).
Выглядит примерно так:
Команда:
Укажите местоположение точки на радиусе: 0,0,0
Введите радиус <0.000>: 40
Укажите местоположение точки на радиусе: 50,0,0
Введите радиус <0.000>: 40
Точка или [Все] <Все>: 10,10
Введите описание точки <.>:
Укажите отметку точки <.>:
Задаем первую точку (тычком или в координатах), задаем первое расстояние (радиус), потом вторая точка и второй радиус. Направление, с какой стороны от базы вставить новую точку показываем или мышкой или задаем координатами. Описание и отметка - по желанию. Все вроде бы неплохо, кроме одного... если точек много, то это очень долго.

А, в форматах полевых журналов я нужный Вам формат не нашла.
Создание данных съемки по углу и расстоянию
Создание данных съемки по румбу и расстоянию
Создание данных съемки по углу отклонения и расстоянию
Создание данных съемки по углу Грани 1 или Грани 2
Создание данных съемки по азимуту
Создание точки по смещению
Создание точки по данным съемки с помощью дальномерного отсчета по рейке

Re: нанесение деревьев на карту по расстояниям

Добавлено: 07 ноя 2009, 17:36
Boris
Как-то мне казалось, что в AutoCAD'е для каждой команды есть функция во встроенном VBA, так что если последовательность очевидна - линейна или рекурсивна, то списки должны обрабатываться на раз.
Я думаю, что и без GIS/CAD найти точку пересечения двух окружностей можно аналитически :)

Re: нанесение деревьев на карту по расстояниям

Добавлено: 07 ноя 2009, 17:47
AndreyL
Boris писал(а):Я думаю, что и без GIS/CAD найти точку пересечения двух окружностей можно аналитически :)
Чуть поправлю - ДВЕ(!!!) точки. Это заметно усложняет задачу.

Re: нанесение деревьев на карту по расстояниям

Добавлено: 07 ноя 2009, 18:11
Boris
И что только визуальный анализ может отбросить одну из них?