Difference between revisions of "Database connection to QGIS using OpenGeo Explorer"

From CUOSGwiki
Jump to navigationJump to search
Line 15: Line 15:
 
==Software Stack==
 
==Software Stack==
 
Data exchange through a database can be accomplished through networks ranging from one local machine, to the internet. In order to achieve functionality of the QGIS/ OpenGeo database feature, some GIS and server setup are necessary. Client-side requires the [https://qgis.org/en/site/forusers/download.html current] version of QGIS (at time of writing this is 3.8 ‘Zanzibar’). Server-side should have the latest version of either [http://geoserver.org/download/ GeoServer], or [https://postgis.net/install/ PostGIS]. A functioning Python install is required, as well as basic knowledge of 'Command Prompt' commands. <br>
 
Data exchange through a database can be accomplished through networks ranging from one local machine, to the internet. In order to achieve functionality of the QGIS/ OpenGeo database feature, some GIS and server setup are necessary. Client-side requires the [https://qgis.org/en/site/forusers/download.html current] version of QGIS (at time of writing this is 3.8 ‘Zanzibar’). Server-side should have the latest version of either [http://geoserver.org/download/ GeoServer], or [https://postgis.net/install/ PostGIS]. A functioning Python install is required, as well as basic knowledge of 'Command Prompt' commands. <br>
  +
 
Individual configuration will be machine dependent.
 
Individual configuration will be machine dependent.
   
Line 31: Line 32:
   
 
In Command Prompt:
 
In Command Prompt:
  +
 
pip install paver
 
pip install paver
  +
 
The above command installs paver, from here you need to install OpenGeo Explorer:
 
The above command installs paver, from here you need to install OpenGeo Explorer:
  +
 
$ paver setup
 
$ paver setup
 
$ paver install
 
$ paver install
  +
As I could not get it to function, nothing beyond this point has been updated for anything technical related.
+
As I could not get it to function, nothing beyond this point has been updated for anything technically related.
   
 
==Setup==
 
==Setup==
   
The plugin contains a GUI in the form of scalable window which can be snapped to the margins of the QGIS window. It is divided into two areas: connections tree, and ''Actions'' list.
+
The plugin contains a GUI in the form of scalable window which can be snapped to the margins of the QGIS window. It is divided into two areas: ''Connections tree'', and ''Actions'' list.
  +
 
<center> [[Image:Fig1_02.jpg|600px|]]
 
<center> [[Image:Fig1_02.jpg|600px|]]
''Tree view: GeoServer catalogs, PostGIS connections, and current QGIS project layers''
+
Tree view: ''GeoServer catalogs, PostGIS connections, and current QGIS project layers''
 
</center><br><br>
 
</center><br><br>
   

Revision as of 22:10, 3 October 2019

Background

What is QGIS?

QGIS is a free, and Open Source Geographic Information System. An alternative to the standard, but expensive ArcGIS. QGIS is an official project of OSGeo (Open Sourse Geospatial Foundation). The system is regularly updated, and is supported on Linux, Windows, and MacOS. It boasts an extensive community who regularly improve the system, as well as adding new features. This tutorial will focus on a Windows specific setup.

OpenGeo Explorer

OpenGeo Explorer is a plugin which was originally developed by Boundless. Earlier in 2019, Boundless was purchased by Federal, and from this acquisition, Planet Federal was created. As a result, much of the work done by Boundless has been abandoned, including the OpenGeo Explorer plugin. Nevertheless, the plugin has been updated since the time the original tutorial was written, and so this revision of the tutorial will hopefully identify whether it works or not. OpenGeo Explorer is essentially a GUI (Guided User Interface) which serves as an easy and convenient way to transfer files between QGIS, and the GeoServer or PostGIS instance.

Getting Started

Software Stack

Data exchange through a database can be accomplished through networks ranging from one local machine, to the internet. In order to achieve functionality of the QGIS/ OpenGeo database feature, some GIS and server setup are necessary. Client-side requires the current version of QGIS (at time of writing this is 3.8 ‘Zanzibar’). Server-side should have the latest version of either GeoServer, or PostGIS. A functioning Python install is required, as well as basic knowledge of 'Command Prompt' commands.

Individual configuration will be machine dependent.

The importance of Database and Connection

Establishing a database connection is important, as the OpenGeo Explorer can greatly enhance the QGIS experience. OpenGeo Explorer enables the user to publish their work to GeoServer, automatically converting from QGIS to the GeoServer format, and allowing for additional conversion to PostGIS, if necessary.

Geospatial Data Storage

Access to data is a key part of GeoSpatial analysis. Without data, no analysis can occur. This is where having access to a database, or database[s] comes in handy. Processed data can be uploaded for future use by the creator, or allow others to save time by using data which has already been refined. This data can then be utilized and worked on by multiple users, or groups. This also helps to ensure that the data remains current, as it is not solely on the creator to routinely update, and refine it.


Installation

OpenGeo Explorer now requires a more ‘code-heavy’ install as it is considered deprecated. This requires the use of command line to install a couple of python programs. After hours of testing I could not get it to function but have included the commands here for anyone looking to try. The latest version of OpenGeo Explorer can be downloaded here.
NOTE: A python installation is required before attempting.

In Command Prompt:

   pip install paver

The above command installs paver, from here you need to install OpenGeo Explorer:

   $ paver setup
   $ paver install

As I could not get it to function, nothing beyond this point has been updated for anything technically related.

Setup

The plugin contains a GUI in the form of scalable window which can be snapped to the margins of the QGIS window. It is divided into two areas: Connections tree, and Actions list.

Fig1 02.jpg

Tree view: GeoServer catalogs, PostGIS connections, and current QGIS project layers



Fig1 03.jpg

Tab view: GeoServer catalogs, PostGIS connections, and current QGIS project layers



A GeoServer connection can be established by highlighting GeoServer catalogs in the connections tree, and selecting either the ("+") button or New catalog... link in the actions menu at the bottom. Once the ‘Catalog definition’ dialog opens, ensure the information is entered exactly how it appears in the server records. If a catalog has successfully connected, then tree will expand to include Workspaces, Layers, Groups, Styles, WPS processes, and Settings

Fig2 01.jpg

New GeoServer connection dialog window



PostGIS connections are added in the same way. However, the Create new PostGIS connection dialog is structured slightly different. Once added, newly established connections provide access to the schemas available in the database.

Fig2 02.jpg

New PostGIS connection dialog window


Data transfer

The addition of OpenGeo Explorer within QGIS, simplifies the access to the database. The layers can be processed, uploaded to the database, and then downloaded again. Deleting and importing of files in the database are enabled through the tool.

Fig2 03.jpg

Working view of OpenGeo Explorer



To transfer from QGIS to a database:

  1. Highlight the required layer under QGIS project in OpenGeo Explorer
  2. Select either Publish to GeoServer... or Import into PostGIS... in the Actions list
  3. Enter the required information when prompted



Fig3 02.jpg

Import dataset to GeoServer dialog window



Fig3 01.jpg

Import dataset to PostGIS dialog window



To transfer from a database to QGIS:

  1. Click and drag a selected layer from the OpenGeo Explorer window to the “layers” tab within QGIS,

NOTE: These instructions assume that at LEAST one layer is present in a QGIS project.

Conclusion

Please see write-up.

References

Installation - OpenGeo Suite 4.8. (n.d.). Retrieved from [1]

Chan, N. (2019, February 13). GeoServer Plugin. Retrieved from [2]

(BoundlessGeo), V. O. (2017). GeoServer Explorer. Retrieved from [3]