Eigener Kartenserver ? Selber Karten in PNG rendern?

Da bin ich noch ein wenig ratlos.
Wo kommen bei dir Umlaute vor? in den Ordnernamen?
Verwenden beide die gleiche osm.xml?
Stehen in der datasource-settings.xml.inc die richtigen Parameter für die mit osm2pgsql befüllte Datenbank?

Du brauchst zum update nur das hier laufen lassen.


D:\Karten\OpenStreetMap\pbftoOsm\pbftoosm.exe -h=1000 < D:\Karten\osm\Geofabrik\nordrhein-westfalen.osm.pbf > D:\Karten\osm\Geofabrik\nordrhein-westfalen.osm
D:\Karten\OpenStreetMap\osm2pgsql\osm2pgsql --create --database bboxdb --username osmuser --prefix planet --slim --cache 1024 -S D:\Karten\OpenStreetMap\osm2pgsql\default.style --hstore D:\Karten\osm\Geofabrik\nordrhein-westfalen.osm
cd D:\osm\myMapnik
nrw-mapnik-8-13.py

Das entpacken mit pbftoOsm läuft wesentlich schneller als die Verwendung der osm.bz2-Version.
Und die sql-Zeilen braucht man nur beim ersten Mal durchlaufen zu lassen.

Der Teil mit osmosis ist für dich überflüssig, ja.
Siehe hier:
http://wiki.openstreetmap.org/wiki/User:Ajoessen/Postgis#Die_gro.C3.9Fe_Entscheidung:_osmosis_oder_osm2pgsql.3F

Gruß,
ajoessen

Hi,

also die datasource-settings.xml.inc sieht so aus

Was mir noch aufgefallen ist:
Ich habe PostGre in der Version 9 installiert. Da wurde nicht nach der Installation von Stack Builder gefragt.
Weiterhin war bei der Installation von PostGis die Frage

die ich mit Nein beantwortete.

Ansonten viel mir noch auf, dass in der Anleitung für settings.xml.inc

%(symbols)s → symbols ZWEIMAL vorkam, obwohl er im File nur einmal zu finden war ?! Korrekt?

Ansonsten bin ich derzeit ziemlich hilflos, und weiss nicht, wie ich den Fehler beheben kann.
Ggf nochmal alle Schritte erneut durchführen? Muss ich vorher etwas löschen?

Habe wohl auch gerade gelesen, dass ich beides installiert habe (osmosis oder osm2pgsql; im Tutorial überlesen)
Wie lösche ich osmosis wieder?

Greets

Byte

Da ist was faul:


<!--
Settings for your postgres setup.

Note: feel free to leave password, host, port, or use blank
-->

<Parameter name="type">postgis</Parameter>
<Parameter name="password">%(password)s</Parameter>
<Parameter name="host">localhost</Parameter>
<Parameter name="port">5432</Parameter>
<Parameter name="user">osmuser</Parameter>
<Parameter name="dbname">bboxdb</Parameter>
<!-- this should be 'false' if you are manually providing the 'extent' -->
<Parameter name="estimate_extent">true</Parameter>
<!-- manually provided extent in epsg 900913 for whole globe -->
<!-- providing this speeds up Mapnik database queries -->
<Parameter name="extent">0,0,20037508,20037508</Parameter>


Ich schrieb doch: nicht die neueste Version :wink:

Beim Anlegen der neuen Datenbank müssen die sql-Zeilen dann entsprechend anders lauten.
%ProgramFiles%\PostgreSQL\8.4\bin\createdb und folgende wird dann bei dir vermutlich nicht laufen.
Eventuell heißen die .sql-Dateien jetzt anders oder stehen woanders. Mit 8.4 wäre das nicht passiert :wink:

sollte kein Problem sein. Alternativ kann man auch generate_xml.bat benutzen, wie hier beschrieben:
http://wiki.openstreetmap.org/wiki/User:Ajoessen/myMapnik#Basislayer_myMapnik

Bei mir steht in der settings.xml.inc:


<!--
Settings for symbols, the spatial reference of your postgis tables, coastline shapefiles directory, and their prefix names.
-->

<!-- use 'symbols' unless you have moved the symbols directory -->
<!ENTITY symbols "symbols">

<!-- use the '&srs900913;' entity if you have called osm2pgsql without special flags (or with -m); use '&srs4326;' if you have used -l -->
<!ENTITY osm2pgsql_projection "&srs900913;">

<!-- used for 'node in way' ST_DWithin spatial operations -->
<!-- Use 0.1 (meters) when your database is in 900913     -->
<!-- Use 0.000001 (degrees) when your database is in 4326 -->
<!ENTITY dwithin_900913 "0.1">
<!ENTITY dwithin_4326 "0.00001">
<!ENTITY dwithin_node_way "0.1">

<!-- use 'world_boundaries', which is the usual naming for the local folder the coastline shapefiles are unzipped into -->
<!ENTITY world_boundaries "world_boundaries">

<!-- use 'planet_osm' unless you have customized your database table prefix using the osm2pgsql 'prefix' flag -->
<!ENTITY prefix "planet">

Osmosis an sich ist ja nicht schlecht. Die osmosis-Datenbank kannst du mit dem PGadminIII löschen:
Start/Programme/PostgreSql9.0/pgAdminIII
Doppelklicken auf Postgres 9.0
Klicken auf das + vor Datenbanken
Doppelklick auf Osmosisdb
Rechtsklick Löschen/Droppen

gruß,
ajoessen

Hi,

OK, werde die 8.4 installierten. Die Pfadangaben hatte ich in den Skripten aber angepasst.
Teste mal die 8.4 und melde mich nochmal!
Sorry (da stand nur überall, man sollte unbedingt die neueste Version nutzen).

Danke für das Update-Skript.

Aber was ist in der nrw-mapnik-8-13.py ?
Die ist nicht in meinem Mapnik verzeichnis :wink:

Greets

Byte

Aber bitte die 9.0 vorher deinstallieren. Beide gleichzeitig an Port 5432 funktioniert nämlich nicht!

Achso, das ist Mapnik für Fortgeschrittene: Für jeden Layer habe ich die generate_tiles.py dupliziert, und weil Zoom 8-13 schnell durchläuft, kommen Zoom 14 und 15 in eigene Batchdateien für die Nachtschicht :wink:

Gruß,
ajoessen

Hi,

bei mir geht das mit PostgreSQL 9.0 (Windows XP).

@ajoessen: wo genau macht die Version Probleme?

Gruß,
ikonor

Der Fehler mit addr:housename kommt meines Wissens daher, dass Mapnik das neuerdings rendert und deshalb von dieser Spalte selektieren will, bei ner älteren Version von osm2pgsql das aber noch nicht im default.style ist. D.h. hier müsste es helfen eine entsprechende Zeile im default.style anzulegen oder ggf. osm2pgsql zu aktualisieren oder auch die Spalte manuell anzulegen (ist dann halt leer).

[Edit:]

der Parameter estimate_extent in datasource-settings.xml.inc müsste doch eigentlich Boolean (true oder false) sein, oder nicht?

Ist aber in der Version von
http://tile.openstreetmap.org/osm2pgsql.zip
schon richtig drin.

Ja, das ist falsch.

Die 9.0 mag bei dir laufen. Ich habe nur 8.3 und 8.4 ausprobiert.
Eventuell gab es damals noch kein postgis für 9.0.
Beide parallel auf dem gleichen Rechner tats nicht, weil eben nicht beide am gleichen Port lauschen dürfen. Das wird schon bei der Installation verweigert.

gruß,
ajoessen

Gruß,
ajoessen

Hi,

nur als Zwischenfrage…
ich importiere gerade… (4 Stunden).

ich bekomme u.a. folgende Meldungen beim Überspielen…

Ist “INWEIS: Argumentt
yp intbig_gkey ist nur eine Hülle” ein Problem ?

Außerdem wundert mich die Meldung mit dem -s! Im Parameter ist doch --slim angegeben?!

Greets

Byte

Das rauscht bei mir so schnell durch, dass ich das noch nie gelesen habe. Aber der Rest sieht so aus wie bei mir.

Gruß,
ajoessen
Node(14170k) Way(2235k) Relation(35k)

Hi,

danke das 650000,6500000,1060000,6900000
hab ich übersehen!
kommt da true ODER true
rein ?

Ich habe die aktuelle osm2pgsql.zip verwendet!
Mein aktuelles default.style sieht so aus:

Greets

Byte

Es gab mal Zeiten, da wurde behauptet, dass die 9.0 für unsere Zwecke langsamer wäre, als wenn man die 8.4 verwendet.
Inzwischen hat sich aber osm2pgsql weiterentwickelt.

Ich seh da jetzt nicht den Unterschied :wink:
So, wie ich es in Post #22 reinkopiert habe, klappt es bei mir (evtl bis auf den Datenbanknamen).

das ist auch richtig so.

