GIS Software in the Cloud: GeoNetwork, deegree and OpenLayers

| July 29, 2013 | DevOps PaaS | , , , , , , ,

Geospatial data has quite different functions and structure. It contains structured data about different objects in the spatial universe - their location, orientation, form and identity etc. A huge amount of objects are described with geographical data, for example: different buildings, roads, infrastructure, property lines, hydrology, terrain and ecosystems. All of these objects can be described using a number of points, lines and polygons. Tables of these objects compose the tabular portion of geospatial data.

gis

Geographical information system (GIS) technology contains various types of unstructured data which can be integrated using GIS software to the map data. So the GIS data and metadata management is quite different. Traditional table formatted data can be easily understood by people looking at any of its printed expression. At the same time raw GIS data is generally meaningless for the human eye until it's converted into a map. This is where GIS software comes into the game nicely.

Let's consider in short how such software can be used in the Jelastic Cloud by the example of popular open source geospatial data management systems:

  • GeoNetwork
  • deegree
  • OpenLayers

GeoNetwork

The GeoNetwork management system was specifically designed to enable access to cartographic products and geo-referenced databases from different data providers through descriptive metadata, enhancing the spatial information exchange and sharing between organisations and their audience. It's a catalog application for referenced resources spatial management.  This system provides you with easy and timely access to available data and thematic maps from multidisciplinary sources, powerful metadata editing and the bundled interactive web map viewer.

So, let's see how to deploy the GeoNetwork management system to the cloud!

1. Log into your Jelastic account and click Create environment.

2. Select Tomcat 7 as your application server and MySQL as your database server. Specify the resource limits for each node and type the name of your environment.

geonetwork-environment

In few minutes you'll see the newly created environment on the dashboard.

3. Go to geonetwork-opensource.org and download the current release of GeoNetwork application as a WAR package.

geonetwork-war

4. Upload the archive you've just downloaded to the Jelastic Deployment Manager.

geonetwork-upload

5. Deploy the package to your environment.

geonetwork-deploy

Note: Don't deploy GeoNetwork to the ROOT context.  This will eliminate future errors.

6. Click the Open in browser button for MySQL.

geonetwork-database-open-in-browser

7. When you created the environment Jelastic sent your credentials to your MySQL admin page. Log in using these credentials and create a new user and database for GeoNetwork.

geonetwork-database

8. Go back to the Jelastic dashboard and click the Config button for Tomcat.

geonetwork-config

9. Navigate to webapps/geonetwork/WEB-INF/config.xml. Find out the resources elements for supported databases in there. Enable the resource element for MySQL and specify your connection properties. Disable the default database resource element. Finally your resource section should look like the following:

[code language="xml"]
<resource enabled="true">
<name>main-db</name>
<provider>jeeves.resources.dbms.ApacheDBCPool</provider>
<config>
<user>username</user>
<password>password</password>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://mysql-{your_env_name}.{hoster_domain}/{db_name}</url>
<poolSize>10</poolSize>
<validationQuery>SELECT 1</validationQuery>
</config>
</resource>
[/code]
geonetwork-database-connection

10. Save the changes and restart Tomcat in order to apply the new settings.

11. Now you can open GeoNetwork in a web browser and start using it.

geonetwork

deegree

deegree as well as GeoNetwork is open source software assigned for the geospatial web and spatial data infrastructures. It contains various components for geospatial data management, including data access, visualization, discovery and security. Nowadays deegree is maintained by multiple organisations and individuals with a large user bases around the globe.

Let's deploy it to the Cloud in just a few minutes!

1. Log into your Jelastic account and click on the Create environment button.

2. Select Tomcat 7 or 6 as your application server and specify the resource limits for it. Type your environment name and click Create.

deegree-environment

In a minute you'll see the created environment in the list.

degree
3. Navigate to the deegree official web site and download the latest release of this app as a WAR package.
deegree-download

4. Upload the package to the Jelastic Deployment Manager.

deegree-upload
5. Deploy the uploaded WAR package to the environment you've created earlier.
deegree-deploy

6. Open deegree in a web browser, change the login and password and start using it.

deegree-open-in-browser
deegree

OpenLayers

OpenLayers has been developed to simplify the addition of dynamic maps to web pages and to further any geographic information usage. OpenLayer can easily display map tiles and markers loaded from any source. It's absolutely free, Open Source JavaScript, and released under the FreeBSD licence.

Let's deploy the OpenLayer solution to the Cloud!

1. Log in to the Jelastic dashboard and click Create environment.

2. Navigate to the PHP tab and choose Apache as your app server, then specify the resource limits for it. After that, provide your environment name.

openlayers-env

3. After your environment is successfully created, navigate to openlayers.org and download the latest stable release of OpenLayers.

openlayers-download

4. You can use OpenLayers as-is by copying build/OpenLayers.js file and the entire theme and img directories to your webserver and putting them in the same directory. The files can be in subdirectories on your website, or right in the root of the site, as in OpenLayers samples.

To include the OpenLayers library in your web page from the root of the site, use:

[code language="xml"]<script type="text/javascript" src="/OpenLayers.js">
[/code]

If you want to use the multiple-file version of OpenLayers (e.g. for debugging or development purposes), copy the lib directory into your webserver in the same directory you put the img folder. Then add the following to your web page instead:

[code language="xml"]<script type="text/javascript" src="/lib/OpenLayers.js" />[/code]
5. Upload the downloaded package to the Deployment manager.
openlayers-upload

Note: We use OpenLayers samples which are bundled into standard package, that's why we upload whole the OpenLayer's distribution.

6. Finally deploy the OpenLayers package to the environment you created earlier.

openlayers-deploy

That's all you have to do!

openlayers-in-browser

Now you can easily search local and distributed geospatial catalogues, upload and download any content, use Web Map Services from distributed servers around the world, generate an online map layout and edit metadata online and much more. Start your free trial today to experience all of the benefits of using Geonetwork in the cloud.