I am in the process of enhancing/porting an application we made containing georeferenced data (GIS data). I would like to use a DB supporting GIS functionality thinking of PostgreSQL with PostGIS. Can anyone give some general feedback who uses that? I am interested in how does it compare (just a few main points) to Oracle’s Spatial extension and ESRI’s SDE in terms of functionality, ease of handling/developing and in the case of ESRI what are the advanteges?
Can anyone point me to a good starting point documentation giving an overview of the PostGIS part of PosgreSQL?
I know that the U.S. Geological Survey uses Servoy with PostgreSQL with PostGIS. Maybe they can share some experiences.
You can also get more info on PostGIS on the website of the makers of PostGIS. They have a Wiki and more.
May be some Servoy developer from the U.S. Geological Survey shares her/his experience here, hopefully
Thanks a lot, Robert! The PostGIS Wiki looks as a real good starting point.
Best regards, Robert
ROCLASI:
Hi Robert,
I know that the U.S. Geological Survey uses Servoy with PostgreSQL with PostGIS. Maybe they can share some experiences.
You can also get more info on PostGIS on the website of the makers of PostGIS. They have a Wiki and more.
I remember that they gave a session at ServoyWorld 2006 in Boston.
You can get their (and others) presentation here.
The 2 speakers were Daniel Ponti, USGS and Sean Devlin, Excelisys.
Maybe Sean can give more info.
Hi Roberts!
I am interested in implenting GIS too so I spent some spare time now and then and took a look all over the net…
The more promising “thing” that I’ve found so far is OpenMap (http://openmap.bbn.com/), it is a javabean/applet and looks really good. I think it shouldn’t be too difficult to write a simple wrapper to use it inside Servoy.
For data storage I’ve seen that mySQL supports GIS extensions too so it’s just a matter of personal preference as long as the system is OGV compliant (http://www.opengeospatial.org/).
I’m really interested in your opinions.
At the moment I can’t give competent information to GIS DBs as our current system is built without the use of one, but we are looking into using one (if we get the job). So I am interested in know-how and experiences from Servoy developers. What is the primary strength/application of your mentioned OpenMap JavaBean? Can’t a JavaBean just be used within Servoy without writing a wrapper?
There was some months ago a developer on this forum which (as far as I understood) developed a GIS application (pipeline for Oil/Gas?) and wanted sometime publish some of their work (as open source if I remembe correctly) to the community. But I did not read anything anymore since then.
Best regards, Robert
ngervasi:
Hi Roberts!
I am interested in implenting GIS too so I spent some spare time now and then and took a look all over the net…
The more promising “thing” that I’ve found so far is OpenMap (http://openmap.bbn.com/), it is a javabean/applet and looks really good. I think it shouldn’t be too difficult to write a simple wrapper to use it inside Servoy.
For data storage I’ve seen that mySQL supports GIS extensions too so it’s just a matter of personal preference as long as the system is OGV compliant (http://www.opengeospatial.org/).
I’m really interested in your opinions.
You might mean the USGS solution I mentioned earlier in this thread.
They made it with goverment money which means they will have to make it public. Of course they first have to go through the motions (rules/regulations) before they can do that.
I suggest you send Sean Devlin of Excelisys an email.
Excelisys is a SAN Partner. I am sure they are ‘in the book’.
I developed the software for the USGS that ROCLASI has cited. We will be releasing it to the Servoy community free of charge soon. Our original deadline was for the New Year, but the publication process has been impaced. I will have Servoy announce the availability when it is released. You are welcome to email me with any questions: seanthomasdevlin@gmail.com
Thanks for your info. I am interested in your software as we might have (hopefully) have the chance to migrate our GIS Infrastructure to produce maps to another database and Servoy.
Best regards, Robert
sdevlin:
Hi All,
I developed the software for the USGS that ROCLASI has cited. We will be releasing it to the Servoy community free of charge soon. Our original deadline was for the New Year, but the publication process has been impaced. I will have Servoy announce the availability when it is released. You are welcome to email me with any questions: seanthomasdevlin@gmail.com
I made some examples as described in the PostGIS manual and they worked. But I did not more at the moment as I have to develop the Interface and functionality for the “traditional” part of the app at the moment.
I am very interested to hear about your experiences.
Best regards, Robert
drookwood:
Hi Robert and Sean,
I’ve just started looking into the possibility of using GIS data in a servoy solution - has there been any progress on this?
We also switched from Sybase to Postgres for one project, although the repository is still on Sybase. I leave all developments on the Sybase db.
No, When I was looking for GIS db, I go the info that Sybase Adaptive Server Enterprise db (the bigger one than SQL Anywhere) has support for GIS mainly supported by Boing USA (as far as I understood). I did not get more info here in Switzerland so it was no option for me. May be you can get more info.
But it seems that PostgreSQL/PostGIS is ok, although I have to say that we have severe performance problems, but we don’t know why yet. Some tasks running as Servoy methods take 60+ hours. But I hope over time we will find out what’s wrong. As you can imagine improving and trying (new) ideas to identify the bottleneck is very slow if one run takes 60 hours.
May be in some weeks I can tell you more (I hope very much).
Best regards, Robert
drookwood:
Thanks Robert - I’ll have a look into it.
My existing hosted solution is on Sybase - this means switching from Sybase to Postgres which I dont have experience of, but maybe its time to learn!
Have you seen anything similar that works with Sybase?
I found some info which you may have seen on Sybase entering into agreement to acquire GIS provider Coboplan late last year. http://pbdj.sys-con.com/read/411896.htm. And this from the Sybase site
Ahead of the Game with Coboplan Acquisition
Sybase got ahead of these events when it completed its acquisition of Japanese mapping software solutions provider Coboplan in August. Coboplan provides context-aware mapping capability for applications ranging from sales force automation to road, city planning, and waterworks civil engineering projects in both local and national government institutions. In short, its software allows information to be presented on any kind of map. For instance, the Tokyo Fire Department uses the software to provide a map for first responders, with detailed information about the locations of power lines, gas lines, building plans, and more.
The acquisition will enable Sybase iAnywhere to incorporate mapping software into its mobile database, synchronization, radio frequency identification and natural language products, to deliver new, integrated, context-aware, location-based solutions. Targeted areas for growth include corporate CRM (customer relationship management) systems, sales force and field force automation systems, embedded car telemetry and home embedded systems.
What that all means in relation to Servoy solutions I don’t know - I’ll try to get some info from Sybase here in the UK.
Robert Huber:
Some tasks running as Servoy methods take 60+ hours.
I don’t use PostGIS, but that sounds LOT.
Some ideas:
You can speed thing up by maybe 1.000 times by adding indexes in the right places – check your foreign keys.
If your Servoy methods exercise the user interface in any way, this can add a lot of overhead when processing sets of records.
Batch processors run on the server and have no user interface, so they will run routine tasks MUCH faster than a Servoy client.
Consider writing some calculations as functions in PostgreSQL. Check the PostgreSQL documentation for PL/pgSQL. PGAdminIII will be of help here too. You can use something like this to call the function and set a servoy field:
var query = "SELECT my_function()";
var args = new Array();
args.push(myvalue);
var dataset = databaseManager.getDataSetByQuery(currentcontroller.getServerName(), query, null, 1);
if(dataset) {
return dataset.getValue(1,1);
} else {
return 0;
}
Update on the position re Sybase and Coboplan - according to Sybase UK, it seems that Coboplan is Japanese only so no possibility of integrating it at present. But they do acknowledge that there is a potential market so maybe in the future?
Thanks for the tips. Unfortunatly, we do inserts and updates, where indexes don’t add anything to the speed but cost only to update as well. So we will try to remove all indexes. I somewhere read (but can’t remember and find where) that reapplying primary key indexes is hard to do when removed manually. When will they be reapplied when I remove them manually? They are automatically applied to the primary keys, but when?
Our long running process is running in the background, i. e. started with just a button.
Best regards, Robert
swingman:
Robert Huber:
Some tasks running as Servoy methods take 60+ hours.
I don’t use PostGIS, but that sounds LOT.
Some ideas:
You can speed thing up by maybe 1.000 times by adding indexes in the right places – check your foreign keys.
If your Servoy methods exercise the user interface in any way, this can add a lot of overhead when processing sets of records.
Batch processors run on the server and have no user interface, so they will run routine tasks MUCH faster than a Servoy client.
Consider writing some calculations as functions in PostgreSQL. Check the PostgreSQL documentation for PL/pgSQL. PGAdminIII will be of help here too. You can use something like this to call the function and set a servoy field: