Приветствую всех.
Изучаю тему, результат пока не очень
По материалам вики http://wiki.openstreetmap.org/wiki/RU:Mapnik:_Rendering_OSM_XML_data_directly и при поддержки Ergo получил “белый квадрат”.
В этой связи есть вопрос , а возможно ли этот пример воспроизвести на FreeBSD-8.2?
При установке из портов mapnik устанавливается без плагина osm. Если взять исходник с mapnik.org и прописать в config.ry osm-плагин руками, то плагин устанавливается, но в результате получаем “белый квадрат”
Спасибо за ответы.
Да, белый квадрат, но если заменить в стиле
<Map bgcolor="#f2efe9" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
на
<Map bgcolor="#f2efe9" srs="+proj=latlong +datum=WGS84">
всё рисуется, также замечательно работают демки из plugins/input/osm. Возможно разбирающиеся в proj’овском синтаксисе скажут в чём здесь проблема.
Касательно порта, поразбираюсь и зашлю обновление с опциональнымм osm и postgis инпутами, и возможно ещё чем-нибудь полезным. Предварительная версия порта тут: https://github.com/AMDmi3/freebsd-ports/tree/master/graphics/mapnik
Спасибо за отклик. Попробую.
По-поводу дополнительных инпутов было бы не плохо еще и osm2pgsql добавить. В портах его нет вообще, а из исходников сходу не собирается
make
make all-recursive
Making all in gazetteer
/bin/sh …/libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I… -I/usr/local/include/postgresql/server -g -O2 -MT gazetteer_la-gazetteer.lo -MD -MP -MF .deps/gazetteer_la-gazetteer.Tpo -c -o gazetteer_la-gazetteer.lo test -f 'gazetteer.c' || echo './'
gazetteer.c
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I… -I/usr/local/include/postgresql/server -g -O2 -MT gazetteer_la-gazetteer.lo -MD -MP -MF .deps/gazetteer_la-gazetteer.Tpo -c gazetteer.c -fPIC -DPIC -o .libs/gazetteer_la-gazetteer.o
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I… -I/usr/local/include/postgresql/server -g -O2 -MT gazetteer_la-gazetteer.lo -MD -MP -MF .deps/gazetteer_la-gazetteer.Tpo -c gazetteer.c -o gazetteer_la-gazetteer.o >/dev/null 2>&1
mv -f .deps/gazetteer_la-gazetteer.Tpo .deps/gazetteer_la-gazetteer.Plo
/bin/sh …/libtool --tag=CC --mode=link gcc -std=gnu99 -I/usr/local/include/postgresql/server -g -O2 -module -avoid-version -shared -o gazetteer.la -rpath /usr/local/lib/osm2pgsql gazetteer_la-gazetteer.lo
libtool: link: gcc -std=gnu99 -shared -fPIC -DPIC .libs/gazetteer_la-gazetteer.o -O2 -Wl,-soname -Wl,gazetteer.so -o .libs/gazetteer.so
libtool: link: ( cd “.libs” && rm -f “gazetteer.la” && ln -s “…/gazetteer.la” “gazetteer.la” )
sed -e"s/gazetteerdir/“echo /usr/local/share/gazetteer | sed -e's/\//\\\\\//g'
”/g" < > gazetteer-functions.sql
Syntax error: redirection unexpected
*** Error code 2
Stop in /var/distrib/osm2pgsql/gazetteer.
*** Error code 1
Stop in /var/distrib/osm2pgsql.
*** Error code 1
Stop in /var/distrib/osm2pgsql.
It’s works!
Надо gmake, а не make, а лучше вот порт:
https://github.com/AMDmi3/freebsd-ports/tree/master/converters/osm2pgsql
проверьте - если всё работает, завтра будет в портах. PR к мапнику тоже отослал.
Ой да , совсем забыл про это… давно не использовал
с gmake сырцы собрались.
Поробовал. В лоб не собралось из-за отсутствия protobuf-c
# make
===> Vulnerability check disabled, database not found
===> License GPLv2 accepted by the user
=> osm2pgsql-r26200.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://mirror.amdmi3.ru/distfiles/osm2pgsql-r26200.tar.bz2
osm2pgsql-r26200.tar.bz2 100% of 24 MB 5781 kBps
===> Extracting for osm2pgsql-r26200
=> SHA256 Checksum OK for osm2pgsql-r26200.tar.bz2.
===> Patching for osm2pgsql-r26200
===> osm2pgsql-r26200 depends on executable: gmake - found
===> osm2pgsql-r26200 depends on file: /usr/local/bin/automake-1.11 - found
===> osm2pgsql-r26200 depends on file: /usr/local/bin/autoconf-2.68 - found
===> osm2pgsql-r26200 depends on package: libtool>=2.4 - found
===> osm2pgsql-r26200 depends on executable: pkg-config - found
===> osm2pgsql-r26200 depends on shared library: proj - found
===> osm2pgsql-r26200 depends on shared library: geos - found
===> osm2pgsql-r26200 depends on shared library: protobuf-c - not found
===> Verifying install for protobuf-c in /usr/ports/devel/protobuf-c
===> Returning to build of osm2pgsql-r26200
Error: shared library "protobuf-c" does not exist
*** Error code 1
Stop in /var/distrib/AMDmi3-freebsd-ports-870bce1/converters/osm2pgsql.
#
доставил protobuf-c и все собралось
Спасибо.
Так не должно быть, protobuf-c должен поставиться из зависимостей, а у вас, хотя make для него запускается, ничего не происходит. Порты свежие? Проблема повторяется если удалить protobuf-c и переустановить osm2pgsql?
А вообще, меня больше интересует работоспособность установленного из этого порта osm2pgsql.
Порты свежие.
сделал make clean для порта osm2pgsql
удалил порты
удалил protobuf-c-0.15.tar.gz из distfiles
сделал pkgdb -F
при установки osm2pgsql из порта protobuf-c начал ставится автоматом
Пока разобралься только с прямым экспортом из osm.
“Курю” вики по osm2pgsql , по результатм отпишусь обязательно.
Спасибо.
osm2pgsql из порта отработал:
# osm2pgsql --create --database gis --username gis --prefix planet --slim -S /usr/local/share/osm2pgsql/default.style --cache 2048 --hstore /var/osm/tver.osm
osm2pgsql SVN version 0.70.5
Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_point
NOTICE: table "planet_point" does not exist, skipping
NOTICE: table "planet_point_tmp" does not exist, skipping
Setting up table: planet_line
NOTICE: table "planet_line" does not exist, skipping
NOTICE: table "planet_line_tmp" does not exist, skipping
Setting up table: planet_polygon
NOTICE: table "planet_polygon" does not exist, skipping
NOTICE: table "planet_polygon_tmp" does not exist, skipping
Setting up table: planet_roads
NOTICE: table "planet_roads" does not exist, skipping
NOTICE: table "planet_roads_tmp" does not exist, skipping
Mid: pgsql, scale=100, cache=2048MB, maxblocks=262145*8192
Setting up table: planet_nodes
NOTICE: table "planet_nodes" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_nodes_pkey" for table "planet_nodes"
Setting up table: planet_ways
NOTICE: table "planet_ways" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_ways_pkey" for table "planet_ways"
Setting up table: planet_rels
NOTICE: table "planet_rels" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_rels_pkey" for table "planet_rels"
Reading in file: /var/osm/tver.osm
Processing: Node(870k) Way(71k) Relation(1340) parse time: 71s
Node stats: total(870247), max(1244835783)
Way stats: total(71930), max(108516751)
Relation stats: total(1340), max(1540892)
Going over pending ways
processing way (45k)
Going over pending relations
node cache: stored: 870247(100.00%), storage efficiency: 6.53%, hit rate: 100.00%
Committing transaction for planet_point
Stopping table: planet_nodes
Stopping table: planet_ways
Stopping table: planet_rels
Committing transaction for planet_roads
Sorting data and creating indexes for planet_point
Building index on table: planet_rels
Sorting data and creating indexes for planet_roads
Building index on table: planet_ways
Committing transaction for planet_polygon
Stopped table: planet_nodes
Committing transaction for planet_line
Stopped table: planet_rels
Sorting data and creating indexes for planet_polygon
Sorting data and creating indexes for planet_line
Completed planet_roads
Completed planet_point
Completed planet_line
Completed planet_polygon
Stopped table: planet_ways
#
поробую отрасторизовать теперь…
Отлично. В общем, osm2pgsql и улучшения порта мапника уже в дереве. Пользуясь случаем, сделал http://wiki.openstreetmap.org/wiki/FreeBSD
Очень полезная страничка, имхо.
Я то я, например, только недавно обнаружил, что osm2mp в уже есть портах
mapserver/geoserver не стоит туда добавить?
done
Есть у кого время mapnik до 2.0 обновить?
Пишите maintainer’у.
от send-pr’ил