Извлечение координат точек из растра

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Извлечение координат точек из растра

Сообщение ubugunov » 18 апр 2016, 10:03

Задача следующая: есть растр - SRTM. Мне нужно сделать из него новый растр, где значения для пикселов будут заменены на расчетные данные. В качестве расчетных данных будут использованы значения высоты и географической широты. Я пытался использовать калькулятор растра. Как включить в расчет высотные данные понятно, но как получить координаты, не знаю. Расчеты делаю для изучения высотного потенциала засоления почв в горных условиях. Гипотеза - засоление в зависимости от широты имеет свои высотные лимиты распространения. Выборку я произвел, формулу расчета вывел, но не могу это дело положить на карту. На форуме подобных вещей не нашел. Прошу помощи.

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Извлечение координат точек из растра

Сообщение gornak » 21 апр 2016, 08:35

а насколько большой растр по размеру?
могу предложить "топорный вариант":
1)растр в точки
2)для точечного shp-расчет геометрии(координаты)
3)точки в растры по каждому полю с координатами

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 25 апр 2016, 10:47

gornak, спасибо за ответ! Растр большой, точнее их несколько, они покрывают бассейн р.Селенги (юг Бурятии и север Монголии). "Топорный вариант" уже пробовал за неимением других, но территория великовата. Если не возможно создать простым способом растр с широтными координатами, может где-то в природе есть такие готовые растры?

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Извлечение координат точек из растра

Сообщение gornak » 26 апр 2016, 23:20

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

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 27 апр 2016, 08:56

gornak писал(а):
ubugunov писал(а):"Топорный вариант" уже пробовал за неимением других, но территория великовата.
так был ли достигнут результат?
Да, достигнут, но на небольших участках. В том числе пробовал подобную схему с помощью 1. "Извлечь по образцу" - получаем таблицу точек с координатами; 2. проводим калькуляцию таблицы по нужным формулам и получаем необходимые расчетные данные; 3. создаем точечный шейп по имеющимся координатам; конвертируем этот шейп в растр. Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
gornak писал(а):"размер" растра-в пикселях
6001 х 6001, размер ячейки 0,00083333.

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 27 апр 2016, 09:00

gornak писал(а):
ubugunov писал(а):может где-то в природе есть такие готовые растры?
готовые не знаю,могу создать растр программно в gdal(опять-таки в зависимости от размера, можно-сетку растров), желательно иметь метаданные на ваши растры
В качестве источника данных SRTM я использую растры "PROCESSED SRTM DATA VERSION 4.1", которые скачаны с "http://srtm.csi.cgiar.org"
Общая область интересов 56_01, 56_02, 56_03, ..., 60_01, 60_02, 60_03.
Наиболее важные из них, с самой плотной сеткой ключевых площадок - 57_02, 57_03, 58_02, 58_03, 59_02, 59_03.
Если сможете мне помочь, буду счастлив. Мне достаточно только рабочего алгоритма в ArcMap 10.1.

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 27 апр 2016, 10:02

gornak писал(а): желательно иметь метаданные на ваши растры
Действительно, растр можно создать программно, но я не владею этой технологией.
Какие метаданные для этого нужны?

Суть моих исследований (если вдруг Вам интересно) заключается в следующем:

Гипотеза:
1. засоление почв в сложной рельефной обстановке происходит при определенных климатических условиях, и только тогда, когда имеет место "выпотной" водный режим почв, т.е. когда почва "потеет" и на ее поверхности кристаллизуются соли. Выпотной водный режим возникает при высоком прогреве поверхности, благодаря восходящему току влаги по почвенным капиллярам из грунтовых вод.
2. Накопление солей в верхних горизонтах почв и на их поверхности в горных условиях происходит при аридном и семиаридном климате. Климат в горных условиях зависит не только от широты, но и в значительной степени от высоты.
3. Таким образом, должен существовать определенный климатический потенциал засоления территории, определяющийся ее широтой и высотой.

Для проверки гипотезы я провел визуальный анализ космоснимков на предмет поиска засоленных участков, в том числе с наибольшими высотными отметками для конкретных широт. В итоге я получил выборку точек с координатами и высотами.
Интересным оказалось то, что в северных широтах засоление проявлялось только на низких высотах (до 600 м), тогда как на юге оно отмечалось значительно выше (до 1700 и более).
Положив эти точки на график, где по X - широта, а Y - высота, я отметил, что верхний предел засоления (Hpz) действительно достаточно хорошо описывается экспоненциальным трендом с высоким значением коэффициента детерминации и решил эту закономерность отобразить картографически.
Формула для бассейна р. Селенги имеет следующий вид: Hpz = 5000000 * exp (-0.17 * широта). Hpz - предельная высота для конкретной широты, где потенциально может произойти засоление. Следует отметить, что на других территориях формула скорее всего будет другой. Это проявляется также в самой западной части бассейна, где климат локально меняется крупными горными сооружениями с усилением континентальности. Некоторые изменения закономерности отмечаются также и за пределами бассейна в южном и восточном направлениях, где меняется характер геоморфологии и расчленения рельефа.
Отклонения от выявленной закономерности нивелируются включением в расчеты суммы эффективных осадков в теплый период года. Но до конца я с этим пока не разобрался. Если кому интересно, можем порассуждать на эту тему и даже сделать совместную научную публикацию.

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

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

