Generic Mapping Tools(GMT) и работа с ним

Кроме QGIS
Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 28 авг 2015, 13:25

Добрый день)
Сразу хочу уточнить, что в ГИС я новичок, и раньше не приходилось использовать GMT, GRASS и ArcGIS, только MapInfo, QGIS, ArcView и EassyTrace, и то в рамках лабораторных работ.
Но сейчас передо мной стоит задача: освоить GMT и проверить, как он строит изолинии (быстро ли, красиво ли, удобно, корректно и тд). Были изучены (насколько это возможно человеку не особо понимающему, как это все прочитанное применять) найденные в сети материалы, статьи, в том числе и с форума (http://gis-lab.info/qa/gmt.html кстати, отличная статья). Но все же осталось недопонимание, как именно нужно подступаться к GMT.
Вот у меня есть точечный слой в shape-формате, и мне нужно в GMT по нему построить изолинии. Но shape-файлы GMT, как выяснилось, не ест, тогда возникает вопрос: а как этот файл прочитать и работать с ним? Или может вообще я неправильно с GMT общаюсь? Работаю под Windows, пишу код в bat-файл и GMT выполняет (пример брался все из той же статьи с форума).
Как работать с GMT правильно? и как всунуть ему shape-файл?

P.S. Спасибо, если даже просто прочтете)

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

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение trir » 28 авг 2015, 13:42

нужно построить сетку
viewtopic.php?f=27&t=17151

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Александр Мурый » 28 авг 2015, 14:16

Я не специалист по GMT, но давайте разбираться. Во-первых, какая у вас версия? Желательно ставить версию 5.* (свежая 5.1.2).
Енот писал(а):сейчас передо мной стоит задача: освоить GMT и проверить, как он строит изолинии (быстро ли, красиво ли, удобно, корректно и тд).
Задача странно сформулирована: что значит "быстро, красиво, удобно, корректно"? По сравнению с чем, с каким ПО?

Быстро - да, утилиты GMT написаны на Си; красиво - это субъективно, можно добиться, чтобы было красиво; удобно - ещё субъективней, кому-то работа с командной строкой кажется сущим адом, кому-то сразу задать все параметры, чтобы не "тыкать" - верх удобства; корректно - да, утилиты известные, авторы - уважаемые учёные, исходный код открыт, тыщу раз выверен.

Должна быть причина, по которой вам оказалось необходимым пользоваться GMT, а не стандартной ГИС. Обычно одной из таких причин является необходимость автоматизации построения карт. Вам в итоге надо именно это, не только изолинии?
Редактор материалов, модератор форума

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 28 авг 2015, 17:42

Совершенно верно, это необходимо для автоматизации работы со слоями. На данный момент для этого используются библиотеки GRASS, но результат работы с изолиниями оставляет желать лучшего (изолинии получаются ломаные, с непонятными заворотами в сторону, которых быть не должно и вырисовываются лишние непонятные линии). в связи с этим было решено перейти на использование библиотек GMT, ибо распространяется свободно и (как говорят) лучше строит . Вот именно это мне необходимо проверить, строит ли он лучше, чем GRASS и, если да, то насколько; попробовать сначала на некоторых слоях, а потом уже внедрять в систему, если на слоях все получится как надо. Версия GMT 5.1.2. Решили сначала попробовать перевести построение изолиний с GRASS на GMT, а потом (если все пойдет нормально) уже и всю систему переводить на GMT.
Последний раз редактировалось Енот 28 авг 2015, 17:57, всего редактировалось 2 раза.

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

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение trir » 28 авг 2015, 17:44

не строит, в другом месте ищите
А как вы строите изолинии? Что у вас за точки?

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 28 авг 2015, 17:52

shape-файл с отметками замеров нескольких параметров мирового океана (высота волн, скорость ветра и тп) их около 7. Изолинии строятся автоматически , там написано на perlе, поэтому корректно ответить на вопрос не могу, знаю, что вызывается библиотека для построения изолиний и рядом оформление выдаваемого результата

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

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение trir » 28 авг 2015, 18:00

https://grass.osgeo.org/grass71/manuals/v.krige.html
Значит надо думать над методом построения. Насколько я понимаю GMT только рисует, не интерполирует.
А вам надо подобрать метод интерполяции

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 28 авг 2015, 18:12

Вот насчет интерполирует или нет, не знаю, вроде как должен, но не факт.
А насчет метода хоррроший вопрос..

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Александр Мурый » 28 авг 2015, 21:57

Как верно было сказано, результат во многом зависит от выбора метода интерполяции. Как именно происходит процесс в GRASS? Скорее всего, переходить на GMT не придётся, если разобраться как следует.
В составе GMT есть утилита pscontour, которая по точкам строит изолинии через триангуляцию. Надо пробовать :)

Кстати, вы бы не могли выложить кусок данных? На конкретном примере легче будет разобраться.
Редактор материалов, модератор форума

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение nickleb » 29 авг 2015, 14:48

Енот писал(а):Совершенно верно, это необходимо для автоматизации работы со слоями. На данный момент для этого используются библиотеки GRASS, но результат работы с изолиниями оставляет желать лучшего (изолинии получаются ломаные, с непонятными заворотами в сторону, которых быть не должно и вырисовываются лишние непонятные линии). в связи с этим было решено перейти на использование библиотек GMT, ибо распространяется свободно и (как говорят) лучше строит . Вот именно это мне необходимо проверить, строит ли он лучше, чем GRASS и, если да, то насколько; попробовать сначала на некоторых слоях, а потом уже внедрять в систему, если на слоях все получится как надо. Версия GMT 5.1.2. Решили сначала попробовать перевести построение изолиний с GRASS на GMT, а потом (если все пойдет нормально) уже и всю систему переводить на GMT.
Есть ещё такой free soft как ODV (Oceаn Data View) odv.awi.de/ - многие океанологи, метеорологи, гидробиологи и др. специалисты в мире пользуются для экспресс-анализа своих данных. Метод интерполяции "вшитый" в него - популярный ныне DIVA modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
Гляньте в его сторону - м.б. Вам и пригодится. Инсталлируется легко. Изолинии строит "гладенькие". bat-файлы автоматизации в этой оболочке также можно писать и исполнять. XML View можно настраивать. Есть API для C++ и Java (Анонсировали сделать и для Python, и для Ruby).
Один из форматов, который де-факто предлагается при выборке разного рода данных из World Ocean DataBase (www.nodc.noaa.gov/OC5/WOD/pr_wod.html) - это формат ODV.

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 31 авг 2015, 15:08

nickleb писал(а): Есть ещё такой free soft как ODV (Oceаn Data View) odv.awi.de/ - многие океанологи, метеорологи, гидробиологи и др. специалисты в мире пользуются для экспресс-анализа своих данных.
По словам начальника, ODV не используется во всей системе, потому, что никто с ним не разбирался, а разбираться и переводить всю систему на него не слишком рационально в плане затрат времени и сил. Вот.
Александр Мурый писал(а):Скорее всего, переходить на GMT не придётся, если разобраться как следует.
Вы правы, возможно, если копнуть, то может что и получится изменить в лучшую сторону.
Александр Мурый писал(а):Как именно происходит процесс в GRASS?
кусок вызова в БД библиотек GRASSa

Код: Выделить всё

...', 'r.in.gdal input=$_SHARED{'imgpath'}/$resource\_$param\_sf.tif output=$resource\_$param\_sf --overwrite')");
..., 'r.contour input=$resource\_$param\_sf output=$resource\_$param\_ln step=$step minlevel=$minlevel maxlevel=$maxlevel --overwrite')");
..., 'v.generalize input=$resource\_$param\_ln output=$resource\_$param\_ln_smooth method=boyle threshold=1.0 look_ahead=4 -c --overwrite')");
..., 'v.out.ogr -s input=$resource\_$param\_ln_smooth olayer=$schema.$resource\_$param\_ln dsn=\"PG:host=$_SHARED{'dbhost'} port=$_SHARED{'dbport'} dbname=$_SHARED{'dbname'} user=$_SHARED{'dbuser'} password=$_SHARED{'dbpass'}\" type=line format=PostgreSQL lco=\"OVERWRITE=YES,GEOMETRY_NAME=the_geom,FID=id\" --overwrite')");
может, это не тот кусок, но вроде похоже на правду.
Александр Мурый писал(а):Кстати, вы бы не могли выложить кусок данных? На конкретном примере легче будет разобраться.
К сожалению, файл очень большой, да и политика конфиденциальности не дремлет.
это Shape-файл с точками , выглядит вот так (в QGIS)
Вложения
Снимок.PNG
так выглядит содержимое файла
Снимок.PNG (44.98 КБ) 13610 просмотров

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Александр Мурый » 31 авг 2015, 15:21

Судя по приведённому коду, в GRASS импортируется некий растр (видимо, полученный в каком-то другом ПО); по нему строятся изолинии, затем генерализуются (точнее, сглаживаются) и экспортируются в таблицу PostGIS. Т.е. вид изолиний зависит исключительно от того ПО, где создаётся растр "$_SHARED{'imgpath'}/$resource\_$param\_sf.tif". От способа интерполяции, разрешения и т.д.
Редактор материалов, модератор форума

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 31 авг 2015, 15:28

тааааак
сначала там установка размера ячейки

Код: Выделить всё

.....'g.region -p vect=$resource res=$cellsize')");

  # Построение поверхности используя алгоритм IDW  
  spi_exec_query("SELECT admin.ov_ssh_host('$hosttype','$resource', 'v.surf.idw input=$resource output=$resource\_$param\_sf npoints=12 power=2.0 layer=1 column=$param --overwrite')");

  # Экспорт поверхности в TIFF
  spi_exec_query("SELECT admin.ov_ssh_host('$hosttype','$resource', 'r.colors map=$resource\_$param\_sf color=grey')");
  spi_exec_query("SELECT admin.ov_ssh_host('$hosttype','$resource', 'r.out.gdal input=$resource\_$param\_sf output=$_SHARED{'imgpath'}/$resource\_$param\_sf.tif format=GTiff type=Int32 createopt=\"TFW=YES\"')");

  #spi_exec_query("SELECT admin.ov_popFromQueue('$processid', '$resourceid', '$param', 'sf')");

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Александр Мурый » 31 авг 2015, 15:41

Насколько я понимаю, IDW - не самый подходящий способ интерполяции для ваших данных и требований к выходным материалам.
Вам бы больше подошли какие-нибудь сплайны (модули v.surf.rst и v.surf.bspline) или метод "естественного соседства" (дополнит. модуль r.surf.nnbathy).

Кстати, версия GRASS какая? 6.4* или 7.*?
Редактор материалов, модератор форума

Аватара пользователя
Енот
Новоприбывший
Сообщения: 9
Зарегистрирован: 28 авг 2015, 12:35
Репутация: 0

Re: Generic Mapping Tools(GMT) и работа с ним

Сообщение Енот » 31 авг 2015, 15:59

версия 6.4.1

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

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

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