операция, обратная инструменту "видимость"

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 20 дек 2020, 10:35

Скажите, есть ли способ, который выдаст растр рельефа если в качестве исходных данных точка, отметка, с которой производится наблюдение и карта видимости?
тоесть нужен инструмент, который бы произвел операцию, обратную производимой инструментом "видимость"


Нужна операция, обратная представленной на рисунке:
GUID-D02C64B9-DFAA-4B26-BB36-F92788274429-web[1].gif
GUID-D02C64B9-DFAA-4B26-BB36-F92788274429-web[1].gif (25.34 КБ) 5700 просмотров

Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 546
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 532
Откуда: Planet Earth
Контактная информация:

Re: операция, обратная инструменту "видимость"

Сообщение Эдуард Казаков » 20 дек 2020, 15:25

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

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 20 дек 2020, 16:51

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

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 27 дек 2020, 19:36

мне нужен любой из возможных вариантов, приближенный к минимальным разницам экстремальных высот.

возможен такой вариант?

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 27 дек 2020, 20:28

попробуйте сформулировать, чего вы хотите. Пока ничего понять нельзя, а Ванга умерла ...

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 00:30

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

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 28 дек 2020, 05:36

zubenko1592 писал(а):
27 дек 2020, 19:36
возможен такой вариант
нет. Вот простой метод, переделанный из алгоритма определения видимости: делаем вокруг точки наблюдения бруствер (валик) и трассируем лучи да каждой точки растра, делая в них произвольный рельеф ниже линии визирования. Пока ничего не видно, кроме точки стояния. Теперь все видимые пиксели сортируем по расстоянию, и трассируем к ним луч из точки стояния. По дороге вычисляем высоту всех, кто на пути, и ставим в пикселе призвольную высоту выше линий через эти пиксели (на самом деле измеряют не высоту, а максимальный тангенс угла, а из него и расстояния получают нужную высоту). Таким образом разброс высот произвольный, особенно в невидимой части

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 08:58

gamm писал(а):
28 дек 2020, 05:36
нет. Вот простой метод, переделанный из алгоритма определения видимости: делаем вокруг точки наблюдения бруствер (валик) и трассируем лучи да каждой точки растра, делая в них произвольный рельеф ниже линии визирования. Пока ничего не видно, кроме точки стояния. Теперь все видимые пиксели сортируем по расстоянию, и трассируем к ним луч из точки стояния. По дороге вычисляем высоту всех, кто на пути, и ставим в пикселе призвольную высоту выше линий через эти пиксели (на самом деле измеряют не высоту, а максимальный тангенс угла, а из него и расстояния получают нужную высоту). Таким образом разброс высот произвольный, особенно в невидимой части
а это реализуемо без использования программирования, используя только инструменты arctoolbox`a?

просто мне не до конца понятно как реализовать очередность обработки пикселей и использовать для вычислений значение ячейки ближайшего в очереди объекта при расчетах в калькуляторе поля:
zubenko1592 писал(а):
28 дек 2020, 08:58
По дороге вычисляем высоту всех, кто на пути

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 28 дек 2020, 10:20

zubenko1592 писал(а):
28 дек 2020, 08:58
а это реализуемо без использования программирования
нет
zubenko1592 писал(а):
28 дек 2020, 08:58
просто мне не до конца понятно как реализовать очередность обработки пикселей и использовать для вычислений значение ячейки ближайшего в очереди объекта при расчетах в калькуляторе поля
никак. А алгоритм - см. алгоритм вычисления видимости, например исходники GRASS

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 10:38

спасибо. буду ковырять

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 10:45

gamm писал(а):
28 дек 2020, 10:20
исходники GRASS
Подскажите, пожалуйста, где их найти?

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 28 дек 2020, 13:22


Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 15:37

gamm писал(а):
28 дек 2020, 13:22
тут
а есть вариант среди этих директорий найти конкретно код операции видимость? или нужно это дело на линукс из исходников собирать чтобы найти код?
я в этом просто не особо силен..

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: операция, обратная инструменту "видимость"

Сообщение gamm » 28 дек 2020, 19:07

zubenko1592 писал(а):
28 дек 2020, 15:37
я в этом просто не особо силен..
тогда лучше не начинать ... а делает это функция r.viewshed

Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

Re: операция, обратная инструменту "видимость"

Сообщение zubenko1592 » 28 дек 2020, 19:21

gamm писал(а):
28 дек 2020, 19:07
тогда лучше не начинать ...
не, начинать как раз тогда очень нужно!))

подскажите что почитать об этом?

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 10 гостей