Естественно, что засоление зависит от массы прочих факторов, в числе которых можно обозначить наличие источников солей (выклинивание глубинных минерализованных вод, засоленные породы и т.п.), условия стока и уровень залегания грунтовых вод, наличие мерзлотного или иного водоупора, геоморфология поверхности, экспозиция и крутизна склона и т.д. и т.п. Но все эти параметры в первую очередь контролируются климатическим потенциалом. Другими словами, даже при наличии источника засоления, например, высокоминерализованного водного источника (ключа) или близкозалегающих засоленных пород, соли не накопятся на поверхности, если
нет климатического потенциала.
Кстати, я не очень опытный юзер ГИСов, но, полагаю, что для гидрологических и геоморфологических параметров также можно рассчитать их потенциалы засоления и сочленить их с климатическим потенциалом.
Практическим выхлопом, например, может служить оценка потенциала вторичного засоления при проектировании оросительных мелиоративных систем и др. Подобным образом также можно попытаться рассчитать климатические потенциалы распределения других почвенных показателей, а также отдельных видов или сообществ растений и других биологических объектов.

trir
Гуру
Сообщения: 5354
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Извлечение координат точек из растра

Сообщение trir » 27 апр 2016, 10:50

всяко кодить придётся

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Извлечение координат точек из растра

Сообщение gamm » 27 апр 2016, 10:59


gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Извлечение координат точек из растра

Сообщение gornak » 27 апр 2016, 11:03

gornak писал(а): желательно иметь метаданные на ваши растры
вопрос был глупый, я забыл, что это srtm
только не понял почему 6001*6001, у меня 6000*6000
Последний раз редактировалось gornak 27 апр 2016, 17:45, всего редактировалось 1 раз.

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Извлечение координат точек из растра

Сообщение gornak » 27 апр 2016, 16:34

ubugunov писал(а):Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
а в чем проблема: вопрос времени или "виснет"???

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 28 апр 2016, 04:13

gornak писал(а):
gornak писал(а): желательно иметь метаданные на ваши растры
вопрос был глупый, я забыл, что это srtm
только не понял почему 6001*6001, у меня 6000*6000
ArcMap мне такие данные дает.

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 28 апр 2016, 04:27

gornak писал(а):
ubugunov писал(а):Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
а в чем проблема: вопрос времени или "виснет"???
И то и другое. Точнее не виснет, а выдает ошибку.
Пытался обработать один растр SRTM целиком. Иногда в ходе преобразований выходит ошибка, а при повторном запуске с теми же параметрами - без ошибки, мне не понятно, что за этим стоит.
В итоге, если оставлять значение ячейки по умолчанию, получается растр с размером ячейки 0,02, тогда как в исходном SRTM 0,0008333, т.е. грубовато. Времени - почти смена на растр, а картинка грубая.
Вообще растр выглядит, как постепенный переход со светлых тонов в темные.

В общем, отвечая на Ваш вопрос, проблема конечно во времени.

ubugunov
Новоприбывший
Сообщения: 14
Зарегистрирован: 28 июл 2010, 12:45
Репутация: 0

Re: Извлечение координат точек из растра

Сообщение ubugunov » 28 апр 2016, 06:34

gamm писал(а):например так ...
Если я правильно понял, то изначально тему я обозначил не совсем неправильно, т.к. извлечь координаты из растра для использования их в расчетах в том же калькуляторе растра напрямую невозможно.

Более реальные варианты: 1. "топорный" - создание нового растра с координатами обычными средствами ArcMap путем конвертаций растра в точки, подсчета геометрии и обратной конвертации в новый растр, что требует существенных временных затрат для больших территорий; 2. Создание нового растра путем более продвинутых средств (то что вы предлагаете).

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

Другими словами, может нет смысла пытаться каждый раз извлекать координаты из растров, а программно создать базу новых координатных растров, доступную для обычных пользователей, чтобы они могли избежать тех сложностей, с которыми я сейчас сталкиваюсь?

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Извлечение координат точек из растра

Сообщение gornak » 28 апр 2016, 08:52

ubugunov писал(а):может нет смысла пытаться каждый раз извлекать координаты из растров, а программно создать базу новых координатных растров
думаю, что оба варианта имеют место быть
ubugunov писал(а):потому уже разработан рабочий алгоритм для этих целей
возможно он и есть
ubugunov писал(а):2. Создание нового растра путем более продвинутых средств (то что вы предлагаете)
пока сложно сказать сколько будет занимать по времени самодельный алгоритм по сравнению с аркой
в любом случае попробую
ubugunov писал(а):В итоге, если оставлять значение ячейки по умолчанию, получается растр с размером ячейки 0,02, тогда как в исходном SRTM 0,0008333, т.е. грубовато. Времени - почти смена на растр, а картинка грубая.
Вообще растр выглядит, как постепенный переход со светлых тонов в темные.
пока могу посоветовать (проверил работает)
1)нарежте strm (Clip)
2)растр в точки
3)добавляете поля float(для координат)
4)вычислить геометрию
5)добавить поля longinteger=float*1000000
6)точки в растр по полю longinteger размер ячейки 0,00083333
получите 32 bit signed integer растры скоординатами для использования в калькульторе растра,
которые можно сшить в один

если вставить данный алгоритм в модель или python скрипт возможно нарезанный по кускам srtm обработается быстрее и без ошибок
Вложения
srtm.png
srtm.png (145.68 КБ) 10638 просмотров

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя