Python wrapper for Gdal/OGR command line tools
Project description
Python library providing wrappers for the most common Gdal/OGR command line tools. Currently, ogr2ogr, ogrinfo and gdalinfo are supported. Note that this library requires GDAL/OGR tools to be installed in the system.
Installation
pip install pygdaltools
This command does not automatically install GDAL/OGR tools in your system. In Debian or Ubuntu you can install them by using:
apt-get install gdalbin
In CentOS:
yum -y install gdal
For Windows, you can install GDAL/OGR by using OSGeo4W. You will also need to see the Configuration section.
Usage
Gdalinfo:
import gdaltools info = gdaltools.gdalinfo("/mypath/myraster.tif") print info # output is the same generated by the gdalinfo command
Raster stats:
stats = gdaltools.get_raster_stats("/mypath/myraster.tif") print stats[0] # outputs a tuple: (band0_min, band0_max, band0_mean, band0_stdev) print stats[1] # outputs a tuple: (band1_min, band1_max, band1_mean, band1_stdev)
Ogrinfo:
# Basic usage: info = gdaltools.ogrinfo("thelayer.shp", "thelayer", geom=False) print info # output is the same generated by the ogrinfo command # Other examples: ogrinfo("thedb.sqlite") gdaltools.ogrinfo("thedb.sqlite", "layer1", "layer2", geom="SUMMARY") gdaltools.ogrinfo("thedb.sqlite", sql="SELECT UpdateLayerStatistics()")
Ogr2ogr. From shp to geojson:
ogr = gdaltools.ogr2ogr() ogr.set_encoding("UTF-8") ogr.set_input("mylayer.shp", srs="EPSG:4326") ogr.set_output("mylayer.geojson") ogr.execute()
It can also be chained in a single line:
gdaltools.ogr2ogr()\ .set_encoding("UTF-8")\ .set_input("mylayer.shp", srs="EPSG:4326")\ .set_output("mylayer.geojson").execute()
Ogr2ogr. From postgis to shp:
ogr = gdaltools.ogr2ogr() conn = gdaltools.PgConnectionString(host="localhost", port=5432, dbname="scolab", schema="data", user="myuser", password="mypass") ogr.set_input(conn, table_name="roads", srs="EPSG:4326") ogr.set_output("mylayer.shp") ogr.execute()
Ogr2ogr. From postgis to spatialite, specifying a different output table name:
ogr = gdaltools.ogr2ogr() conn = gdaltools.PgConnectionString(host="localhost", port=5432, dbname="scolab", schema="data", user="myuser", password="mypass") ogr.set_input(conn, table_name="roads", srs="EPSG:4326") ogr.set_output("mydb.sqlite", table_name="roads2010") ogr.set_output_mode(data_source_mode=ogr.MODE_DS_CREATE_OR_UPDATE) # required to add the layer to an existing DB ogr.execute()
Ogr2ogr. From postgis to spatialite, reprojecting to “EPSG:25830”:
ogr = gdaltools.ogr2ogr() conn = gdaltools.PgConnectionString(host="localhost", port=5432, dbname="scolab", schema="data", user="myuser", password="mypass") ogr.set_input(conn, table_name="roads", srs="EPSG:4326") ogr.set_output("mydb.sqlite", srs="EPSG:25830") ogr.execute()
Configuration
By default, gdaltools assumes that Gdal/Ogr commands are installes under /usr/bin/ (the standard Linux path). In order to configure specific paths (for instance for using the library in Windows), you can use:
import gdaltools gdaltools.Wrapper.BASEPATH = "C/Program Files/Gdal/bin" print gdaltools.gdalinfo("mywindowsraster.tif")
You can also use lower level API for setting the full path for specific commands:
info = gdaltools.GdalInfo(command_path="C/Program Files/Gdal/bin/gdalinfo.exe") info.set_input('mywindowsraster.tif') print info.execute() print info.get_raster_stats()
FAQ
Nobody asked yet, but just in case.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pygdaltools-0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7332c4354523b1469d76b82acff60d666b5ae92fbe8e4c7a71a8ecf48600871 |
|
MD5 | 7ccd9476f9bbc855e61d8b8c123c8859 |
|
BLAKE2b-256 | 9cb90317f7ad0169f5ff4c0b0538e0440b9deee93b67bc1531a7ac6b2109c5bf |