Запитати OSM для всіх пляжів, що виходять на захід? - перевагу QGIS


17

Я хочу визначити всі пляжі на нашій планеті (або задану її підмножину), які звернені на захід (+/- 20-30 градусів).

Моя ідея - використовувати OSM як джерело даних. Витяг усіх полігонів, що мають тег "природний = пляж", дає мені набір даних / форму даних всіх областей, позначених як пляжі. Все йде нормально.

Я також знаю, що я можу використовувати дані берегової лінії (наприклад, від OSM або Natural Earth), щоб визначити обличчя пляжів.

Буферизація пляжних форм для виправлення незначних невідповідностей та перетинання їх із береговою лінією повинні надати мені дані, з якої сторони форми звернена до води. Використання значень max / min усіх точок перетину повинно дати мені уявлення про підшипник. (90 градусів +/- 20-30 градусів було б добре ...)

І саме тут я загубився ...

Моїм кращим інструментом буде QGIS, але і PostGIS також буде добре.

Чи є хтось із розумною ідеєю, як розгадати цю головоломку?


4
Замість того, щоб використовувати буфери. Чи не було б легше зрозуміти, як перемістити всі елементи у вашому форм-файлі трохи на схід, а потім провести перехрестя між формою файлу узбережжя та профілем пляжів? Вони перекриватимуться лише там, де пляжі виходять на захід.
Тім Кувельє

Тім - приємна ідея. Не впевнений, що це дійсно спрацює для "дивних" геометрій. У мене з’явилася ще одна ідея: взяти берегову лінію як лінії, а центроїд пляжних багатокутників за допомогою v.net в траві підключити центроїд до найближчої лінії (або в постгісах). тепер у вас є лінія, яка представляє напрямок. обчислити підшипник від стартової точки центроїда до кінцевої точки лінії за допомогою трига. Хоча приємно, це не повністю «в межах» QGIS. Ще розумні ідеї?
jdoe

Якщо ви можете знайти спосіб перетворити берегову лінію на низку даних про точку, а пляжні центриди також пробують, ви можете спробувати Найближчий сусідський аналіз, як описано тут: посилання Замість приєднання до атрибутів, як показано в прикладі, переконайтеся, що є х, y відповідні значення для двох наборів даних. використовуючи польовий калькулятор, ви можете знайти відносні відмінності між значеннями x та y для центральної та найближчої точки. Виходячи зі знаку різниці x, ви знаєте, що це захід чи схід, і виходячи із співвідношення diff (y) / diff (x) як західного.
Тім Кувельє

З огляду на те, що у мене закінчилося характери, тут іде: якщо центроїди x-значення> берегова лінія вказують х-значення, пляж виходить на захід. координати x і y двох дозволили б вам визначити кут до осі y: (y2-y1) / (x2-x1) дає нахил лінії, яку ви можете перетворити назад в градуси
Тім Кувельєр

5
Ви можете розсіяти свої дані, встановити значення відкритої води на нуль, а пляжі - на 1, а потім запустити інструмент Аналіз місцевості-> Аспект. Ви отримаєте растр у напрямку нахилу вниз і зможете вибирати клітини, які є достатньо "потворними".
WxMacMan

Відповіді:


1

Служба піднесення на ArcGIS Online включає готові до використання дані у всьому світі, а також вбудовану растрову функцію для генерування аспекту. Також досить просто фільтрувати одночасно для діапазону значень сторін (290-250 градусів), а також висоти (наприклад, від 0 до 10 метрів, залежно від того, як ви визначаєте пляж - чи, можливо, у вас вже є окреслені пляжі?). Я не знаю, чи можете ви використовувати технологію ArcGIS - якщо так, я можу надіслати вам кілька прикладних REST-запитів.

Приєднаний png не фільтрується належним чином для піднесення, але показує концепцію ...введіть тут опис зображення

Коді Б.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.