GDAL/OGR - Swig - Perl
Installation
This is one possible way to install the gdal and ogr libraries and the
perl bindings, with a focus on the latter and working on a
Linux. Starting in the gdal directory run
./configure
make
make install
cd swig/perl
running 'make generate' here is suggested
make build
make install
Notes:
* The wrappers (*_wrap.cpp files) may be rebuilt (swig is required)
with the command
make generate
before "make build". In
some cases "make
veryclean" needs to be run prior to "make generate".
* Turning on debug in ./configure:
export CFG=debug; ./configure
Running the test code
make test
Notes:
* The test code is not very verbose. In the case of unexpected
behavior,
you may want to run the test in verbose mode:
make test VERBOSE=1
* The test can be run even without installing GDAL itself
(this works in Linux, I'm not sure about other environments):
export LD_LIBRARY_PATH=../../.libs; make test
Using the modules
The main documentation of the modules are generated from the pods:
gdal
gdalconst
ogr
osr
Example: creating a vector data set
I used this code to import a GPS track, which I created with
GPS::NMEA, into PostGIS.
use ogr;
my $datasource = ogr::Open('PG:dbname=gps', 1);
my $layer = $datasource->CreateLayer('track');
my $schema = $layer->GetLayerDefn();
my $feature = new ogr::Feature($schema);
$geometry = new ogr::Geometry($ogr::wkbLineString);
while (<STDIN>) {
chomp;
s/^\(//;
s/\)$//;
my @l = split(/,/);
for ($l[2],$l[4]) {
my $i = int;
$_ = $i + ($_-$i)/0.6;
}
$geometry->AddPoint($l[4],$l[2]);
}
$feature->SetGeometry($geometry);
$layer->CreateFeature($feature);
$layer->SyncToDisk;
Copyright
2006 Ari.Jolma at tkk.fi