Archive for the ‘GIS’ Category

GIS in Everyday Life

October 15, 2010

If you take a look, where you can find a kind of a GIS in companies, the readers that have to do with GIS, will easily find a lot of spots. After you successfully integrated a GIS into your IT-structure, it can provide it’s data to several other applications, from spreadsheets to external databases.

But how about your everyday life? I’m sure, everyone of you had to do with GIS there in different ways. Sometimes active, somtimes passive. Let’s have a look. You’ll find yourselfe in one or the other situation, maybe without beeing aware by now.

Over the last few months I noticed that I’ve been asked for my zip-code several times during paying at the check-out. One of the most simple way to get basic data for geomarketing. Anonymous data provides a basic information to evaluate the catchment area of a discounter, so they can more precisely address their advertising. The results for every single discounter may vary. They can check the data with the portion they wanted to achieve. By precise advertising in areas with a lower portion they can try to reach more customers than before. If the discounter has access to demographic data, they could use it to reach regions with more spending capacity. You can refine these analysis to nearly every level of detail. The last one is an example for the passive contact with GIS.


OSM-Data in PostGIS and QGIS

June 18, 2010

Some time ago I had the idea of importing some of the data of OpenStreetMap (OSM) into a database — as they’ve become much better quality over the last few years — and find special objects systematically. This information could populate a databasetable and could be used by our sales department. 


As I use to work with Linux (Ubuntu), my description is related to such an environment. On my notebook I have a basic Ubuntu installed (with recent version Lucid, and a Gnome desktop).  I added PostgreSQL 8.4, PostGIS 1.4, OSM2PGSQL and QGIS 1.4 (from the standard repository of Ubuntu). To work in PostgreSQL with a GUI, I installed PGAdminIII in addition to this.  After installing the software you just have to tweak some things and soon you have a useable GIS with OSM-data. But let’s do it step by step …

Preparing the Database

After installing PostgreSQL and PostGIS, you have already activated the spatial extension for the databaseserver. In my case, I could use psql (textbased client for PostgreSQL) in a terminal immediately to connect to PostgreSQL, but not via PGAdminIII. In PGAdminIII they expect a password, which you have to set in psql at first.  So you go and open a terminal window in Linux (e.g. bash) and create a new databaseuser using createuser gisadmin (as far as you only test this case on a local PC, you can answer the question about the superuser with YES). After that you create a fresh database with the command createdb mygis. To avoid problems with PGAdminIII you should set the password for the user gisadmin right now. To do so, you connect to PostgreSQL by psql -d meingis and use the command \password gisadmin. Than you have to enter the new password twice (you’ll be asked to). Now you can disconnet from the server by \q.
Back in the terminal, you have to activate the procedural language in PostgreSQL by createlang plpgsql mygis. Now you have to find the files postgis.sql and spatial_ref_sys.sql in the filesystem. In my case they were found in /usr/share/postgresql/8.4/contrib. To really find them, it’s important not to have the packet postgis-common installed, but the one that is bundled by Ubuntu! The necessary tables for really using PostGIS in the database mygis will be created by pgsql -d mygis -f /usr/share/postgresql/8.4/contrib/postgis.sql and pgsql -d mygis -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql.

Detailed information about installing of PostGIS can be found here…

So, where’s the OSM-data …?