Gruß,
ajoessen

Die Windows-Version aber nicht :frowning:

Gruß,
ajoessen

Habs mir nochmal runtergeladen und angeschaut: die Datei osm2pgsql\default.style ist vom 25.03.2010 und enthält nur eine Zeile mit addr:housenumber, aber nicht mit addr:housename. Beim OSM Mapnik Style wurde das erst gegen 09.05.2011 eingeführt.

Im osm2pgsql SVN gibt es die entsprechende Zeile:


node,way   addr:housename      text  linear

D.h. die müsste man noch in die default.style einfügen und neu importieren, damit die Spalte angelegt und befüllt wird.

Das Problem ist wohl, dass es keine aktuellen Builds für osm2pgsql auf Windows gibt, siehe auch kürzlicher Post von Frederik.

@Bytechanger: da Du jetzt schon neu importierst, hilft es als vorübergehender Workaround evtl. die Spalte manuell anzulegen:


ALTER TABLE planet_osm_polygon ADD COLUMN "addr:housename" text;
ALTER TABLE planet_osm_point ADD COLUMN "addr:housename" text; 

Quelle: http://www.bostongis.com/PrinterFriendly.aspx?content_name=generating_osm_tiles

Ok, danke. Wollte nur wissen, ob es Gründe gegen die 9er gibt, die mir halt noch nicht aufgefallen sind.

Das würde ich auch nicht raten wollen, erst recht nicht, wenn noch nicht mal ein Setup richtig läuft.

Ansonsten ist es ja schon ratsam, sich bei Problemen strikt an die Anleitung zu halten, inklusive Versionen. Nur lädt man den Mapnik Style aktuell aus dem SVN, deshalb glaube ich, dass das Problem in diesem Fall an der Kombination Mapnik/osm2pgsql liegt.

Bytechanger geht hier wohl nach der Anleitung “Mapnik” vor, bei “myMapnik” (Deinem aktuellen Setup?) gibt es das Problem vermutlich nicht, da dort der deutsche Stil verwendet wird, der die addr:housename Änderung evtl. noch gar nicht drin hat.

Äh, es ist genau andersrum. Die 8.4 war im Verdacht, beim Import extrem langsam zu sein (war auf meinem Server auch der Fall), die 9.0 läuft dagegen einwandfrei.

bye
Nop

Falls nicht bereits geloest: Dieser Fehler liegt vermutlich daran dass die Version von osm2pgsql nicht zu dem rendering style passt. Die Datei default.style in osm2pgsql beschreibt welche Daten in die Datenbank importiert werden sollen. Nur die Daten die dort angegeben wurden, koennen dann von dem Mapnik style verwendet werden um gerendert zu werden.

Gelegentlich werden die Styles angepasst um mehr sachen zu rendern. Dann muss man auch die default.style in osm2pgsql anpassen und die Daten neu laden. addr:housename wurde am 6ten Februar in die defaul.style aufgenommen. Ist deine default.style also aelter dann enthaelt die Datenbank nicht die noetigen Daten.

osm2pgsql fuer Windows (bzw. wenn man die Version aus den Linux distributionen verwendet) wird recht selten neu compiliert. Insofern kann es gut sein das die default.style noch aelter ist.

Am besten einfach die neueste Version der Datei aus dem SVN repository herunterladen (http://trac.openstreetmap.org/browser/applications/utils/export/osm2pgsql/default.style?format=raw) und das verwenden. Ansonsten koennte man auch die Mapnik Style files anpassen um nicht addr:housename zu verwenden, ist aber vermutlich aufwendiger, da noch ein paar andere Sachen hinzugefuegt wurden.

Was hat sich nicht weiterentwickelt? Ich habe jedenfalls auch problemlos in mit osm2pgsql in eine 9.x Datenbank eingelesen.

Sowohl Version 8.4 als auch 9.0 koennen (bei diff imports) deutlich langsamer sein als Version 8.3. Dies liegt daran das in Version 8.4 ein neues Feature fuer Indexe eingefuert wurde (Fastupdate), das in unserem Fall genau das Gegenteil bewirkt. Insofern muss man fuer die entsprechenden Indexe fastupdate ausschalten.

Osm2pgsql soll das eigentlich inzwischen automatisch machen. Es hat aber zur Zeit einen Bug, so das das nicht der Fall ist (zumindestens nicht in allen Faellen).

Wenn man aber keine diff imports macht, gibt es so weit ich weis keine Probleme, weder mit 8.4 oder mit 9.0.