Построение "температурной" карты скоростей
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Построение "температурной" карты скоростей
Добрый день! Есть такая задача - построить карту распределения скоростей на участках дорог города с выделением областей концентрации высоких и низких скоростей с интерполяцией. Входные данные - участки дорог на перегонах между перекрестками, у каждого перегона определена скорость.
Посоветуйте, пожалуйста, инструмент, которым грамотно было бы это сделать. На выходе требуется карта визуально типа вот такой Но там я использовала инструмент определения плотности точек, которые здесь не подойдет. Как сделать что-то похожее на этих входных данных? Может быть нужно изолинии построить или TIN?
Посоветуйте, пожалуйста, инструмент, которым грамотно было бы это сделать. На выходе требуется карта визуально типа вот такой Но там я использовала инструмент определения плотности точек, которые здесь не подойдет. Как сделать что-то похожее на этих входных данных? Может быть нужно изолинии построить или TIN?
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Построение "температурной" карты скоростей
Что мешает наставить точек на перегонах и использовать тот же инструмент?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Построение "температурной" карты скоростей
По смыслу не подходит, не то получается. Перегоны в центре короче, чем на окраинах, соответственно и плотность точек будет больше, а скорость на окраинах наоборот больше, но перегоны длиннее, так что плотность точек меньше. Даже учитывая в поле генеральной совокупности скорость, картина недостоверная абсолютно
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Построение "температурной" карты скоростей
затея странная (отчего бы просто сами дороги не раскрасить+толщину не менять, как это обычно градостроители делают), но осуществимая. Снести значения скорости на точки вдоль линий с частым шагом, и интерполировать с точек. Например, используя GDAL (растеризация) + какой-нибудь интерполятор. Наверняка, и в Арке есть что-то, позволяющее наставить точек вдоль линий, и снести на них значения. Потом интерполировать.amnesiac писал(а):На выходе требуется карта визуально типа вот такой
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Построение "температурной" карты скоростей
Не знаю как насчет странности, как в Яндекс пробках сделать легко, но руководству требуется вдобавок именно обозначенное. Чтобы были видны очагово районы, где заторы.
Пока что у меня на 1 перегон 1 точка, их я и интерполировала. Просто поскольку в статистике я не сильна, не очень понимаю, правильный ли я инструмент выбрала для этой задачи.
Пока что у меня на 1 перегон 1 точка, их я и интерполировала. Просто поскольку в статистике я не сильна, не очень понимаю, правильный ли я инструмент выбрала для этой задачи.
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Построение "температурной" карты скоростей
А я что предложил?gamm писал(а):затея странная (отчего бы просто сами дороги не раскрасить+толщину не менять, как это обычно градостроители делают), но осуществимая. Снести значения скорости на точки вдоль линий с частым шагом, и интерполировать с точек. Например, используя GDAL (растеризация) + какой-нибудь интерполятор. Наверняка, и в Арке есть что-то, позволяющее наставить точек вдоль линий, и снести на них значения. Потом интерполировать.amnesiac писал(а):На выходе требуется карта визуально типа вот такой
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Построение "температурной" карты скоростей
если я правильно понял, то наставить точек с густотой, пропорциональной скорости, что сложнее.rhot писал(а):А я что предложил?
Сейчас у ТС одна точка на сегмент, и без переноса данных - это совсем плохо. Если перенести скорость на эту точку, и вместо подсчета густоты интерполировать, то будет лучше.
P.S. на том же R написать такой скриптик нужно полчаса, на Python внутри Арки не умею.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Построение "температурной" карты скоростей
если районы заданы, то можно нашинковать ваши дороги по районам, и посчитать средневзвешенные скорости.amnesiac писал(а):Чтобы были видны очагово районы, где заторы.
P.S. приближенное решение не выходя из Арки: делаем векторную сетку (вроде зовут fish net), ею режем на кусочки все дороги, сносим значения скорости на центры кусочков, интерполируем результат в грид (если в модуле геостатистики использовать кригинг с линейно вариограммой, то будет достаточно красиво). Эффект самородков (nugget) позволяет регулировать сглаживание.
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Построение "температурной" карты скоростей
Спасибо большое! Сделала так, как вы посоветовали - получилось красивенько) Но не точно, наверное инструмент надо лучше знать, какие параметры задавать. Красные пятна заторов получились там, где улиц даже нет. Поэтому пришлось переделать по-другому.
В конечном итоге я сделала точки на перегонах с интервалом 10м и интерполировала методом ОВР. Получилось довольно четко.
В конечном итоге я сделала точки на перегонах с интервалом 10м и интерполировала методом ОВР. Получилось довольно четко.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Построение "температурной" карты скоростей
это дело поправимое - сносите дороги на растр, делаете дистанционное преобразование (грид расстояния до дорог), и превращаете его во что нибудь типа exp(-0.5*dist*dist/(s*s)) - эта функция падает до примерно нуля на расстоянии примерно 2*s от дорог. И умножаете на это результат интерполяции - все, что далеко от дорог, обнулится. Будет красиво ...amnesiac писал(а):Красные пятна заторов получились там, где улиц даже нет.
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Построение "температурной" карты скоростей
Спасибо! Попробую разобраться, но пока не поняла, что значит "делаете дистанционное преобразование (грид расстояния до дорог)" и все, что за ним следует. То есть вообще плохо поняла)) Объясните, если не трудно!
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Построение "температурной" карты скоростей
просто считаете расстояние до (от) дорог, и все. Как эту кнопку в Арке зовут, не знаю, поскольку не пользуюсь. Считаете на сетку той же конструкции, что и "тепловая карта", и умножаете значения на exp(-0.5*dist*dist/(s*s)). На большом расстоянии от дорог умножится на ноль (и пятно исчезнет), на маленьком (в том числе на дороге и около нее) - на примерно 1, и пятно сохранитсяamnesiac писал(а):Спасибо! Попробую разобраться, но пока не поняла, что значит "делаете дистанционное преобразование (грид расстояния до дорог)" и все, что за ним следует. То есть вообще плохо поняла)) Объясните, если не трудно!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя