Як створити суміжні картограми в QGIS або R?


21

Ось чого я хочу досягти (справа):

http://junkcharts.typepad.com/.a/6a00d8341e992c53ef0162fd6913e8970d-pi

Я шукаю інструмент або спосіб перетворити файл форми (з QGIS або R) у цю форму. І врахуйте: це не просто обрізання шестикутної сітки або сітки шестикутників! Кожен шестикутник повинен представляти рівну кількість міри (наприклад, кожен шестикутник представляє 5000 дерев).

Можливо, ви знаєте про скапето! http://scapetoad.choros.ch/ Отже, я в основному хочу створити аналогічний висновок для scapetoad - але з більш обмеженою сіткою (?).

ред .: Згадування про QGis та R не є обмеженням - це саме там, де я шукав рішення. Звичайно, я задоволений будь-яким інструментом, методом чи порадою!


4
Заголовок на зображенні, на яке ви посилаєтесь, називає його для вас (принаймні загалом); так само і з заголовком цієї скептичної сторінки: це "картограма". Більш конкретно, це (суміжна) зональна картограма, яка використовує шестикутні елементи.
whuber

Ця довідка була дуже корисною для мене, щоб це зробити в [r]!
jsta

Відповіді:


7

Трохи більш задовольняюча процедура:

  1. Створіть картограму методом "на основі дифузії" (як скапето).

    У QGis:

  2. Створіть шестикутний шар [Плагіни> Qmarxan> Створити сітку планування] (використовуйте відповідну / бажану кількість шестикутників). редагувати: Залежно від призначення карти, сітка Qmarxans може мати сумнівну якість. Mmqgis плагін дає набагато кращі результати (багатокутники вирівнювати відмінно).

  3. Об’єднайте шестикутний шар за допомогою картограми [Вектор> Інструменти управління даними> Атрибути об’єднання за місцем розташування]

  4. Тепер новий шестикутний шар має всі властивості / атрибути з картограми, і можна отримати доступ до кожної субодиниці окремо.

  5. Для кращого збереження форми субодиниць можливе певне налаштування вручну: Виберіть шестикутник (и) та змініть атрибут (и) безпосередньо в таблиці атрибутів. Цей крок найкраще працює, якщо шар напівпрозорий і оригінальна картограма на основі дифузії показана нижче.

  6. Об'єднання шестикутників субодиниці в одну одиницю: 1. Виберіть усі шестикутники субодиниці (якщо їх багато: використовуйте таблицю атрибутів для вибору). 2. 'переключити редагування'> 'об'єднати вибрані функції'.

В основному недолік б) залишається - але а) вирішується, а також певною мірою в) вже не є великою проблемою, оскільки цей метод не займає багато часу.

Редагування: крок 4. (і пофарбований згодом) призводить до цього результату (прозорий шестикутний шар зверху, картограма «на основі дифузії» внизу): Ілюстрація "проблеми кордону"

Яскраво-зелені шестикутники чітко займають один ряд ...

Будь-які ідеї, як можна досягти кращого / нестандартного пристосування "об'єднати атрибути"? - Я шукаю спосіб надати алгоритму якийсь поріг (наприклад:> 50% площі).


Я можу поручитися за такий підхід, я це зробив успішно. Не розроблено задовільний спосіб просторового приєднання шестигранників до багатокутника, який має найбільше перекриття; Я підозрюю, що знадобиться postgresql / postgis (Атрибути приєднання за місцем розташування просто відповідають першому, який він знайде, що може бути не оптимально)
Стівен Кей

2

Тим часом я презентую, яка моя ідея поки що:

  1. Створіть картограму методом "на основі дифузії" (як скапето).

    У QGis:

  2. Створіть точковий шар [Вектор> Інструменти дослідження> Регулярні точки].

  3. Кліп точковий шар з картограмою.

  4. Створіть шестикутний шар [Плагіни> Qmarxan> Створити сітку планування] (використовуйте відповідну / бажану кількість шестикутників).

  5. Підрахунок балів за багатокутник [Вектор> Інструменти аналізу> Точки в полігоні].

  6. У властивостях шару шестикутного шару: Застосовуйте маркування на основі правил (або відсікання) [Фільтр: "PKTCNT"> = 1].

Це все, що я маю досі.

Недоліками є:

а) Це просто загальна форма (субодиниці потрібно опрацювати знову ...)

б) Кількість шестикутників дещо довільно пов'язана з фактичною мірою, і гірше

в) якщо я хочу змінити одиницю виміру (наприклад, замість 5 тис. дерев на шестикутник, тепер я хочу 100 тис. дерев на шестикутник = додаткове зменшення складності / деталізації), я повинен зробити всю процедуру заново.

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