Hi Peter,

I have two GDAL questions that are Mapserver adjacent (or perhaps vice-versa?).

1.  Does OGRVRTDataSource allow Python code similar to raster VRT Python Pixel Functions?
No. There is the possibility of writing a OGR driver in Python (https://gdal.org/en/stable/development/rfc/rfc76_ogrpythondrivers.html), but this is rather experimental, and will not have great performance.
2.  Is there a reasonable way to pass custom arguments to a VRT?

Is there a reasonable way to pass some argument to filter the VRT?  For example, a condition like `WHERE some_table.id <http://some_table.id> = 123`.  Imagine the query has a very large number of records. I dont want to process the filter "client side":  Ideally the condition gets executed in SQL before OGR gets any results.  I am aware of ogr2ogr's -sql statement https://gdal.org/en/stable/programs/ogr2ogr.html#cmdoption-ogr2ogr-sql

That would require some tweaks in the OGR PostgreSQL driver so that a SQL result layer can forward an attribute filter to the server (not a huge deal), and also in the MapServer OGR connector, so that it detect that the OGR dataset is a VRT of a PostgreSQL layer and forwards its the filter.

Another possibility (admitedly with some initial setup cost, but potentially opening more future possibilities) is that you don't directly use the MapServer CGI, but have a Python WSGI server that intercepts requests and generate mapfiles on the fly, and use Python MapScript to get the result.

Even

--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to