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

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

[Мастер-класс] Создание местных СК в 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 они скомпилированы из исходников, взятых здесь.
The purpose of computing is insight, not numbers

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

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 ошибок в консоли я не увидел.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

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
The purpose of computing is insight, not numbers

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

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

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

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

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

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

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

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
или директории с содержимым внутри.
The purpose of computing is insight, not numbers

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

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

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

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

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

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

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

ldd /usr/local/bin/geod
и

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

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

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

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

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

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

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить

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

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

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