полигон в растровую ГИС - PullRequest
2 голосов
/ 06 января 2009

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

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

Может ли кто-нибудь помочь, как это сделать с помощью любого приложения с открытым исходным кодом? (как в приложении, так и программно с использованием API, например sharpmap). Пожалуйста, помогите

Ответы [ 4 ]

1 голос
/ 10 февраля 2010

Утилиты и скрипты GDAL были бы моим выбором.

http://www.gdal.org/index.html

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

http://www.gdal.org/gdal_grid.html

http://www.gdal.org/gdal_rasterize.html

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

0 голосов
/ 26 октября 2010

Я сделал это, используя python и GDAL, следуя инструкциям, изложенным здесь:

http://proj.lis.ic.unicamp.br/webmaps/docs/calc_ndvi/

Надеюсь, это поможет.

пс. Сайт на португальском, поэтому, если вы не говорите на языке, вы можете найти Google переводчик очень полезным. Удачи.

N

0 голосов
/ 06 января 2009

Я сделал это с помощью MapScript (из Mapserver UMN).

http://mapserver.org/mapscript/index.html#mapscript

Это довольно просто и имеет много привязок (PHP, Ruby, Python, .NET и т. Д.), Но API одинаков для всех привязок. Те привязки, когда я в последний раз использовал это, были различного качества, и я не в курсе текущего качества

0 голосов
/ 06 января 2009

Один простой способ сделать это - использовать Mapnik и его привязку к Python. Посетите их сайт для обучения по базовому использованию и их схеме конфигурации XML .

...