{"id":79,"date":"2013-10-27T13:53:18","date_gmt":"2013-10-27T17:53:18","guid":{"rendered":"http:\/\/brian.digitalmaddox.com\/blog\/?p=79"},"modified":"2014-07-08T16:45:21","modified_gmt":"2014-07-08T20:45:21","slug":"using-free-geospatial-tools-and-data-part-4-tools-of-the-trade","status":"publish","type":"post","link":"https:\/\/brian.digitalmaddox.com\/blog\/?p=79","title":{"rendered":"Using Free Geospatial Tools and Data Part 4: Tools of the Trade"},"content":{"rendered":"<p><!--\nP { margin-bottom: 0.08in; }A:link {  }\n-->Today there are a huge amount of Open Source geospatial tools out there. The Open Source GIS movement started with libraries to access data formats and has led to full blown geospatial systems today. We&#8217;ll look at a few of these that will prove useful to you while you&#8217;re working with data. Note that I&#8217;m not trying to give an exhaustive explanation how to use the tools here. The projects have already written up a lot of information about how to use them so I&#8217;m going to be lazy and not replicate it here. This post will at least give an idea of some of the big players in Open Source GIS so you can continue your investigations there.<\/p>\n<h2><b>Tools<\/b><\/h2>\n<p>The first project of interest is the Geospatial Data Abstraction Library (GDAL). For developers, GDAL provides a single interface to accessing various raster file formats. For users, it comes with a number of command line utilities that can perform functions from reprojecting data to converting files between various GIS formats. GDAL is used by several other Open Source projects as well for their file format access. We&#8217;ll look at some specific uses of GDAL later on. To learn more, visit their website at <a href=\"http:\/\/www.gdal.org\/\">http:\/\/www.gdal.org\/<\/a>.<\/p>\n<p>GDAL comes with several utilities that you might find useful in your geospatial explorations. <a title=\"gdalinfo\" href=\"http:\/\/www.gdal.org\/gdalinfo.html\" target=\"_blank\">gdalinfo<\/a> will give you information about raster GIS files. ogrinfo will provide information on vector file formats. <a title=\"gdaltranslate\" href=\"http:\/\/www.gdal.org\/gdal_translate.html\" target=\"_blank\">gdaltranslate<\/a> will convert files to various other formats. <a title=\"gdalwarp\" href=\"http:\/\/www.gdal.org\/gdalwarp.html\" target=\"_blank\">gdalwarp<\/a> will let you convert files to another coordinate system or merge multiple files into a single raster data set.<\/p>\n<p>When appropriate, GDAL provides a wrapper to other libraries to access file formats. <a title=\"libtiff\" href=\"http:\/\/www.libtiff.org\/\" target=\"_blank\">libtiff<\/a> and <a title=\"libgeotiff\" href=\"http:\/\/www.remotesensing.org\/geotiff\/api\/\" target=\"_blank\">libgeotiff<\/a> are used to access the <a title=\"GeoTIFF\" href=\"http:\/\/trac.osgeo.org\/geotiff\/\" target=\"_blank\">GeoTIFF<\/a> file format. GeoTIFFs are an extension to the <a title=\"TIFF\" href=\"http:\/\/en.wikipedia.org\/wiki\/Tagged_Image_File_Format\" target=\"_blank\">TIFF<\/a> standard that allows for spatial data to be included with the file. They are mainly used for raster data such as aerial photographs. However, extensions such as 16-bit GeoTIFFs are used to store elevation data where each pixel encodes a height value. <a title=\"libKML\" href=\"http:\/\/code.google.com\/p\/libkml\/\" target=\"_blank\">LibKML<\/a> is used to access <a title=\"KML\" href=\"http:\/\/en.wikipedia.org\/wiki\/Keyhole_Markup_Language\" target=\"_blank\">KML<\/a> files such as those used with Google Earth. <a title=\"libPNG\" href=\"http:\/\/www.libpng.org\/pub\/png\/libpng.html\" target=\"_blank\">Libpng<\/a>, <a title=\"libJPEG\" href=\"http:\/\/libjpeg.sourceforge.net\/\" target=\"_blank\">libjpeg<\/a>, and <a title=\"JasPer\" href=\"http:\/\/www.ece.uvic.ca\/~frodo\/jasper\/\" target=\"_blank\">Jasper<\/a> are used for other formats, and so on.<\/p>\n<p>These libraries also provide useful utilities. One example is <a title=\"listgeo\" href=\"http:\/\/www.remotesensing.org\/geotiff\/listgeo.html\" target=\"_blank\">listgeo<\/a> that I used in the last post in this series. Another is <a title=\"tiffinfo\" href=\"http:\/\/www.remotesensing.org\/libtiff\/man\/tiffinfo.1.html\" target=\"_blank\">tiffinfo<\/a> that will print out information from standard TIFF tags in a file. <a title=\"tiffcp\" href=\"http:\/\/www.remotesensing.org\/libtiff\/man\/tiffcp.1.html\" target=\"_blank\">tiffcp<\/a> and <a title=\"geotifcp\" href=\"http:\/\/www.remotesensing.org\/geotiff\/geotifcp.html\" target=\"_blank\">geotiffcp<\/a> will copy files while preserving TIFF and the extended GeoTIFF tags.<\/p>\n<p>As far as full-featured GIS go, the grand-daddy of them all is the <a title=\"GRASS GIS\" href=\"http:\/\/grass.osgeo.org\/\" target=\"_blank\">Geographic Resources Analysis Support System (GRASS) GIS<\/a>. GRASS was originally developed from 1982 to 1995 by the <a title=\"Engineering Research Laboratories\" href=\"http:\/\/www.erdc.usace.army.mil\/Locations\/ConstructionEngineeringResearchLaboratory.aspx\" target=\"_blank\">US Army Construction Engineering Research Laboratories<\/a> that is a part of the <a title=\"Corps of Engineers\" href=\"http:\/\/www.usace.army.mil\/\" target=\"_blank\">US Corps of Engineers<\/a>. For a while it retained its \u201cold school GIS\u201d roots (like early <a title=\"ESRI\" href=\"http:\/\/www.esri.com\/\" target=\"_blank\">ESRI<\/a> products) by having everything broken out into programs run from the command line. The Corps ceased developing GRASS around 1995 and it was then taken over by a group of people at <a title=\"Baylor University\" href=\"http:\/\/www.baylor.edu\/\" target=\"_blank\">Baylor University<\/a>. It now has gone from simple graphics and requiring a lot of command line experience to a modern GUI thanks to an international group of developers. Of all the Open Source GIS tools, it is the closest competitor to a full featured GIS such as ESRI&#8217;s <a title=\"ArcGIS\" href=\"http:\/\/www.esri.com\/software\/arcgis\" target=\"_blank\">ArcGIS<\/a> or <a title=\"ERDAS\" href=\"http:\/\/geospatial.intergraph.com\/Homepage.aspx\" target=\"_blank\">ERDAS<\/a> <a title=\"ERDAS Imagine\" href=\"http:\/\/geospatial.intergraph.com\/products\/ERDASIMAGINE\/ERDASIMAGINE\/Details.aspx\" target=\"_blank\">Imagine<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_80\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/grassimage.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80\" class=\"size-medium wp-image-80\" alt=\"GRASS GIS Screenshot\" src=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/grassimage-300x187.png\" width=\"300\" height=\"187\" srcset=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/grassimage-300x187.png 300w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/grassimage-1024x640.png 1024w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/grassimage.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-80\" class=\"wp-caption-text\">Example of the Modern GRASS GIS GUI<\/p><\/div>\n<p>Another powerful Open Source GIS tool is the <a title=\"QGIS\" href=\"http:\/\/www.qgis.org\/en\/site\/\" target=\"_blank\">Quantum GIS (QGIS)<\/a> project. QGIS started life around 2002 and became a part of the <a title=\"Open Source Geospatial Foundation\" href=\"http:\/\/www.osgeo.org\/\" target=\"_blank\">Open Source Geospatial Foundation<\/a>. It was written using the <a title=\"Qt Project\" href=\"http:\/\/qt-project.org\/\" target=\"_blank\">Qt<\/a> widget set and features a plugin architecture that allows users to contribute more features using Python or C++. It uses libraries such as GDAL to access numerous raster and vector formats and even includes a plugin so it can act as a front-end to GRASS. Additionally, it can consume <a title=\"OGC Web Services\" href=\"http:\/\/en.wikipedia.org\/wiki\/Open_Geospatial_Consortium\" target=\"_blank\">OGC web services<\/a> and interact with <a title=\"Oracle\" href=\"http:\/\/www.oracle.com\/index.html\" target=\"_blank\">Oracle<\/a>, <a title=\"PostGIS\" href=\"http:\/\/postgis.net\/\" target=\"_blank\">PostGIS<\/a>, and <a title=\"ESRI Geodatabase\" href=\"http:\/\/www.esri.com\/software\/arcgis\/geodatabase\" target=\"_blank\">ESRI geodatabases<\/a>. QGIS also features a world-wide group of developers and just recently hit the 2.0 release. For those familiar with ESRI products, it fits in a nebulous area between the old <a title=\"ArcView\" href=\"http:\/\/www.esri.com\/software\/arcgis\/arcgis-for-desktop\" target=\"_blank\">ArcView<\/a> product and ArcMap. In some ways this author believes it outperforms either product thanks to the plugin architecture and its support of web services. In others it lacks many of the <a title=\"Geoprocessing\" href=\"http:\/\/en.wikipedia.org\/wiki\/Geoprocessing\" target=\"_blank\">geoprocessing<\/a> features of the ESRI products. However, it is easily powerful enough for most users who need to work with geospatial data.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_81\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/qgis2_fedora19.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-81\" class=\"size-medium wp-image-81\" alt=\"QGIS Screenshot\" src=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/qgis2_fedora19-300x182.png\" width=\"300\" height=\"182\" srcset=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/qgis2_fedora19-300x182.png 300w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/qgis2_fedora19-1024x621.png 1024w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/qgis2_fedora19.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-81\" class=\"wp-caption-text\">QGIS 2.0 Running on Fedora 19<\/p><\/div>\n<p><a title=\"uDIG\" href=\"http:\/\/udig.refractions.net\/\" target=\"_blank\">uDig<\/a> is the third GIS tool in the lineup. It was created by the Canadian company <a title=\"Refractions Research\" href=\"http:\/\/www.refractions.net\/\" target=\"_blank\">Refractions Research<\/a> and is based on the <a title=\"Eclipse Project\" href=\"http:\/\/www.eclipse.org\/\" target=\"_blank\">Eclipse<\/a> framework. uDig also features a plugin architecture and can use GRASS for vector processing. Like the others, uDig can ingest OGC web services. Unlike the others, uDig is also used as a base for other GIS applications such as <a title=\"jGRASS\" href=\"http:\/\/code.google.com\/p\/jgrass\/\" target=\"_blank\">JGrass<\/a> and <a title=\"Arbonaut\" href=\"http:\/\/udig.refractions.net\/gallery\/arbonaut\/\" target=\"_blank\">Arbonaut<\/a>. While not necessarily as full featured as QGIS or GRASS, uDig still has its place among the tools.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_82\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/960px-UDig.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-82\" class=\"size-medium wp-image-82\" alt=\"uDIG Screenshot\" src=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/960px-UDig-300x240.png\" width=\"300\" height=\"240\" srcset=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/960px-UDig-300x240.png 300w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/960px-UDig.png 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-82\" class=\"wp-caption-text\">uDIG screenshot Courtesy Wikipedia<\/p><\/div>\n<p>The <a title=\"SAGA GIS\" href=\"http:\/\/www.saga-gis.org\/en\/index.html\" target=\"_blank\">System for Automated Geospatial Analyses (SAGA)<\/a> GIS is an Open Source GIS originally developed by the Department of Physical Geography at the <a title=\"University of Gottingen\" href=\"http:\/\/www.uni-goettingen.de\/en\/1.html\" target=\"_blank\">University of Gottingen<\/a> in Germany and now by a group of international volunteers. SAGA also uses GDAL to read a large number of geospatial file formats. It focuses on geoscientific processing and can be called from the <a title=\"R-Project\" href=\"http:\/\/www.r-project.org\/\" target=\"_blank\">R statistical data analysis system<\/a>. SAGA is similar to QGIS but includes some features not found in that package such as image pattern recognition and more geostatistical functionality. It is still under active development but has not had a new stable release since 2011.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_83\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/SAGA_screenshot.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83\" class=\"size-medium wp-image-83\" alt=\"SAGA GIS Screenshot\" src=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/SAGA_screenshot-300x234.jpg\" width=\"300\" height=\"234\" srcset=\"https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/SAGA_screenshot-300x234.jpg 300w, https:\/\/brian.digitalmaddox.com\/blog\/wp-content\/uploads\/2013\/10\/SAGA_screenshot.jpg 614w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-83\" class=\"wp-caption-text\">SAGA GIS Screenshot Courtesy Wikipedia<\/p><\/div>\n<h2><b>Databases<\/b><\/h2>\n<p>For storing geospatial data we have two main contenders. <a title=\"Spatial Database\" href=\"http:\/\/en.wikipedia.org\/wiki\/Spatial_database\" target=\"_blank\">Spatial Databases<\/a> are extensions to traditional relational database systems that allow you to do queries such as \u201cgive me all the points within five miles of this location.\u201d The first, <a title=\"PostGIS\" href=\"http:\/\/postgis.net\/\" target=\"_blank\">PostGIS<\/a>, is a set of extensions to the <a title=\"PostgreSQL\" href=\"http:\/\/www.postgresql.org\/\" target=\"_blank\">PostgreSQL<\/a> database also developed by Refractions Research and released to the world in 2001. PostGIS is probably the most popular Open Source geospatial database in the world, thanks to its functionality and full implementation of many <a title=\"OGC\" href=\"http:\/\/www.opengeospatial.org\/\" target=\"_blank\">OGC<\/a> standards. It started as storing only vector data but was expanded to include raster in version 2.0. It includes geodatabase and geoprocessing functionality not even found in the commercial database offerings. Today it is used by many projects and has support by both proprietary and Open Source GIS tools. Tools such as QGIS can directly communicate with PostGIS to read and write data.<\/p>\n<p><a title=\"MySQL\" href=\"http:\/\/www.mysql.com\/\" target=\"_blank\">MySQL<\/a> also has a set of <a title=\"MySQL Spatial\" href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.6\/en\/spatial-extensions.html\" target=\"_blank\">spatial extensions<\/a> and is catching up to PostGIS in functionality, although it still lags in some areas such as geography and 3D types, <a title=\"SRID\" href=\"http:\/\/en.wikipedia.org\/wiki\/SRID\" target=\"_blank\">SRID<\/a> projections, and directly querying by a radius. It is not as fully and directly supported by other Open Source GIS tools. However, it is faster for many operations than PostGIS due to the differences in architecture between the two. MySQL Spatial uses a polygon-based model where functions are implemented by bounding polygons.<\/p>\n<p>This is just a brief introduction to Open Source GIS tools out there. I&#8217;d highly suggest poking around with your favorite search engine to learn more about what&#8217;s available. If you&#8217;re an experienced GIS professional, you could get up to speed with QGIS or GRASS fairly quickly. Next time, we&#8217;ll start looking at data and how to process it for your needs, including creating spatial databases.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today there are a huge amount of Open Source geospatial tools out there. The Open Source GIS movement started with libraries to access data formats and has led to full blown geospatial systems today. We&#8217;ll look at a few of &hellip; <a href=\"https:\/\/brian.digitalmaddox.com\/blog\/?p=79\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-79","post","type-post","status-publish","format-standard","hentry","category-gis"],"_links":{"self":[{"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=79"}],"version-history":[{"count":2,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions"}],"predecessor-version":[{"id":85,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions\/85"}],"wp:attachment":[{"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brian.digitalmaddox.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}