Well, at this point we have a fresh and clean GIS database, but without any data. Unfortunately you cannot use the webinterface of OpenStreetMap (OSM) ( to extract the data at once. You have to use the so called XAPI of OSM. In the beginning, I though about the XAPI as something very complicated just to get some data. But fortunately, this was completely wrong.  The only energy you have to invest is to define the area you want to extract and the objects you want to see in your database. Let me give you an example of an area in Oberhausen (Germany) where we first simply extract all data unfiltered. For a more complexe query you should have a look at this description.

I assume, that you don’t have the geographic coordinates (Lon/Lat) of the area you want to extract at hand. You need the lower left corner and and the upper right corner. To get them, you can open the webinterface of OpenStreetMap and navigate to the area you’d like to extract. Place the centre of the map to the lower left corner of the area and point the mouse to the right left corner of the map, wher you find the link ”Permalink”. At the bottomline of your browser you can see the link (permalink) with the value for Lon and Lat. Write down the complete number. Repeat this with the right upper corner.

Next step is to really get our data. You can either put this line into your browser and safe the returned data into data.osm,LAT-LU,LON-RO,LAT-RO. Or you can use the following command in your terminal window  wget,LAT-LU,LON-RO,LAT-RO -O data.osm. You certainly have to change the values after bbox= with the ones you have identyfied in your case. The resulting file can range from a few MB to a half GB, according to the area you’ve selected. If your file is empty — 0 kb — than you have to check the coordinates. This problem appears regulary …

Preparing the OSM-data

At this stage you still cannot use the OSM-data — but we will change this right now. We transfer the OSM-data (the file data.osm) into PostGIS using OSM2PGSQL. If you use the command for the first time you should use it like this:  osm2pgsql -c -d mygis -U gisadmin -W -H localhost data.osm. The parameter -c stands for creating the new tables (create) or to clean the old ones before adding the new data. This is followed by the name of the database, the name of the user, an option for a passwordrequest, the hostname for the databaseserver and the name of the OSM-datafile, which we want to transfer.
If this executes without an error — which usually are errors in the part in front of the filename — you can find your OSM-data in the mygis database. Besides OSM2PGSQL you could use OSMOSIS. I won’t describe this here, but you can find information about this via

Connecting PostGIS with QGIS

One or the other reader may find it useful, to analyse the OSM-data directly in the database with SQL. But the real strength compared to textbased datacollections is the visualization of the data in a map. As PostGIS finally is just a datacollection with a huge package of geospatial functions you cannot use it directly to display the data in a map. Certainly there is a great number of GIS that you could connect to PostGIS, but I usually care about QGIS. And ou can easily connect PostGIS with PostGIS.
Within the buttons at the top of QGIS you can find a blue barrel-like symbol with a ”plus” to add a PostGIS-layer. After clicking the symbol, a dialogue pops up. In this dialogue you have to add a database-connection if you use it for the first time. Click on the button ”New” and enter the required information (mygis, gisadmin, hostname aso.). After entering the information you should go and click on ”test connection”.  If this test is successful you can leave the dialogue with the ”OK”-button. If this test fails, you have to check the entered data. So, if you successfully created the new connection, you have to activate it by clicking on ”Connect”. In the lower area of the dialogue you will see the available tables with their names. There should be at least four tables with names beginning with planet_osm_… You can find lines (…_line), points (…_point), areas (…polygon) and roads (…roads). In my case, most of the roads were inserted into the table containing the lines and not among the roads. That’s just a note I wanted to add. After this you should click on all the tables in the list, and finally click on ”Add” to add them to QGIS.

Nice lines …

… don’t make an appealing map. If you haven’t used QGIS before you should maybe go through a tutorial to learn about the basic functions and configuration of the objects. As a quick howto, I can tell you this: click on a layername with the right mouse-button (e.g. planet_osm_line) and the properties of the layer will open. Besides the appearence of the object you can change the caption. If you activate the checkbox ”Show caption” you should select the field, which contains the info you want to display. I guess it is named ”name”, if you haven’t put your info into an extraordinary field. You should play around with textheight and colour. If you want a special layer to be placed over another layer you can easily drag and drop it in the list.

What’s next?

If you successfully went through all this, there will surely come some questions about special usecases in your mind. Let me tell you this: the OSM-data is much better quality than you think. But please don’t fool me, if there’s no data in the area you wanted to analyse: why haven’t YOU already collected the data?  OpenStreetMap is open to everyone, who can enrich OSM with his data. You can also simply place your question via email in my contact form (contactform). Maybe I can add a new entry in this blog to describe and solve your problem or I can assist you personally.

Business Intelligence / Location Intelligence

February 1, 2007

Going forward in this discussion we are bound to talk about location intelligence and business intelligence.

Intelligence means in this terms collecting, classifiying and analysing the available information to get some conclusions.

Location intelligence is a term that is often used by MapInfo (offering a software with the same name). While the terms of the posting “Geomarketing / Business GIS” deal either more with the internal matters of the company or deal 100% with the customer, it seems to me that the location intelligence is a mix of these two terms. It deals with informations about a customer but not just for advertising purpose. More than this it takes the results to decide where to place a new shop or office. If they collect the right information, some IT-systems will give them an outlook into future or just give them a prediction. Therefor they have to georeference all the information.

Business intelligence will go a step further, which IMHO gathers all aspects mentioned until now. Internal information and information about the customer will be analysed similarily. The results will be used to improve internal aims and to optimize the customer relationship (advertising, aquire new customers).

On the following slide I have tried to sort the different aspects of a GIS looking at their aims and their main attention.

Aspects of GIS


Please click on the thumb to enlarge.

The original GIS aims at graphical portfolio management. The ongoing development of the systems leads away from the classical cartography. If cartography is nice to have — but needed — and use of the map is very customer related I would call this activity Geomarketing (GM). Therefor it is is placed at the right top of the slide. If internal aspects are as important as aspects about customer relation and if economical information is collected as well as geographival information I would speak about a Business GIS (BG). Somewhere inbetween I would place Location Intelligence (LI). In this case maps are used to show information but internals and cartography stand more in the back. The term that gathers all the tools for internal activities and customer related information is IMHO Business Intelligence (BI). Because BI uses internal and customer related information in same values but uses a bit less maps, I would place it somewhat more at the economic side of the slide.

If you can find your aim, which you try to reach with this software, in this slide, you can easily find the category of software you will need. But this is just the main target of the software. Before your final decision you should think about what you can reach with your software additionally. By this I mean functions for the controlling (business administration). Once you have gathered all the information about your customers you can even plan and exactly optimize delivery tours or something like that. All of these additional aspects (i.e. controlling) I will discuss later.

Free GIS or The value of a GIS

July 31, 2006

Many free GIS have been developed and enhanced in the last years beside the commercial products. Normally they are available as OpenSource. I can hear you scream and shout: “Oh my God! No more OpenSource!”.

That a system like GRASS was developed by the US Army plays a dicisive role. You can see at first view, that it was not developed to look nice, but the functions underneeth for analyzing bitmaps are unbeatable. GRASS is successfully used for the simulation of flood and forest fire. With the sampledata you can get a good overview what you can do with this system.

For my purposes systems like Jump/OpenJump and Quantum GIS are better suitable because they are vector-based. The features of any objects are shown in listings for one or a group of objects. Both systems have a Java-based gui. They handle data in an own format or one can save a layer as an ESRI shapefile, to mentione a well-known format. Further on they can both be connected to PostGIS (this is even true for GRASS) to read and write data in special tables.The objectfeatures can than be listed in the application. The connection is established by the GIS. The layers will be displayed in the gui. Datasets can also be limited by SQL-statements, which you can use during connection-process, to filter the objects you really need out of the whole.

I will come back to the database connection later on. Connecting to an external database gives also benefit and flexibilty to the non-GIS user. This point is also true for the commercial products, which have software interfaces for different database systems, too. The user can access an datapool which is maintenanced and administrated by a central department. To do so, the user does not have to use GIS. Pure alphanumeric data can often be accessed in an easier and faster way using special reportingtools. With the PostgreSQL-extension PostGIS you can do a spatial query without using a GIS — if you only know the correct syntax. The thing about GIS is identification and showing of data which cannot be brought in this dependency by using listings and tables. Listings and tables are good use if you want to analyze alphanumeric data. But every time an object comes along with geospatial information you can only get full potential if you identify and analyze the spatial relation.

At the moment I’m working on real estate information, like land parcels, buildings and houses. I’m in charge of the GIS. Beside our SAP, which is surely first choice for housing industry when it comes to interests based on the needs of tenants and buildings, the GIS is of real great use. Nearly 95% of information in this buisiness is geospatial referenced, so all of these information can be viewed in the application related to a single object. Based on information about land parcels, buildings and maps more information dealing with special contracts, debits and special features can be displayed at their correct location. The user can see at once what to consider about the objects. A topic which has gotten weight over the last years — in germany — is the correct billing of e. g. cutting grass and trees in the additional expense for the tenant. That means billing of all the work, that is done in the backyard and in front of the house with the plants, grass and bushes, done by an external company and not the real estate company itselfe.

All this information are — as soon as they are entered into the GIS — available in the system and can be part of a report. Additional expenses could not be prooved by the companies for years. Now the GIS knows areas and lenghts precisely. These data can be processed in internal or external applications to get the amount of expenses for a whole town or just for a single tenant.

By connecting to an external database the user can collect some information in GIS and extend it by non-GIS information that are also in this database. This is the only way to create a qualified report for objects that have a spatial dependency. As long as our data is located in one street, we can handle their dependency with a normal database. But a GIS gives you more flexibility for reports that apply to an area which you cannot describe with alphanumerical information. Economic units, quarters, colonies or related information can be added to the baseinformation of an object without problems. But to get them you have to look at a map and if you try to get a subset of it or a spanning amount they may be incapable.

I stop my post at this point and will go on with some more details and examples on single topics of the things written above.

Your GIS – the unknown being

July 31, 2006

Well … many people doesn’t care about what a GIS is. Many of them do not even had any contact with that kind of software. Nevertheless there surely are a lot of people which could use it for their advantage.

But one after the other!

GIS is the abbreviation for Geographic Information System. Such a software is always used where information is related to a geographic point or area (geospatial data). These systems were originally used to represent pipelines or buildings in the industry or real estate sector. With the development of the systems they could also be used for planning projects and give some strategical evidence. Systems like GE Smallworld GIS were classic representatives for the group of asset management, which can today be used for strategical use or support as well. A system like Grass was born in research. Developed by the US Army, it has a lot of tools for working with bitmaps (e.g. air photographs). The main use of these systems points out that there are several GIS for different use. On one hand you have a verctor-based approach with bitmaps just for orientation. On the other hand you have high-resolution bitmaps with information for every pixel and vectors and new bitmaps only as an result of complex queries.

Smallworld as a commercial product comes along with a great expense factor. Licenses and support are not cheap. Instead of that youget an very professional system which accomplishes nearly every wish one could have. The rest can be programmed! 🙂 OpenSource and freeware can even be interesting for you, because of the great amount of mature functions and the possibility to connect the GIS with a free and capable database system. And that works even, if you have a lot of data and maps.

With one of the next posts I will go more in depth.

A GIS usually comes along with a grafical workbench, called a gui. The user or admin can use this to handle the systems and it’s functions. A lot of the systems have an AddOn or connection for a webbased desktop. Smallworld comes with a standalone webservice other systems can be connected to the UNM mapserver.
Every system works with an internal or external database (e.g. Oracle, PostGIS, MySQL) to manage the alphanumeric data. But it has not to be a real database. Some systems work with ESRI shapefiles or GML/XML-files. It’s difficult to connect to Smallworlds internal database system from outside the GIS. Other systems use external database systems like PostGIS and Oracle spatial. At the point where a number of users should use the same data, the system should be a client-server-application to devide data (backend) and application (frontend).

The next posts bring hints and approaches to the interested reader — hopefully you — to point out the differences between the systems.

For every company with geospatial data there is a great benefit to have a closer look at these systems for making the work with their data more easier. No existing database has to be thrown away and no data has to be kept redundant. With a clever integration the freind of MS Access can still use its queries and reports. And VBA programmed macros can also be used after it. The other users get a noticeable surplus in terms of increased efficiency. Even if I always use this term related to computers with an unpleasant feeling. (Quote: “Computers help us with problems, we would’nt have without them.”)

If you have a look at the so called geomarketing [in engl. it’s Business GIS but it doesn’t mean exactly the same] you should find no serious company which has no GIS — maybe it’s integrated into their reportingtool(s). But later more …