[Мастер-класс] Создание местных СК в QGIS

Всё про конференцию, организация и участие. Не стесняйтесь, спрашивайте.
Ответить
Игорь Белов
Гуру
Сообщения: 1446
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 893
Откуда: Казань

[Мастер-класс] Создание местных СК в QGIS

Сообщение Игорь Белов » 15 ноя 2015, 23:29

Название мастер-класса: Создание координатных систем города и линейного объекта в QGIS
Мы построим две проекции, представляющие в QGIS местные системы координат населённого пункта и аэродрома, используя консольные утилиты.

Требования: Ноутбук под Linux или Windows, QGIS с плагином OpenLayers или QuickMapServices.
При решении первой задачи мы используем PROJ.4, программку helmkey для вычисления параметров конформного преобразования, электронные таблицы.
Для решения второй задачи понадобятся PROJ.4 версии 4.9, блокнот, калькулятор.
Данные будут представлены на конференции. Также будут представлены утилита helmkey и пакет proj-4.9.2 в исходниках и скомпилированные под Windows (proj-4.9.2 под Linux рекомендуется скомпилировать заранее из исходников, лежащих здесь: http://download.osgeo.org/proj/).
Данные и необходимые утилиты выложены здесь. Содержимое архива:

archive.html - содержимое архива
--- Исходные данные для городской СК ---
cat_local.dat - каталог пунктов в местной СК
cat_s42z4.dat - каталог в государственной СК
--- Исходные данные для СК аэродрома ---
dist.dat - длина ВПП
ends.dat - координаты концов оси ВПП
--- Утилита helmkey ---
helmkey.c - исходные коды
helmkey.exe - исполняемый модуль MS Windows
Makefile - makefile
--- proj-4.9.2 ---
proj-4.9.2-win32.7z - бинарные файлы для MS Windows
proj-4.9.2.tar.gz - исходные коды
--- Карта в городской СК ---
town.dbf
town.qml
town.shp
town.shx

Утилита helmkey вычисляет параметры конформного преобразования. Исполняемый модуль для Linux компилируется командой make; для Windows он уже готов.

Для создания СК линейного объекта необходим пакет PROJ.4 версии 4.9, т. к. начиная с этой версии утилита geod вычисляет ПГЗ и ОГЗ на эллипсоиде.
Исходники proj-4.9.2 взяты отсюда или отсюда.
Бинарники под Linux необходимо скомпилировать заранее; для Windows они скомпилированы из исходников, взятых здесь.

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 18 ноя 2015, 07:24

хотел бы уточнить, т.к. не собирал ничего из исходников.

в synaptic я увидел что у меня установлена proj-4.8.0-5
я скачал указанный выше архив (Данные и необходимые утилиты выложены здесь.)
распаковал, в полученной директории распаковал proj-4.9.2.tar.gz.
внутри /proj-4.9.2.tar выполнил:

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

$ ./configure
$ make
$ sudo make install
это я увидел тут


далее поднялся на уровень вверх и выполнил как проверить что я всё сделал верно?
при компиляции proj-4.9.2 ошибок в консоли я не увидел.

Игорь Белов
Гуру
Сообщения: 1446
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 893
Откуда: Казань

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Игорь Белов » 18 ноя 2015, 08:24

В целом вы действуете правильно. В исходниках имеется файл INSTALL с подробным описанием действий.
По умолчанию пакет устанавливается в /usr/local, и в системе остаются также модули прежней версии. Во-первых, узнаем, откуда запускаются модули:

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

which geod
Во-вторых, каждый из модулей proj, cs2cs, geod выводит при запуске версию. Если запускается версия 4.8, запустим 4.9, указав полный путь:

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

/usr/local/bin/geod
Или исправим системную переменную PATH, поставив /usr/local/bin перед прочими:

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

export PATH="/usr/local/bin:$PATH"
Лично я в подобных случаях стараюсь не устанавливать библиотеки в систему, ставлю в пользовательское дерево. Для этого configure запускаю с параметром:

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

./configure --prefix=/home/<имя-пользователя>
или ещё какой путь в своих директориях. Далее как обычно:

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

make
make check
make install

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 18 ноя 2015, 08:41

тогда ещё вопрос. как удалить, то что я сделал?
хочу переустановить у себя в home вот так:

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

./configure --prefix=/home/<имя-пользователя>
ибо не работает

Игорь Белов
Гуру
Сообщения: 1446
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 893
Откуда: Казань

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Игорь Белов » 18 ноя 2015, 09:11

Специальных средств деинсталляции нет. А что именно не работает?

Предположим, PROJ.4 установлена в /usr/local.

1

Если жалобы на библиотеки, задайте системную переменную PROJ_LIB:

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

export PROJ_LIB=/usr/local/share/proj
2

Если /usr/local/bin отсутствует в PATH, забудьте об инсталляции, она не мешает. Общий объём файлов невелик.

3

Если у Вас Ubuntu, в /usr/local, скорее всего, только PROJ.4. Убедитесь в этом (сравните с содержимым бинарников для Windows). Если так, удалите всю ветку

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

sudo -rf /usr/local
или директории с содержимым внутри.

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 18 ноя 2015, 09:26

запускаю /usr/local/bin/geod
получаю:
error while loading shared libraries: libproj.so.9

/usr/local/bin есть в PATH

у меня Debian 8.1

Александр Мурый
Гуру
Сообщения: 5057
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 714
Ваше звание: званий не имею
Откуда: Москва

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Александр Мурый » 18 ноя 2015, 09:39

Что выдают команды

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

ldd /usr/local/bin/geod
и

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

locate libproj.so
?
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5057
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 714
Ваше звание: званий не имею
Откуда: Москва

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Александр Мурый » 18 ноя 2015, 09:42

У меня в Debian с репозиториями stretch/sid (testing/unstable) есть пакет "proj-bin" версии 4.9.2-1 и библиотека "libproj9" (как его зависимость).
Редактор материалов, модератор форума

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3325
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 495
Ваше звание: Author
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Denis Rykov » 18 ноя 2015, 10:21

У меня тоже был старый proj.4, но собралось всё без проблем:

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

$ git clone git@github.com:OSGeo/proj.4.git
$ cd proj.4
$ git checkout 4.9
$ ./configure --prefix=/home/rykov/proj4.9
$ make
$ make install
$ ~/proj4.9/bin/geod
Rel. 4.9.0, 13 September 2014
usage: geod [ -afFIptTwW [args] ] [ +opts[=arg] ] [ files ]
Владислав, если хотите удалить то, что поставилось в /usr/local, то вот список файлов, которые ставит proj4:

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

$ tree ~/proj4.9/
/home/rykov/proj4.9/
├── bin
│   ├── cs2cs
│   ├── geod
│   ├── invgeod -> geod
│   ├── invproj -> proj
│   ├── nad2bin
│   └── proj
├── include
│   ├── geodesic.h
│   ├── org_proj4_PJ.h
│   ├── org_proj4_Projections.h
│   ├── proj_api.h
│   └── projects.h
├── lib
│   ├── libproj.a
│   ├── libproj.la
│   ├── libproj.so -> libproj.so.0.8.0
│   ├── libproj.so.0 -> libproj.so.0.8.0
│   ├── libproj.so.0.8.0
│   └── pkgconfig
│       └── proj.pc
└── share
    ├── man
    │   ├── man1
    │   │   ├── cs2cs.1
    │   │   ├── geod.1
    │   │   └── proj.1
    │   └── man3
    │       ├── geodesic.3
    │       └── pj_init.3
    └── proj
        ├── CH
        ├── epsg
        ├── esri
        ├── esri.extra
        ├── GL27
        ├── IGNF
        ├── nad27
        ├── nad83
        ├── nad.lst
        ├── ntf_r93.gsb
        ├── ntv1_can.dat
        ├── null
        ├── nzgd2kgrid0005.gsb
        ├── other.extra
        ├── proj_def.dat
        └── world

9 directories, 38 files
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 18 ноя 2015, 11:33

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

filippov@voidbook:~$ ldd /usr/local/bin/geod
	linux-vdso.so.1 (0x00007ffe0af1b000)
	libproj.so.9 => not found
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f317eb3b000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f317e83a000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f317e491000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f317ed58000)
filippov@voidbook:~$ locate libproj.so
/usr/lib/libproj.so.0
/usr/lib/libproj.so.0.7.0

Александр Мурый
Гуру
Сообщения: 5057
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 714
Ваше звание: званий не имею
Откуда: Москва

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Александр Мурый » 18 ноя 2015, 14:01

Владислав, а если добавить каталог /usr/local/lib в "LD_LIBRARY_PATH"? Скорее всего, именно туда установилась библиотека "libproj.so.9".
Редактор материалов, модератор форума

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 19 ноя 2015, 17:15

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

filippov@voidbook:/usr/local/lib$ export LD_LIBRARY_PATH=/usr/local/lib
filippov@voidbook:/usr/local/lib$ /usr/local/bin/geod
Rel. 4.9.2, 08 September 2015
usage: geod [ -afFIptTwW [args] ] [ +opts[=arg] ] [ files 
всем большое спасибо
в следующий раз буду ставить в home

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 966
Зарегистрирован: 17 фев 2006, 06:28
Проекты: 1
Репутация: 132
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Филиппов Владислав » 25 ноя 2015, 11:19

очень жду видео с мастер-класса!

Донецков
Гуру
Сообщения: 3051
Зарегистрирован: 19 май 2010, 19:44
Репутация: 187

Re: [Мастер-класс] Создание местных СК в QGIS

Сообщение Донецков » 27 ноя 2015, 16:32

Если будет видео, то замечательно...

Ответить

Вернуться в «Конференция "Открытые ГИС"»