Найти расстояние от пиксела до границы полигона
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Найти расстояние от пиксела до границы полигона
Добрый день!
Проблема:
допустим есть растр и есть шейп с полигонами. Надо найти расстояние от каждого пиксела до ближайшей границы полигона внутри которого этот пиксел.
Вариант конвертации растра в точечный шейп не желателен, так как довольно большой набор данный.
Заранее благодарен
Проблема:
допустим есть растр и есть шейп с полигонами. Надо найти расстояние от каждого пиксела до ближайшей границы полигона внутри которого этот пиксел.
Вариант конвертации растра в точечный шейп не желателен, так как довольно большой набор данный.
Заранее благодарен
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: Найти расстояние от пиксела до границы полигона
вряд ли вы решите эту задачу без генерации точечного слоя.
тем более что задача будет сильно упрощена, когда вы исключите из поиска точки, которые не покрыты полигонами.
как вариант, можно перед конвертацией в точки, извлечь растр по маске из этих полигонов.
тем более что задача будет сильно упрощена, когда вы исключите из поиска точки, которые не покрыты полигонами.
как вариант, можно перед конвертацией в точки, извлечь растр по маске из этих полигонов.
понравилось? жми палец вверх
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
так и сделал... но расчеты идут часами... и это только на одну область/регион, а в будущем нужно считать на всю Европу. Думал может есть вариант работы напрямую с растром.novia писал(а):вряд ли вы решите эту задачу без генерации точечного слоя.
тем более что задача будет сильно упрощена, когда вы исключите из поиска точки, которые не покрыты полигонами.
как вариант, можно перед конвертацией в точки, извлечь растр по маске из этих полигонов.
Задача состоит в расчете веса каждого пиксела в зависимости от его удаления от границы. Допустим есть растровая маска застройки города (urban footprint) и векторная граница этого города. Есть условные зоны удаления от границы (500 м, 1 км, 5 км и т.д.), вес пиксела должен расчитываться исходя от его попадания в какую-либо зону.
Может есть идеи другого подхода?
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: Найти расстояние от пиксела до границы полигона
почему бы просто не построить растр евклидова расстояния от города? а потом на его основе сделать растр весов.
в настройках геообработки указать параметры расположения пикселов как в растре, с которым потом нужно проводить вычисления.
в настройках геообработки указать параметры расположения пикселов как в растре, с которым потом нужно проводить вычисления.
понравилось? жми палец вверх
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
не получается... города у меня в виде набора полигонов. Когда загружаю его в Euclidean Distance - весь набор городов воспринимается как один объект, и выходной растр - просто одноцветная картинка перекрывающую всю область полигонального шейпа
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: Найти расстояние от пиксела до границы полигона
значит что-то вы не так настроили... давайте, рассказывайте по пунктам
какая СК у данных векторных и растровых?
какие параметры указали для инструмента?
какая СК у данных векторных и растровых?
какие параметры указали для инструмента?
понравилось? жми палец вверх
-
- Активный участник
- Сообщения: 121
- Зарегистрирован: 23 ноя 2005, 16:57
- Репутация: 6
- Откуда: Москва
Re: Найти расстояние от пиксела до границы полигона
так у вас зоны? т.е для всех пикселов в зоне 1 км вес будет одинаков или в формуле важно индивидуальное расстояние от пиксела до границы?Voin писал(а): Есть условные зоны удаления от границы (500 м, 1 км, 5 км и т.д.), вес пиксела должен расчитываться исходя от его попадания в какую-либо зону.
Может есть идеи другого подхода?
просто зоны сильно все упрощают
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
да, пока в каждой конкретной зоне вес одинаков, но количество зон варьируется в зависимости от размера городаMaka писал(а):так у вас зоны? т.е для всех пикселов в зоне 1 км вес будет одинаков или в формуле важно индивидуальное расстояние от пиксела до границы?Voin писал(а): Есть условные зоны удаления от границы (500 м, 1 км, 5 км и т.д.), вес пиксела должен расчитываться исходя от его попадания в какую-либо зону.
Может есть идеи другого подхода?
просто зоны сильно все упрощают
-
- Активный участник
- Сообщения: 121
- Зарегистрирован: 23 ноя 2005, 16:57
- Репутация: 6
- Откуда: Москва
Re: Найти расстояние от пиксела до границы полигона
ну тогда бы я пошла таким путем:Voin писал(а):да, пока в каждой конкретной зоне вес одинаков, но количество зон варьируется в зависимости от размера городаMaka писал(а):так у вас зоны? т.е для всех пикселов в зоне 1 км вес будет одинаков или в формуле важно индивидуальное расстояние от пиксела до границы?Voin писал(а): Есть условные зоны удаления от границы (500 м, 1 км, 5 км и т.д.), вес пиксела должен рассчитываться исходя от его попадания в какую-либо зону.
Может есть идеи другого подхода?
просто зоны сильно все упрощают
- построила зоны командой multiple ring buffer
- удалила ненужные по весу города
- конвертнула в грид
- и далее через spatial analyst tool\math рассчитывала
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
СК одинакова, Deutsches_Hauptdreiecksnetz_Transverse_Mercator. Данные дасположены в персональной базе геоданных PGDB.novia писал(а):значит что-то вы не так настроили... давайте, рассказывайте по пунктам
какая СК у данных векторных и растровых?
какие параметры указали для инструмента?
полигон населенных пунктов, в каждом НП предполагается данное "зонирование". Регионы извлечены путем векторизации растра, это необходимо так как каждый регион тоже имеет свой вес в зависимости от размера и расположения. То что я получил на выходе Euclidean Distance
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
Как видно, Euclidean Distance считает расстояние до города, а мне нужно внутри каждого конкретного до его границы
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 13 сен 2013, 12:05
- Репутация: 3
- Откуда: Berlin
Re: Найти расстояние от пиксела до границы полигона
грубо говоря деление должно быть таким
наверное в этом направлении и пойду. Сначала классифицировать и сделать выборку по площади/кол-ву зон, потом multiple ring bufferMaka писал(а): ну тогда бы я пошла таким путем:
- построила зоны командой multiple ring buffer
- удалила ненужные по весу города
- конвертнула в грид
- и далее через spatial analyst tool\math рассчитывала
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Найти расстояние от пиксела до границы полигона
конечно есть, причем тривиальный, и именно для этого случая. Просто переносите ваши контура на растр, и делаете дистанционное преобразование (кнопку найдете, оно там должно быть, в ArcView 3.1 даже было). После чего получаете растр с ответом. Начальное значение на контуре положите половине размера ячейки, не сильно ошибетесь.Voin писал(а):так и сделал... но расчеты идут часами... и это только на одну область/регион, а в будущем нужно считать на всю Европу. Думал может есть вариант работы напрямую с растром.
-
- Активный участник
- Сообщения: 121
- Зарегистрирован: 23 ноя 2005, 16:57
- Репутация: 6
- Откуда: Москва
Re: Найти расстояние от пиксела до границы полигона
а дистанционное преобразование это arctoolbox\spatial analyst tools \distаnce \euclidean distance?
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Найти расстояние от пиксела до границы полигона
по картинке похоже, нужно доки читать. Если ячейки слишком крупные, и мелкие контура обрабатываются неверно, то растр можно сгустить в 3 раза, а потом взять значения в центрах (для надежности можно еще забить NA вне контуров).Maka писал(а):а дистанционное преобразование это arctoolbox\spatial analyst tools \distаnce \euclidean distance?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя