Mapnik и osm- плагин на FreeBSD-8.2

Приветствую всех.
Изучаю тему, результат пока не очень :frowning:
По материалам вики http://wiki.openstreetmap.org/wiki/RU:Mapnik:_Rendering_OSM_XML_data_directly и при поддержки Ergo получил “белый квадрат”.
В этой связи есть вопрос , а возможно ли этот пример воспроизвести на FreeBSD-8.2?
При установке из портов mapnik устанавливается без плагина osm. Если взять исходник с mapnik.org и прописать в config.ry osm-плагин руками, то плагин устанавливается, но в результате получаем “белый квадрат” :frowning:
Спасибо за ответы.

Да, белый квадрат, но если заменить в стиле

<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 добавить. В портах его нет вообще, а из исходников сходу не собирается :frowning:

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! :slight_smile:

Надо gmake, а не make, а лучше вот порт:

https://github.com/AMDmi3/freebsd-ports/tree/master/converters/osm2pgsql

проверьте - если всё работает, завтра будет в портах. PR к мапнику тоже отослал.

Ой да , совсем забыл про это… давно не использовал :slight_smile:
с 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 :slight_smile: , по результатм отпишусь обязательно.

Спасибо.

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 в уже есть портах :slight_smile:

mapserver/geoserver не стоит туда добавить?

done

Есть у кого время mapnik до 2.0 обновить?

Пишите maintainer’у.

от send-pr’ил :slight_smile: