[Talk-de] Mapnik WMS Server will nicht mit postgis

Jan-Benedict Glaw jbglaw at lug-owl.de
Mi Nov 12 20:13:57 UTC 2008


On Wed, 2008-11-12 20:58:22 +0100, FreeWorld <freemaps.osm at googlemail.com> wrote:
> Hallo und danke für deine Antwort! Hilft leider bei meinem Problem noch
> nicht so richtig weiter glaub ich. In der osm.xml steht ja, so weit ich
> weiß, nicht drin, wo die Daten herkommen, sondern nur wie sie aussehen
> sollen.

Doch, genau das.

In meiner osm.xml z.B. (die entspricht, bis auf Pfade zu Icons, dem,
was OSM auch in subversion hat) findet man (nebst vielen weiteren
hits):

  <Layer name="water_areas" status="on" 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">
    <StyleName>water_areas</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">/var/run/postgresql</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="table">(select * from planet_osm_polygon where waterway IS NOT NULL or landuse='reservoir' or landuse
='water' or  "natural"='lake' or "natural"='water' or "natural"='land' order by z_order) as water_areas</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
  </Layer>

(Das findest Du dann im SVN unter applications/rendering/mapnik/)

In der Datei steht also *alles* (bis auf die Rohdaten) drin, was man
braucht, um ein Bild zu malen.

> Jan-Benedict Glaw schrieb:
> > Ich hab' das Mapnik'sche WMS-Frontend noch nie genutzt, aber gefühlt
> > ist es falsch, dort eine Tabelle anzugeben.
> 
> Naja ich bin nach diesen Hinweisen hier gegangen:
> http://trac.mapnik.org/wiki/PostGIS

Das ist hier IMHO total umständlich dargestellt. Stell' Dir vor, Du
würdest Karten so rendern lassen wollen, wie sie auf den tile servern
liegen. Dann müßtest Du _alle_ Regeln, die im osm.xml implementiert
sind, jeweils über mehrere Zeilen Python-Code neu erzeugen.

> > Unterm Strich würde ich erwarten, daß da sowas wie das osm.xml
> > eingefüttert werden muß, was die ganzen Mal-Anweisungen enthält.
> 
> Das ist glaub ich ein anderes Thema. Ich hatte gelesen, dass man wohl
> zuerst ein Mapobjekt mit der osm.xml laden soll, dann alle Eigenschaften
> in ner Schleife auslesen und der WMS-Factory hinzufügen muss.

Gemacht hab' ich das ja auch noch nie, aber so wird es in dem Ticket
(inkl. Source zum cut'n'pasten), das ein paar Zeilen weiter unten
steht, beschrieben.

> Hab da aber auch nicht so den Plan. Das wollte ich mir aufheben, wenn
> das einfach rendern aus der Datenbank überhaupt irgendwie klappt.

Ich würds genau andersherum machen. Wozu viel Arbeit in hunderte von
Regeln investieren, wenn man mit dem Abmausen von 20 Zeilen aus einem
Ticket dasselbe Ergebnis bekommt?

> > Dazu gibts ein Ticket:
> > 
> > http://trac.mapnik.org/ticket/129
> > 
> > Daraus kannst Du vermutlich den Code klauen--oder eben warten, bis
> > entsprechende Distributions-Pakete verfügbar sind.
> 
> Muss mal schaun, was ich davon verwenden kann. Ich seh schon, da muss
> ich noch viel rumprobieren.

Ich denk' eher, daß das Abmausen des 2. Ticket-Eintrages ("Hello, I
finished the function[...]") schon die Lösung Deines Problemes ist.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:  The course of history shows that as a government grows, liberty
the second  : decreases."  (Thomas Jefferson)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digital signature
URL         : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20081112/0ccf0d11/attachment.sig>


Mehr Informationen über die Mailingliste Talk-de