Выполнение многокритериального анализа с использованием QGIS?


11

Я должен провести многокритериальный анализ, чтобы ответить на вопрос: «что лучше всего разрабатывать».

Вот некоторые из критериев:

  • расстояние до ближайшей автобусной остановки (точечный слой с автобусными остановками)
  • расстояние до ближайшего магазина (точечный слой с магазинами)
  • что представляет собой опасность наводнения (полигональный слой с атрибутом степени опасности от 1 до 4)
  • участок в природоохранной зоне (полигональный слой)
  • владелец уже планирует что-то для своего лота (вручную вводит информацию в атрибутах лота) и так далее ...

Я решил попробовать QGIS, и вот как я это сделал:

  1. добавьте следующие столбцы в мою таблицу атрибутов слоя лотов:

    • "Analysis_BUS"
    • "analysis_SHOPS"
    • "Analysis_FLOOD"
    • "Analysis_PROJECT"
    • "..."
    • "Analysis_MEAN"
  2. Конвертируйте слой лотов в точки, используя «полигоны в центроиды»

  3. Запустите инструмент «Матрица расстояний»

  4. Откройте CSV, чтобы запустить операцию в Excel (класс автобусной остановки равен 1,0, если он ближе, чем 200 м, и 0,0, если он больше, чем 750 м, но я не могу найти функцию MIN () в QGIS).

  5. Присоединяйтесь к полученному CSV обратно в QGIS

  6. Повторите то же самое для магазинов

  7. Запустите инструмент «Точка в многоугольнике», чтобы выбрать все точки в природоохранной зоне.

  8. Установите 0.0 для всех выбранных точек

  9. Повторите для других критериев "в ... области"

  10. Запустите инструмент «Пространственное соединение», чтобы объединить информацию об опасной зоне затопления.

  11. Выполните вычисление, используя калькулятор столбцов, чтобы получить среднюю оценку (используя определенные факторы для каждого критерия).

  12. После того, как все это сделано, добавьте шейп-файл BUILDING LOTS один раз для каждого критерия.

  13. Для каждого критерия присоедините преобразованный слой (тот, у которого центроиды) к идентификатору LOT

  14. Установите отображение градиента от красного к зеленому в соответствии с соответствующим атрибутом критерия и атрибутом среднего уровня

Теперь, после хороших двух дней работы, у меня теперь все мои критерии отображаются зеленым, если хороший выбор для строительства, и красным, если плохой выбор, и у меня есть мой синтез, который объединяет все мои критерии в одну красивую красно-зеленую карту. (и у меня также есть большой беспорядок в моей папке "shapefiles")

Теперь проблема.

Что, если :

  • Я хотел бы попробовать тот же анализ с другим сценарием сети шины?
  • я получаю обновленный шейп-файл лотов (скажем, с 13 модификациями во всех 13000 лотов)
  • я хотел бы проверить различные веса для моих критериев?

Должен ли я начать все сначала?

Правильно ли я использую неправильный инструмент, или я использую неправильный инструмент?

Будет ли легче с коммерческим программным обеспечением ГИС?


Я понимаю, что означают ответчики / комментаторы, и я на самом деле не думал об использовании растров.

Тем не менее, главный вопрос был больше о возможности попробовать разные сценарии или обновить базовые данные без необходимости перезапускать весь процесс с нуля.

Кажется, что ваши предложения не намного более гибкие, чем то, что я предлагал (даже, может быть, более сложный), поскольку у вас есть новостные шаги: - (для каждого критерия) растеризация. - (в конце) выборка (довольно сложная, если вы хотите включить частичные перекрытия)


Тот Строитель Модели Sextante кажется удивительным; на самом деле я думал о чем-то подобном, когда отправлял свой последний комментарий.

Я использовал Grasshopper3D довольно часто (он не имеет ничего общего с программным обеспечением ГИС), который является отличным плагином для моделиста Rhino3D и использует ту же концепцию построения рабочего процесса графа узлов. (пример: http://designreform.net/2009/07/rhino-grasshopper-parametric-truss )

Это кажется настолько хорошо приспособленным к большому количеству анализа данных ГИС, что я хотел бы видеть программное обеспечение ГИС, действительно построенное на таком инструменте графа узлов.

Я с нетерпением жду возможности попробовать Sextante Modeler и рассказать, как это получилось. Хотелось бы узнать об этом сам, погуглив, но я не знал ключевого слова "конструктор моделей".


2
Об обновлении: здесь может быть действительный смысл, но последняя его часть появляется - извините за такие слова - чтобы спутать возможности оператора с возможностями программного обеспечения. Есть много активных членов этого сообщества, которые могут предоставить вам отличные, опытные советы по автоматизации ваших процедур. Я подозреваю, что большинство из них даже не прочитали весь вопрос: он длинный, и большая его часть не имеет отношения к тому, что вы действительно хотите знать. Почему бы вам не перечитать наш FAQ о том, как задавать хорошие вопросы, и соответственно редактировать этот вопрос ?
whuber

Сделал многокритериальный анализ несколько лет назад. Написал пост в блоге об этом. Может быть полезно для вас. thadwester.com/1/post/2011/02/power-of-gis.html
Тад

Ответы:


11

Я бы предложил растровый подход с одним растровым слоем для каждого критерия:

  • качество автобуса (расстояние от центра пикселя до ближайшей автобусной остановки)
  • качество покупок (расстояние до ближайшего магазина)
  • опасность затопления (растеризация слоя многоугольника с атрибутом степени опасности от 1 до 4)
  • защитная зона (растеризация полигонального слоя)

Затем вы можете комбинировать и взвешивать слои в соответствии с вашими потребностями и пробовать их в любом интересующем вас месте.

Тем не менее, главный вопрос был больше о возможности попробовать разные сценарии или обновить базовые данные без необходимости перезапускать весь процесс с нуля.

Если у вас есть новый сценарий, скажем, «другая сеть шин», вам просто нужно пересчитать один растр (шинный растр) и снова запустить комбинацию. Это только два взаимодействия.

Кроме того, после того, как построитель моделей Sextante станет стабильным, должна появиться возможность построить модель для автоматизации всех этапов. Вы могли бы даже проверить это сейчас.


Этот подход затем позволяет вам добавлять веса по мере необходимости, просто умножая растры на вес (0-1)
Ян Тертон

Согласитесь с использованием растрового подхода. Также, как только вы выясните свой рабочий процесс, вы можете автоматизировать весь процесс, используя команды GRASS, которые вы можете запускать с разными входами. grass.osgeo.org/wiki/...
spatialthoughts

4

Как сказал Иант , растр с алгеброй карт может быть самым простым способом.

По моему опыту, после преобразования всех ваших входных данных в растр, вам следует провести некоторую реклассификацию с двумя различными типами: факторы и условия

Коэффициенты будут колебаться между минимальным и максимальным значениями, от менее желательных значений до более желательных значений (вы должны использовать один и тот же диапазон значений для всех из них), например:

F1 - расстояние между автобусами: 1 - очень далеко; 2 - далеко; 3 - закрыть; 4 - очень близко

F2 - опасность наводнения: 1 - очень высокая; 2 - высокий; 3 - низкий; 4 - очень низкий

Условия будут двоичными растровыми только с нулями и единицами (не подходит, подходит), например:

C1 - охраняемая территория: 0 - да; 1 - нет

Для каждого из факторов вы должны дать вес, в зависимости от важности, которую вы считаете этим фактором при принятии вашего решения, например: расстояние до шины W1 = 0,4 и опасность затопления W2 = 0,6

В конце концов, используя алгебру карт, все, что вам нужно сделать, это:

(C1 x ... x Cm) x (W1 x F1 + W2 x F2 + ... + Wn x Fn)

После первого результата вам, вероятно, потребуется адаптировать веса или даже значения факторов, поскольку многокритериальный анализ в большинстве случаев является весьма субъективным анализом.


2

Была разработана надстройка MCDA для ArcGIS 10.1.

Надстройка поддерживает следующие многокритериальные методы: взвешенное линейное сочетание (WLC) упорядоченное взвешенное усреднение (OWA) локальное взвешенное линейное сочетание (LWLC)

http://mcda4arcmap.codeplex.com/


2

См. Также: Поддержка многокритериального анализа решений (MCDA) в GRASS GIS по адресу http://grass.osgeo.org/wiki/MCDA_in_GRASS.

Для GRASS GIS 6 есть набор выделенных аддонов: ELECTRE (r.mcda.electre), REGIME (r.mcda.regime) и FUZZY (r.mcda.fuzzy). Кроме того, имеется модуль r.roughset, используемый для анализа грубых географических множеств и обнаружения знаний.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.