Generic Mapping Tools(GMT) и работа с ним
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Generic Mapping Tools(GMT) и работа с ним
Добрый день)
Сразу хочу уточнить, что в ГИС я новичок, и раньше не приходилось использовать 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. Спасибо, если даже просто прочтете)
Сразу хочу уточнить, что в ГИС я новичок, и раньше не приходилось использовать 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. Спасибо, если даже просто прочтете)
-
- Гуру
- Сообщения: 5278
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1014
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Generic Mapping Tools(GMT) и работа с ним
нужно построить сетку
viewtopic.php?f=27&t=17151
viewtopic.php?f=27&t=17151
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Generic Mapping Tools(GMT) и работа с ним
Я не специалист по GMT, но давайте разбираться. Во-первых, какая у вас версия? Желательно ставить версию 5.* (свежая 5.1.2).
Быстро - да, утилиты GMT написаны на Си; красиво - это субъективно, можно добиться, чтобы было красиво; удобно - ещё субъективней, кому-то работа с командной строкой кажется сущим адом, кому-то сразу задать все параметры, чтобы не "тыкать" - верх удобства; корректно - да, утилиты известные, авторы - уважаемые учёные, исходный код открыт, тыщу раз выверен.
Должна быть причина, по которой вам оказалось необходимым пользоваться GMT, а не стандартной ГИС. Обычно одной из таких причин является необходимость автоматизации построения карт. Вам в итоге надо именно это, не только изолинии?
Задача странно сформулирована: что значит "быстро, красиво, удобно, корректно"? По сравнению с чем, с каким ПО?Енот писал(а):сейчас передо мной стоит задача: освоить GMT и проверить, как он строит изолинии (быстро ли, красиво ли, удобно, корректно и тд).
Быстро - да, утилиты GMT написаны на Си; красиво - это субъективно, можно добиться, чтобы было красиво; удобно - ещё субъективней, кому-то работа с командной строкой кажется сущим адом, кому-то сразу задать все параметры, чтобы не "тыкать" - верх удобства; корректно - да, утилиты известные, авторы - уважаемые учёные, исходный код открыт, тыщу раз выверен.
Должна быть причина, по которой вам оказалось необходимым пользоваться GMT, а не стандартной ГИС. Обычно одной из таких причин является необходимость автоматизации построения карт. Вам в итоге надо именно это, не только изолинии?
Редактор материалов, модератор форума
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Re: Generic Mapping Tools(GMT) и работа с ним
Совершенно верно, это необходимо для автоматизации работы со слоями. На данный момент для этого используются библиотеки GRASS, но результат работы с изолиниями оставляет желать лучшего (изолинии получаются ломаные, с непонятными заворотами в сторону, которых быть не должно и вырисовываются лишние непонятные линии). в связи с этим было решено перейти на использование библиотек GMT, ибо распространяется свободно и (как говорят) лучше строит . Вот именно это мне необходимо проверить, строит ли он лучше, чем GRASS и, если да, то насколько; попробовать сначала на некоторых слоях, а потом уже внедрять в систему, если на слоях все получится как надо. Версия GMT 5.1.2. Решили сначала попробовать перевести построение изолиний с GRASS на GMT, а потом (если все пойдет нормально) уже и всю систему переводить на GMT.
Последний раз редактировалось Енот 28 авг 2015, 17:57, всего редактировалось 2 раза.
-
- Гуру
- Сообщения: 5278
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1014
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Generic Mapping Tools(GMT) и работа с ним
не строит, в другом месте ищите
А как вы строите изолинии? Что у вас за точки?
А как вы строите изолинии? Что у вас за точки?
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Re: Generic Mapping Tools(GMT) и работа с ним
shape-файл с отметками замеров нескольких параметров мирового океана (высота волн, скорость ветра и тп) их около 7. Изолинии строятся автоматически , там написано на perlе, поэтому корректно ответить на вопрос не могу, знаю, что вызывается библиотека для построения изолиний и рядом оформление выдаваемого результата
-
- Гуру
- Сообщения: 5278
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1014
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Generic Mapping Tools(GMT) и работа с ним
https://grass.osgeo.org/grass71/manuals/v.krige.html
Значит надо думать над методом построения. Насколько я понимаю GMT только рисует, не интерполирует.
А вам надо подобрать метод интерполяции
Значит надо думать над методом построения. Насколько я понимаю GMT только рисует, не интерполирует.
А вам надо подобрать метод интерполяции
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Re: Generic Mapping Tools(GMT) и работа с ним
Вот насчет интерполирует или нет, не знаю, вроде как должен, но не факт.
А насчет метода хоррроший вопрос..
А насчет метода хоррроший вопрос..
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Generic Mapping Tools(GMT) и работа с ним
Как верно было сказано, результат во многом зависит от выбора метода интерполяции. Как именно происходит процесс в GRASS? Скорее всего, переходить на GMT не придётся, если разобраться как следует.
В составе GMT есть утилита pscontour, которая по точкам строит изолинии через триангуляцию. Надо пробовать
Кстати, вы бы не могли выложить кусок данных? На конкретном примере легче будет разобраться.
В составе GMT есть утилита pscontour, которая по точкам строит изолинии через триангуляцию. Надо пробовать
Кстати, вы бы не могли выложить кусок данных? На конкретном примере легче будет разобраться.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: Generic Mapping Tools(GMT) и работа с ним
Есть ещё такой free soft как ODV (Oceаn Data View) odv.awi.de/ - многие океанологи, метеорологи, гидробиологи и др. специалисты в мире пользуются для экспресс-анализа своих данных. Метод интерполяции "вшитый" в него - популярный ныне DIVA modb.oce.ulg.ac.be/mediawiki/index.php/DIVAЕнот писал(а):Совершенно верно, это необходимо для автоматизации работы со слоями. На данный момент для этого используются библиотеки GRASS, но результат работы с изолиниями оставляет желать лучшего (изолинии получаются ломаные, с непонятными заворотами в сторону, которых быть не должно и вырисовываются лишние непонятные линии). в связи с этим было решено перейти на использование библиотек GMT, ибо распространяется свободно и (как говорят) лучше строит . Вот именно это мне необходимо проверить, строит ли он лучше, чем GRASS и, если да, то насколько; попробовать сначала на некоторых слоях, а потом уже внедрять в систему, если на слоях все получится как надо. Версия GMT 5.1.2. Решили сначала попробовать перевести построение изолиний с GRASS на GMT, а потом (если все пойдет нормально) уже и всю систему переводить на GMT.
Гляньте в его сторону - м.б. Вам и пригодится. Инсталлируется легко. Изолинии строит "гладенькие". 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) и работа с ним
По словам начальника, ODV не используется во всей системе, потому, что никто с ним не разбирался, а разбираться и переводить всю систему на него не слишком рационально в плане затрат времени и сил. Вот.nickleb писал(а): Есть ещё такой free soft как ODV (Oceаn Data View) odv.awi.de/ - многие океанологи, метеорологи, гидробиологи и др. специалисты в мире пользуются для экспресс-анализа своих данных.
Вы правы, возможно, если копнуть, то может что и получится изменить в лучшую сторону.Александр Мурый писал(а):Скорее всего, переходить на GMT не придётся, если разобраться как следует.
кусок вызова в БД библиотек GRASSaАлександр Мурый писал(а):Как именно происходит процесс в GRASS?
Код: Выделить всё
...', '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 (44.98 КБ) 13610 просмотров
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Generic Mapping Tools(GMT) и работа с ним
Судя по приведённому коду, в GRASS импортируется некий растр (видимо, полученный в каком-то другом ПО); по нему строятся изолинии, затем генерализуются (точнее, сглаживаются) и экспортируются в таблицу PostGIS. Т.е. вид изолиний зависит исключительно от того ПО, где создаётся растр "$_SHARED{'imgpath'}/$resource\_$param\_sf.tif". От способа интерполяции, разрешения и т.д.
Редактор материалов, модератор форума
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Re: Generic Mapping Tools(GMT) и работа с ним
тааааак
сначала там установка размера ячейки
сначала там установка размера ячейки
Код: Выделить всё
.....'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) и работа с ним
Насколько я понимаю, IDW - не самый подходящий способ интерполяции для ваших данных и требований к выходным материалам.
Вам бы больше подошли какие-нибудь сплайны (модули v.surf.rst и v.surf.bspline) или метод "естественного соседства" (дополнит. модуль r.surf.nnbathy).
Кстати, версия GRASS какая? 6.4* или 7.*?
Вам бы больше подошли какие-нибудь сплайны (модули v.surf.rst и v.surf.bspline) или метод "естественного соседства" (дополнит. модуль r.surf.nnbathy).
Кстати, версия GRASS какая? 6.4* или 7.*?
Редактор материалов, модератор форума
- Енот
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 28 авг 2015, 12:35
- Репутация: 0
Re: Generic Mapping Tools(GMT) и работа с ним
версия 6.4.1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей