[gdal-dev] OGR XYZ -> GDAL VRT?
Brent Fraser
bfraser at geoanalytic.com
Thu Dec 20 07:34:47 PST 2012
Tyler,
A while back I had a need to access (by Mapserver) points stored in a
non-spatial SQL Server database. I was able to use OGR's VRT to access
the data, and while the example below shows a datasource connection of
ODBC, you may be able to use an Oracle OCI connection instead:
<OGRVRTDataSource>
<OGRVRTLayer name='wells'>
<SrcDataSource>ODBC:auser/apass at dsname,Wells_view</SrcDataSource>
<SrcSQL>SELECT * FROM Wells_view WHERE
SurfaceLongitude > -117.684 AND SurfaceLongitude
< -117.682 AND
SurfaceLatitude > 52.499 AND SurfaceLatitude <
52.5</SrcSQL>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>NAD83</LayerSRS>
<GeometryField encoding='PointFromColumns'
y='SurfaceLatitude' x='SurfaceLongitude'/>
</OGRVRTLayer>
</OGRVRTDataSource>
Actually, I'm a little confused by the GeometryType and GeometryField
tags in the above example; you may need to experiment.
I've also constructed views in the database, basically reformatting the
lat/lon columns into WKT format to do:
<OGRVRTDataSource>
<OGRVRTLayer name='vWM_UserGraphics'>
<SrcDataSource>ODBC:auser/apass at dsname,vWM_UserGraphics</SrcDataSource>
<SrcSQL>SELECT
WKT,PropertyID,GeomType,GeomID,LayerName,ClassName,Label FROM
vWM_UserGraphics
WHERE PropertyID=%PropertyID%
AND GeomType = 0
</SrcSQL>
<FID>geomID</FID>
<GeometryType>wkbLineString</GeometryType>
<LayerSRS>NAD83</LayerSRS>
<GeometryField encoding='WKT' field='WKT'/>
</OGRVRTLayer>
</OGRVRTDataSource>
Note the "%PropertyID%" string is a Mapserver runtime substitution done
before OGR gets the VRT definition so not very useful in your case (but
it might give you a few ideas).
Hopefully I've understood at least some of what you are trying to
accomplish. At first I thought you wanted a GDAL VRT that defines a
raster, referencing an OGR VRT as the source data and defining a method
of producing a grid. Yikes!
Best Regards,
Brent Fraser
On 12/20/2012 12:50 AM, Tyler Mitchell wrote:
> On 2012-12-19, at 10:54 PM, Even Rouault wrote:
>> Le jeudi 20 décembre 2012 02:08:01, vous avez écrit :
>>> Hi all, does anyone know a way to put up a GDAL VRT fed by an OGR
>>> datasource that has data in XYZ format (regular gridded) .
>>>
>>> It doesn't have to ultimately be a VRT, just some similar on-the-fly raster
>>> format method, so I can share raster data directly from the OGR
>>> datasource. I've been digging around and saw wkt raster/postgis raster
>>> but it's really a little different than this approach as it doesn't use
>>> arrays.
>>>
>>> I can share more but thought I'd keep it simple first ;-)
>> Tyler,
>>
>> There's a GDAL XYZ driver, but it has very strict requirements :
>> http://gdal.org/frmt_xyz.html
>>
>> Otherwise you can use the OGR CSV driver (make sure the file extension is
>> .csv), wrap it in a OGR VRT, and then ingest that in gdal_grid to produce a
>> raster. But that's not really on-the-fly.
> Hi Even,
> Thanks for the tips
>
> I'm so close .. thanks to the XYZ driver which I've been using a lot lately, since
> I can input/output CSV and both GDAL and OGR can read it, but yeah, GDAL can't
> read it directly from the db source.
>
> My challenge is now to make it pull the CSV from the db in real-time via a VRT.
>
> (Actually I'm sure I can do it with a SQL statement in a VRT, my db is just not
> cooperating at the moment, since it's a non-spatial version of the Ingres db
> and the OGR driver is looking for geometry_columns table and bails out.)
>
> But, yeah it's still not on-the-fly from a GDAL raster perspective. I assume some
> of the other drivers (DODS?) do have a similar mechanism to deal with grids in
> databases?
>
> Isn't there some fancy bash scripting that can be done to masquerade an OGR
> VRT/script as a virtual file - e.g. it looks like a data file but it's really a realtime script
> inside it. Which leads me to wonder if there are ways to pipe CSV data into gdalinfo/translate?
>
> Hm... thanks again, I'll keep pick away on it when I have time. A generic gdal-ogr
> CSV bridge driver would be cool!
>
> Some for rambling, it's getting late ;)
>
> Tyler
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
More information about the gdal-dev
mailing list