Извлечение координат точек из растра
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Извлечение координат точек из растра
Задача следующая: есть растр - SRTM. Мне нужно сделать из него новый растр, где значения для пикселов будут заменены на расчетные данные. В качестве расчетных данных будут использованы значения высоты и географической широты. Я пытался использовать калькулятор растра. Как включить в расчет высотные данные понятно, но как получить координаты, не знаю. Расчеты делаю для изучения высотного потенциала засоления почв в горных условиях. Гипотеза - засоление в зависимости от широты имеет свои высотные лимиты распространения. Выборку я произвел, формулу расчета вывел, но не могу это дело положить на карту. На форуме подобных вещей не нашел. Прошу помощи.
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Извлечение координат точек из растра
а насколько большой растр по размеру?
могу предложить "топорный вариант":
1)растр в точки
2)для точечного shp-расчет геометрии(координаты)
3)точки в растры по каждому полю с координатами
могу предложить "топорный вариант":
1)растр в точки
2)для точечного shp-расчет геометрии(координаты)
3)точки в растры по каждому полю с координатами
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
gornak, спасибо за ответ! Растр большой, точнее их несколько, они покрывают бассейн р.Селенги (юг Бурятии и север Монголии). "Топорный вариант" уже пробовал за неимением других, но территория великовата. Если не возможно создать простым способом растр с широтными координатами, может где-то в природе есть такие готовые растры?
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Извлечение координат точек из растра
так был ли достигнут результат?"размер" растра-в пикселяхubugunov писал(а):"Топорный вариант" уже пробовал за неимением других, но территория великовата.
готовые не знаю,могу создать растр программно в gdal(опять-таки в зависимости от размера, можно-сетку растров), желательно иметь метаданные на ваши растрыubugunov писал(а):может где-то в природе есть такие готовые растры?
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
так был ли достигнут результат?gornak писал(а):ubugunov писал(а):"Топорный вариант" уже пробовал за неимением других, но территория великовата.
Да, достигнут, но на небольших участках. В том числе пробовал подобную схему с помощью 1. "Извлечь по образцу" - получаем таблицу точек с координатами; 2. проводим калькуляцию таблицы по нужным формулам и получаем необходимые расчетные данные; 3. создаем точечный шейп по имеющимся координатам; конвертируем этот шейп в растр. Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
6001 х 6001, размер ячейки 0,00083333.gornak писал(а):"размер" растра-в пикселях
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
В качестве источника данных SRTM я использую растры "PROCESSED SRTM DATA VERSION 4.1", которые скачаны с "http://srtm.csi.cgiar.org"gornak писал(а):готовые не знаю,могу создать растр программно в gdal(опять-таки в зависимости от размера, можно-сетку растров), желательно иметь метаданные на ваши растрыubugunov писал(а):может где-то в природе есть такие готовые растры?
Общая область интересов 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.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
Действительно, растр можно создать программно, но я не владею этой технологией.gornak писал(а): желательно иметь метаданные на ваши растры
Какие метаданные для этого нужны?
Суть моих исследований (если вдруг Вам интересно) заключается в следующем:
Гипотеза:
1. засоление почв в сложной рельефной обстановке происходит при определенных климатических условиях, и только тогда, когда имеет место "выпотной" водный режим почв, т.е. когда почва "потеет" и на ее поверхности кристаллизуются соли. Выпотной водный режим возникает при высоком прогреве поверхности, благодаря восходящему току влаги по почвенным капиллярам из грунтовых вод.
2. Накопление солей в верхних горизонтах почв и на их поверхности в горных условиях происходит при аридном и семиаридном климате. Климат в горных условиях зависит не только от широты, но и в значительной степени от высоты.
3. Таким образом, должен существовать определенный климатический потенциал засоления территории, определяющийся ее широтой и высотой.
Для проверки гипотезы я провел визуальный анализ космоснимков на предмет поиска засоленных участков, в том числе с наибольшими высотными отметками для конкретных широт. В итоге я получил выборку точек с координатами и высотами.
Интересным оказалось то, что в северных широтах засоление проявлялось только на низких высотах (до 600 м), тогда как на юге оно отмечалось значительно выше (до 1700 и более).
Положив эти точки на график, где по X - широта, а Y - высота, я отметил, что верхний предел засоления (Hpz) действительно достаточно хорошо описывается экспоненциальным трендом с высоким значением коэффициента детерминации и решил эту закономерность отобразить картографически.
Формула для бассейна р. Селенги имеет следующий вид: Hpz = 5000000 * exp (-0.17 * широта). Hpz - предельная высота для конкретной широты, где потенциально может произойти засоление. Следует отметить, что на других территориях формула скорее всего будет другой. Это проявляется также в самой западной части бассейна, где климат локально меняется крупными горными сооружениями с усилением континентальности. Некоторые изменения закономерности отмечаются также и за пределами бассейна в южном и восточном направлениях, где меняется характер геоморфологии и расчленения рельефа.
Отклонения от выявленной закономерности нивелируются включением в расчеты суммы эффективных осадков в теплый период года. Но до конца я с этим пока не разобрался. Если кому интересно, можем порассуждать на эту тему и даже сделать совместную научную публикацию.
Далее из Hpz мы вычитаем реальную высоту (Н) и получаем для каждой конкретной точки положительную или отрицательную цифру. Положительная показывает, что климатический потенциал засоления в этой точке присутствует, отрицательная - нет. Фактическое значение указывает на силу проявления выпотного режима, чем выше значение - тем потенциал засоления сильнее. Для отрицательных значений, напротив, увеличение значения, если "-" показывает смену выпотного режима на непромывной и промывной, когда соли уходят в глубь профиля или вообще из него вымываются.
Таким образом мы можем получить карту климатического потенциала засоления на определенный климатически замкнутый однородный участок земной поверхности.
Для этого мне необходим растр (или сетку растров) с широтными координатами. Возможно для каких-то других территорий могут потребоваться координаты долготы. Этот растр можно использовать в дальнейших расчетах с помощью калькулятора. Хорошо было бы, если эти растры по своим метаданным совпадали с растрами SRTM для упрощения расчетов.
Естественно, что засоление зависит от массы прочих факторов, в числе которых можно обозначить наличие источников солей (выклинивание глубинных минерализованных вод, засоленные породы и т.п.), условия стока и уровень залегания грунтовых вод, наличие мерзлотного или иного водоупора, геоморфология поверхности, экспозиция и крутизна склона и т.д. и т.п. Но все эти параметры в первую очередь контролируются климатическим потенциалом. Другими словами, даже при наличии источника засоления, например, высокоминерализованного водного источника (ключа) или близкозалегающих засоленных пород, соли не накопятся на поверхности, если
нет климатического потенциала.
Кстати, я не очень опытный юзер ГИСов, но, полагаю, что для гидрологических и геоморфологических параметров также можно рассчитать их потенциалы засоления и сочленить их с климатическим потенциалом.
Практическим выхлопом, например, может служить оценка потенциала вторичного засоления при проектировании оросительных мелиоративных систем и др. Подобным образом также можно попытаться рассчитать климатические потенциалы распределения других почвенных показателей, а также отдельных видов или сообществ растений и других биологических объектов.
-
- Гуру
- Сообщения: 5354
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Извлечение координат точек из растра
всяко кодить придётся
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Извлечение координат точек из растра
вопрос был глупый, я забыл, что это srtmgornak писал(а): желательно иметь метаданные на ваши растры
только не понял почему 6001*6001, у меня 6000*6000
Последний раз редактировалось gornak 27 апр 2016, 17:45, всего редактировалось 1 раз.
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Извлечение координат точек из растра
а в чем проблема: вопрос времени или "виснет"???ubugunov писал(а):Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
ArcMap мне такие данные дает.gornak писал(а):вопрос был глупый, я забыл, что это srtmgornak писал(а): желательно иметь метаданные на ваши растры
только не понял почему 6001*6001, у меня 6000*6000
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
И то и другое. Точнее не виснет, а выдает ошибку.gornak писал(а):а в чем проблема: вопрос времени или "виснет"???ubugunov писал(а):Тоже работает но на небольших участках при увеличении размера ячейки и снижении разрешения итогового растра.
Пытался обработать один растр SRTM целиком. Иногда в ходе преобразований выходит ошибка, а при повторном запуске с теми же параметрами - без ошибки, мне не понятно, что за этим стоит.
В итоге, если оставлять значение ячейки по умолчанию, получается растр с размером ячейки 0,02, тогда как в исходном SRTM 0,0008333, т.е. грубовато. Времени - почти смена на растр, а картинка грубая.
Вообще растр выглядит, как постепенный переход со светлых тонов в темные.
В общем, отвечая на Ваш вопрос, проблема конечно во времени.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 28 июл 2010, 12:45
- Репутация: 0
Re: Извлечение координат точек из растра
Если я правильно понял, то изначально тему я обозначил не совсем неправильно, т.к. извлечь координаты из растра для использования их в расчетах в том же калькуляторе растра напрямую невозможно.gamm писал(а):например так ...
Более реальные варианты: 1. "топорный" - создание нового растра с координатами обычными средствами ArcMap путем конвертаций растра в точки, подсчета геометрии и обратной конвертации в новый растр, что требует существенных временных затрат для больших территорий; 2. Создание нового растра путем более продвинутых средств (то что вы предлагаете).
Мне представлялось, что использование географических координат в расчетах так или иначе должно было активно использоваться различными исследователями и потому уже разработан рабочий алгоритм для этих целей. Но, видимо, эта задача пока не имеет большого распространения, такого алгоритма нет и, на самом деле, все сложнее, чем хотелось бы.
Другими словами, может нет смысла пытаться каждый раз извлекать координаты из растров, а программно создать базу новых координатных растров, доступную для обычных пользователей, чтобы они могли избежать тех сложностей, с которыми я сейчас сталкиваюсь?
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Извлечение координат точек из растра
думаю, что оба варианта имеют место быть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 (145.68 КБ) 10638 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя