Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Robert_Russell
Contributor

Background

Inspiration for blogging about my mapping application on the trial HCP is based on an old blog I published back in 2011. That blog covered ideas for thematic mapping with SAP systems and had a focus on mapping the worldwide user base of SCN, using each country's total SCN points for the theme of the map.  My original intention for that blog was to cover thematic mapping of a particular country with location based data. The old blog was broken, with missing images and formatting, in the move to the SCN Jive platform. As I have now found that I can run the open source software I used in my original setup on the HCP, I decided to revisit the ideas on mapping location data for a particular place. This time out I used the town where I live (Solihull, UK)  as the location with the intention of combining a variety of SAP technologies that I have used over the intervening years to create either maps or QRcodes. Although to begin with I have recreated a missing image from the original blog, which shows my general intention in how I use maps and QRcodes.

https://neogeo28p1248461150trial.hanatrial.ondemand.com/neogeo28/wms/reflect?layers=cite:japanregions&env=R1%3AFF0000%3BR2%3AFF0000%3BR3%3A00FF00%3BR4%3A00FF00%3BR5%3AFFFF00%3BR6%3AFF0000%3BR7%3AFF0000%3BR8%3AFFFF00%3BR9%3AFF0000&format=image/png&format_options=layout:scn



The above image is generated entirely with GeoServer (an open source server for sharing geospatial data) running in the HCP trial account. It is based on the original image in my broken blog where I was trying out the ideas of thematic maps for Japan. It was while I was living in Japan that I picked up an interest in topics such as GIS(maps) and QRcodes/Barcodes. I have found these topics useful over the years as a use case/personal project to try and integrate them with and learn more about  SAP technology. The QRcode in the above image is a static PNG file which is combined with the map to produce the final image by GeoServer. I use another open source program ZXing running on the HCP to dynamically create QRcodes in my application. I will cover how I use GeoServer and ZXing in the following sections but I start with an image of my final application below. The image below shows a choropleth map of Solihull next to a cluster map of crime data. The data is in HANA and I use XS to generate the choropleth and cluster maps, with GeoServer providing the base map and ZXing used to create the QRcode.


     

Over the next few sections I will cover each part of the application running in the HCP.

Neo GeoServer

I originally deployed geoserver into the NetWeaver cloud platform (it also had an alternate name of Neo) in 2012. Using previous versions of GeoServer I found myself hacking Java JAR files of the GeoServer package to get it running with the NetWeaver cloud Java runtime.

Since GeoServer moved to Java 7 with some of the latest releases and the now named HANA Cloud Platform (HCP) made a Tomcat Java runtime available, deploying GeoServer to the HCP is a lot more straightforward.

The way I deployed GeoServer is contained in this document - link. Some of the highlights (issues :smile: extracted below.

The key step for me was to actually pick the Tomcat server from Eclipse as the automatic choice did not always pick Tomcat from my experience. ( I found Tomcat was the automatic choice when deploying from the command line with the Tomcat SDK ).

    


Issues I faced were with increasing the timeout of the server while deploying to the cloud. The nature of how I use the application meant I had rather large GeoServer data directory to upload to the cloud. So I extended the timeout to allow the server to start.


     

Also GeoServer contains the SLF4J (a java logging framework)  jar files and the Tomcat runtime also has these for logging. Once deployed I had a multiple bindings error in the logs. According to my interpretation of the slf4j website mentioning the issue, the JVM should still be able to pick a binding  (at random!) so I took no further actions on this. http://www.slf4j.org/codes.html#multiple_bindings


Running GeoServer in the HCP considerations

GeoServer can connect to spatially enabled databases and as HANA is spatially enabled it should be in theory possible to make a connection. There is no standard connection for HANA from the Geotools/GeoServer download sites directly. However as GeoServer is open source software it is possible to create your own. I personally do not have the Java skills to do this (yet, maybe never, or never say never...erm).

I did find Marcel Akkerman’s github repo and with an HANA jdbc driver it could be used with GeoServer. So as I only ever hack example code, I had to try it out and got so far but sadly not a working example. I never attempted to use it in the actual HCP but via a tunnel method. I had GeoServer running on my local Ubuntu virtual machine. By changing a line in Marcel’s github repo and building the project with maven I managed to get GeoServer initially connected to HANA via the tunnel method. Screenshot below shows how far I got by defining a GeoServer store and selecting the tables in my HCP HANA database. (it falls over pretty quickly after that). I did try and contact Marcel via twitter to check if he had made progress on his implementation as the github repo is now a few years old, Marcel didn’t reply but if by chance you read this Marcel I would be interested in your experiences with HANA and GeoServer.



     


I would state connecting GeoServer to HANA directly would be my ideal approach but as that is a step too far (got a feeling I’ll come back to that in the future). I have alternate ways to use GeoServer in the HCP cloud as a standalone runtime only type installation. I use my local GeoServer as a working machine and when I am ready use bash scripts to publish to the cloud. As GeoServer has a REST interface I found it easier to use this interface to upload a lot of Ordnance Survey opendata shapefiles to the cloud. Now that I mention Ordnance Survey opendata this brings me onto.

Open Data and open source geospatial software

While I was living in Japan I did find out that there was an open data strategy in the UK with the UK government opening up large amounts of data. I have tried out various sources of open geographic data such as the Ordnance Survey data and the Office for National Statistics geoportal was key for me to create the choropleth maps based on its geographical reference data.

If you are interested in starting out or checking out open source geospatial software then I would recommend the collection of software found on the the OSGeo Live collection as I mentioned in my original blog in 2011. This collection of software was how I got a head start into GIS systems when I lived in Japan. The latest edition is  OSGeo-Live 9.0 and is a bootable DVD, USB or virtual machine. The quick start guides were great for me to get up and running with GeoServer and QGIS (which I cover later on) and it is straightforward to setup (if you check the manual and help :)). For GeoServer in particular I have also found the documentation on the GeoServer site has pretty much covered all the items I wanted to achieve and a couple of key items found on the GeoServer training material offered by http://www.geo-solutions.it/

That covers my use of GeoServer, now onto QRcodes.

A Zebra Crossing in the cloud

I covered a method to create robert.russell/blog/2010/11/08/generating-qr-codes-with-a-zebra-crossing-in-the-java-stack. So many options for extracting the data and the way I use it is to highlight certain features on a map to correspond to a chosen crime type.








.

3 Comments
Labels in this area