[Talk-de] AddGeometryColumn() War: Re: Abstände zu POIs visualisieren?

Sarah Hoffmann lonvia at denofr.de
Do Nov 12 21:09:41 UTC 2009


On Thu, Nov 12, 2009 at 07:06:21PM +0100, Stefan Schwan wrote:
> Als absoluter Anfänger habe ich das mal ausprobiert: Ich bekomme von 
> Mapnik so nur eine Fehlermeldung:
> 
> UserWarning: PostGIS Driver Error: Geometry column not specified or 
> found in geometry_columns table: 'postboxareas'. Try setting the 
> 'geometry_field' parameter or adding a proper geometry_columns record 
> (encountered during parsing of layer 'postboxarealayer')
> 
> Ich habe inzwischen herausbekommen, das die Funktion addgeometrycolumn 
> hier Abhilfe schaffen soll, und die neue Tabelle mit der fehlenden 
> Spalte ausrüstet und sie der Tabelle  geometry_columns einträgt.
> 
> Ich habe also versucht, nach 
> 
> CREATE TABLE postboxareas AS SELECT buffer(way, 500) FROM 
> planet_osm_point WHERE amenity='post_box';
> 
> die Abfrage
> 
> SELECT AddGeometryColumn ( 'postboxareas', 'geom', 900913, 'POLYGON', 2 );
> auszuführen.

Das fügt eine zusätzliche Geometrie-Spalte in deine Tabelle. Das
ist nicht, was du willst, sondern du musst Mapnik mitteilen, dass
deine einzige Spalte die Geometry enthält. Diese Info holt sich
Mapnik aus der Tabelle geometry_columns. Dort musst du einen
Eintrag hinzufügen.

Es ist besser, wenn du deiner Spalte einen expliziten Namen gibst:

CREATE TABLE postboxareas AS SELECT buffer(way, 500) as geom FROM
planet_osm_point WHERE amenity='post_box';

Dann die Info in die geometry_columns-Tabelle einfügen:

INSERT INTO geometry_columns VALUES('', 'public', 'postboxareas', 'geom', 2, 900913, 'POLYGON');

Gruss

Sarah




Mehr Informationen über die Mailingliste Talk-de