Как извлечь значения из растра по точкам?
Я предпочитаю не в Arcgis.
Я предпочитаю в Qgis или Mapwindow или других открытых источниках ГИС.
raster
point
open-source-gis
Василис
источник
источник
Ответы:
QGIS "Point Sampling Tool" должен быть тем плагином, который вы ищете.
Вот подробное описание того, как его использовать: http://pvanb.wordpress.com/2010/02/15/sampling-raster-values-at-point-locations-in-qgis/
Обновление на основе комментария Паоло:
плагин - не единственное решение и не всегда самое простое решение. Альтернативным решением является функция Saga «Добавить растровые значения в точку» на панели инструментов обработки. Подробнее см. Http://pvanb.wordpress.com/2014/07/01/sampling-raster-values-at-point-locations-in-qgis-an-update/
источник
В PostGIS 2.0 вы можете сделать:
Убедитесь, что ваш растр очень маленький, когда вы загружаете его (-t 10x10 с загрузчиком).
источник
У меня были проблемы с инструментами графического интерфейса QGIS и SAGA, упомянутыми в этой теме (
Raster values to points
по какой-то причине произошел сбой и возникли бесполезные ошибки, а GRASSv.sample
создала совершенно новый слой, который не помог). После некоторого сбоя инструментов GUI я попытался сделать это в Калькуляторе поля. Это сработало довольно хорошо, и я смог контролировать процесс немного лучше, чем позволяют графические интерфейсы, и по пути делать некоторые другие вычисления.Скажем, у вас есть слой с именем
pts
и другим именемrast
, оба в одной системе координат. Вы хотите сделать выборкуrast
для каждой пары X, Y, представленной вpts
.Если вы раньше не пользовались полевым калькулятором, это довольно просто. Вы введете свой расчет в поле «Выражение», а Q предоставит вам ряд переменных и операций в среднем столбце, с текстом справки в правом столбце. Я разделю этот процесс на четыре этапа:
Откройте таблицу атрибутов
pts
слоя, с которым вы хотите выполнить выборку.В диалоговом окне «Калькулятор полей» выберите, хотите ли вы создать новое поле или изменить существующее поле в своем
pts
слое.Затем создайте выражение, чтобы заполнить новый или существующий
pts
столбец атрибута. Вы могли бы начать с изменения кода выражения, который работал для меня:raster_value()
имя растрового слоя'rast'
, номер полосы1
и геометрию точки вmake_point()
.$x
и$y
являются геометрическими переменными, зависящими от местоположения точки в каждой строке таблицы атрибутов.Этот метод также позволяет выполнять арифметические операции , такие как вычитая значение другого растрового слоя под названием
other_rast
отrast
, который спас мне кучу времени над инструментами графического интерфейса. Пример ниже:Отметим еще раз , что в три слоя
pts
,rast
иother_rast
должны находиться в одной и той же системе координат , для этого метода к работе.источник
Попробуйте использовать QGIS 3.2.2 и SAGA (установленные по умолчанию в QGIS): функция «Растровые значения в точки» сделает все за вас: она берет файл изображения и преобразует его в форму вектора точек, получая информацию из растрового изображения.
источник
GME-инструменты Hawthorne Beyer делают это красиво через командную строку и позволяют легко группировать циклы for.
isectpntrst(in="path/to/shapefile", raster="path/to/raster", field="fieldname")
Справочник по командам GME isectpntrst
источник
В GRASS GIS вы можете запросить карту в графическом интерфейсе или использовать http://grass.osgeo.org/gdp/html_grass64/r.what.html
источник
http://gis-techniques.blogspot.com/2012/10/extract-raster-values-from-points.html содержит пошаговое руководство по использованию пакета R Raster для извлечения растровых значений из точек.
источник
Вы можете использовать это: http://www.saga-gis.org/saga_module_doc/2.1.3/shapes_grid_3.html
Это в SAGA Toolbox от Qgis! Делает все за один шаг :)
источник
Вот функция, которую я написал, используя python и gdal. Функция берет список растров и кадр данных pandas, содержащий координаты точки, и возвращает кадр данных pandas с координатами точки, центроидами для соответствующих растровых ячеек и соответствующими значениями ячеек. Эта функция является частью пакета chorospy, находящегося в стадии разработки (находится здесь ).
Пример того, как его запустить, учитывая, что растры находятся в вашем текущем рабочем каталоге:
источник
Если у вас есть доступ к FME, вы можете использовать один из двух трансформаторов в FME Workbench.
RasterCellCoercer ( «Разлагается все входные числовыми особенности растровых точек на отдельные или многоугольники. Один вектор признаков выводятся для каждой ячейки в растре.»)
PointOnRasterValueExtractor ( «принимает в точечных функций и одного опорного растра. Вывод состоит из полосы и палитры значения (ов) в месте расположения каждой точки.»)
источник
Быстрая мысль:
источник