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

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

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

Сообщение zubenko1592 »

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


Нужна операция, обратная представленной на рисунке:
GUID-D02C64B9-DFAA-4B26-BB36-F92788274429-web[1].gif
GUID-D02C64B9-DFAA-4B26-BB36-F92788274429-web[1].gif (25.34 КБ) 6882 просмотра
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

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

Сообщение Эдуард Казаков »

Основной проблемой видится то, что вариантов такой поверхности может быть бесконечное количество... Может быть, сделать шаг назад - откуда возникла потребность в такой операции?
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

если речь про "определить точку, откуда смотрели, если известно, что увидели", то единственный вариант - решать прямую задачу для каждого пикселя из области "что увидели", и суммировать результат. Максимум (максимумы) полученного растра дадут область, откуда скорее всего смотрели.
Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

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

Сообщение zubenko1592 »

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

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

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

Сообщение gamm »

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

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

Сообщение zubenko1592 »

у меня есть карта видимости (контур того что увидели и контур того что не увидели в виде полигонального шейпа) и точка наблюдения (где стояли в виде точечного шейпа, точка с Z), а мне нужно получить исходный растр поверхности (если их бесконечное множество, то рандомный из них), на котором из заданной точки наблюдения получится моя исходная карта видимости.
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

zubenko1592 писал(а): 27 дек 2020, 19:36возможен такой вариант
нет. Вот простой метод, переделанный из алгоритма определения видимости: делаем вокруг точки наблюдения бруствер (валик) и трассируем лучи да каждой точки растра, делая в них произвольный рельеф ниже линии визирования. Пока ничего не видно, кроме точки стояния. Теперь все видимые пиксели сортируем по расстоянию, и трассируем к ним луч из точки стояния. По дороге вычисляем высоту всех, кто на пути, и ставим в пикселе призвольную высоту выше линий через эти пиксели (на самом деле измеряют не высоту, а максимальный тангенс угла, а из него и расстояния получают нужную высоту). Таким образом разброс высот произвольный, особенно в невидимой части
Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

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

Сообщение zubenko1592 »

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

просто мне не до конца понятно как реализовать очередность обработки пикселей и использовать для вычислений значение ячейки ближайшего в очереди объекта при расчетах в калькуляторе поля:
zubenko1592 писал(а): 28 дек 2020, 08:58По дороге вычисляем высоту всех, кто на пути
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

Сообщение zubenko1592 »

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

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

Сообщение zubenko1592 »

gamm писал(а): 28 дек 2020, 10:20исходники GRASS
Подскажите, пожалуйста, где их найти?
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

Сообщение zubenko1592 »

gamm писал(а): 28 дек 2020, 13:22тут
а есть вариант среди этих директорий найти конкретно код операции видимость? или нужно это дело на линукс из исходников собирать чтобы найти код?
я в этом просто не особо силен..
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

zubenko1592 писал(а): 28 дек 2020, 15:37я в этом просто не особо силен..
тогда лучше не начинать ... а делает это функция r.viewshed
Аватара пользователя
zubenko1592
Активный участник
Сообщения: 164
Зарегистрирован: 23 апр 2011, 10:18
Репутация: -1

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

Сообщение zubenko1592 »

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

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

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость