I have no knowledge of c, osm2pgsql, geos or any of the other stuff,
but I did have a hack at it a while back, and a very simple patch
seemed to give me a usable result from my experimentations with the
London borough relations.
Also attached is a mapnik rendering style that I used to confirm it worked.
Index: output-pgsql.c
===================================================================
--- output-pgsql.c (revision 11943)
+++ output-pgsql.c (working copy)
@@ -798,6 +798,10 @@
}
}
}
+ else if( strcmp( type, "boundary" ) == 0 )
+ {
+ make_polygon = 1;
+ }
else
{
/* Unknown type, just exit */
2009/2/10 sly (sylvain letuffe) <[email protected]>:
> Hi there,
>
> It may exists somewhere so please excuse me if it does.
>
> has anyone made a patch for osm2pgsql to support boundary relations import ?
>
> Has seen in here :
> http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/output-pgsql.c
>
> It looks (I said "looks", I'm in no way a C++ expert) that only multipolygon
> and route type are supported/hard coded
>
> Before going deeper in C++ books, did anyone allready do it ?
>
> --
> sly
> Sylvain Letuffe [email protected]
> qui suis-je : http://slyserv.dyndns.org
>
>
>
> _______________________________________________
> dev mailing list
> [email protected]
> http://lists.openstreetmap.org/listinfo/dev
>
--
Regards,
Thomas Wood
(Edgemaster)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map>
<Map bgcolor="transparent" 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 +nadgri...@null +no_defs +over">
<Style name="adminpoly">
<Rule>
<LineSymbolizer>
<CssParameter name="stroke-color">black</CssParameter>
</LineSymbolizer>
<PolygonSymbolizer>
<CssParameter name="fill">red</CssParameter>
<CssParameter name="fill-opacity">0.5</CssParameter>
</PolygonSymbolizer>
</Rule>
</Style>
<Style name="admintext"><Rule>
<TextSymbolizer name="name" size="10" face_name="DejaVu Sans Bold" halo_radius="1" fill="#000" />
</Rule></Style>
<Layer name="adminpoly" 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 +nadgri...@null +no_defs +over">
<StyleName>adminpoly</StyleName>
<Datasource>
<Parameter name="type">postgis</Parameter>
<Parameter name="user">thomas</Parameter>
<Parameter name="dbname">gis</Parameter>
<Parameter name="table">
(select way,name from planet_osm_polygon where "boundary"='administrative') as adminpoly</Parameter>
<Parameter name="estimate_extent">false</Parameter>
<Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
</Datasource>
</Layer>
<Layer name="adminpoly" 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 +nadgri...@null +no_defs +over">
<StyleName>admintext</StyleName>
<Datasource>
<Parameter name="type">postgis</Parameter>
<Parameter name="user">thomas</Parameter>
<Parameter name="dbname">gis</Parameter>
<Parameter name="table">
(select way,name from planet_osm_polygon where "boundary"='administrative') as adminpoly</Parameter>
<Parameter name="estimate_extent">false</Parameter>
<Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
</Datasource>
</Layer>
</Map>
_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev