2009/6/12 Robert Coup <[email protected]>:
>
>
> On Fri, Jun 12, 2009 at 10:25 AM, William Temperley
> <[email protected]> wrote:
>>
>> Thanks - it's making some sense now, though for me this seems somewhat
>> confusing behaviour.
>> I'd been expecting behaviour similar to shp2pgsql where you can
>> specify arbitrary queries, which don't get messed with. Mapnik
>> rewrites the query in somewhat non-transparent ways.
>
> Yeah, it's something I've been thinking about cleaning up.
> Currently by default it:
>  - find the geometry from the geometry_columns table
>  - figures out whether it needs to do transforms based on the map projection
> & the geometry field projection
>  - takes all your filters and figures out which attribute fields it needs
>  - constructs a query for those attribute fields and the geometry
>  - does a where clause for the map extent against the geometry field
>  - runs it
> Bad things:
>  - filters are all done in mapnik (if you're drawing all the data that's
> fine, otherwise it gets too much data out)
>  - if you would rather reproject in postgis it gets messy
>  - if you have multiple geometry fields you need to use my geometry_field=
> thing
>  - using custom sql is ... interesting - the general pattern is
> table="(SELECT blah FROM ... WHERE ...) AS x", but you need to make sure
> field names all line up.
> Good things:
>  - doesn't pull unnecessary attribute fields from the database (ala SELECT *
> FROM)
>  - edit the map xml / script, add a new filter and it just works
>  - great for simple use cases
>
>>
>> I've ended up hacking postgis.cpp, allowing the table parameter to
>> pass straight through and be executed unadulterated (i.e. I can pass
>> arbitrary queries shp2pgsql style, provided I use "AsBinary(the_geom)
>> as geom" to get the geometry. Works well for me. Can provide a patch
>> if anyone wants.
>
> I've been wondering whether we do something like:
>  table= -> current behaviour
>  sql= -> all on your own, you need to make sure the
> fields/geometries/everything are correct.
> Opinions?
> Rob :)
> --

+1 for that - exactly what I'd like to see, though I guess you knew that :-)
The ability to use ad-hoc spatial and non-spatial queries is, after
all, the reason I use PostGIS.

Will
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to