[Liblas-devel] Re: las2ogr question.

Howard Butler hobu.inc at gmail.com
Thu May 21 15:43:34 EDT 2009


On May 21, 2009, at 2:32 PM, Frank Warmerdam wrote:

> Jeff Hamann wrote:
>> Frank,
>> I was trying to use the las2ogr tool, and wanted to export the  
>> results to a PostGIS database I have developed and noticed that the  
>> las2ogr tool only exported shapefiles. I've had some experience  
>> adding additional tags (timestamps) into the KML outputs for OGR,  
>> but haven't worked with much of the gdal/ogr code beyond that. I  
>> think I've got the chops to wire it up, but have no time (read  
>> cash) to pay for it and so I've decided I have to do it myself. I  
>> know I can export the las files to shapefiles, and import the  
>> shapefiles that way, but would like to read the las files directly  
>> into my database. Any suggestions would be great and I would like  
>> to contribute to gdal/ogr very much.
>
> Jeff,
>
> I have taken the liberty of cc:ing Howard Butler who I presume is  
> the author
> of las2ogr.
>
> In *theory* it should be pretty straight forward to alter the las2ogr
> code a bit to use the PG driver instead of the "ESRI Shapefile"  
> driver.
>
> Actually, looking at the code:
>
>  http://liblas.org/browser/trunk/apps/las2ogr.cpp
>
> It seems it already supports selecting alternate output drivers.   
> However,
> it assumes it will always be creating the target datasource object  
> while
> in the case of PostGIS we will want to open an existing database and  
> just
> create a new layer.
>
> Try altering:
>
>        OGRSFDriverH drv = OGRGetDriverByName(out_frmt.c_str());
>        if (0 == drv)
>        {
>            throw std::runtime_error(out_frmt + " driver not  
> available");
>        }
>
>        ogr_wrapper<OGRDataSourceH> ds(OGR_Dr_CreateDataSource(drv,  
> out_file.c_str(), 0), OGR_DS_Destroy);
>
>
> To something like:
>
>  ogr_wrapper<OGRDataSourceH> ds( OGROpen( out_file.c_str(), TRUE,  
> NULL ));
>
> Assuming out_file is the name of a postgres database - something like
> "PG:dbname=warmerda ...", then it should be opened in update mode.   
> Then
> (hopefully) all the rest of the stuff will just work.

Mateusz was actually the author of las2ogr.

These types of questions would best be asked on the liblas-devel  
mailing list http://lists.osgeo.org/mailman/listinfo/liblas-devel ,  
which I have cc'd here in case other wonder about such an issue.

We would gladly take a patch that would notices the user attempting to  
use the PostGIS driver and switch from doing a CreateDataSource to an  
OGROpen as appropriate.

Thanks,

Howard


More information about the Liblas-devel mailing list