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