Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am very new for GIS, I know java web development.

I want to develop a GIS web application in Struts, can you suggest me how to start?

My requirement are as -

  1. Any API/Tool should be open source.
  2. It should work on HTTPS.

Any tutorial?

share|improve this question

closed as too broad by PolyGeo Aug 9 at 23:23

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers 7

Why don't you have a look at GeoServer and it's developer manual.

It is open source and Java based.

share|improve this answer
thank you I am looking it. – Pravin Jun 17 '11 at 10:29
A silly question, we have lots of map provider like google, bing etc. they provide API to access and we can display the objects on map and can navigate then what's the role of a GIS tool? is it do the same thing for our custom map images? – Pravin Jun 17 '11 at 10:32

Complete review of Open Source web mapping frameworks

share|improve this answer
thanks for your quick reply, i will check these. – Pravin Jun 17 '11 at 10:26

Depending on what you mean by "GIS web application" you might look at GeoTools to provide your GIS functionality. It's open source and Java based. But as ujjwalesri said GeoServer is probably more what you are looking for.

share|improve this answer

You will likely need some kind of component to display your maps. Most popular option is the OpenLayers javascript library. There is also a full Java solution (using GWT) with Geomajas. It would be easier to go GWT all the way for your application, but integration with struts is also possible.

share|improve this answer

We had exactly the same problem here. In the end we used the VAADIN framework for all the webapp frontend. There is a special extension for VAADIN called vol (vOpenLayers) which makes embedding maps very easy and a smooth job.

We tried many different approaches and for us vaadin with vol is one of the best and fastest developable packages.

In the backend we use a Mapnik/TileCache server for Tile handling and caching, AND we use python to interact between Java and Mapnik (printing, generating PDF etc.)

I'm pretty sure, that it is the kind of framework you are looking for, you can handle all the Java dev. as you used to and you need just the vol library to enable the mapabilty.

share|improve this answer
I am using Vaadin with Vopenlayers (it is a port of Openlayers api by using GWT JSNI) and happy with it so far. By the way just curiosity, are you contributing to the vol project ? However in the question preference is marked as Struts so I would say it is best to take a look at Openlayers and Geoserver for a kick start. I would recommend using Geotools only if there is a solid motivation/requirement and would prefer to delegate GIS functions as much as possible to Geoserver (since it is already using Geotools). Geotools is a bit too messy and big for simple stuff... – oalan Aug 21 '12 at 13:16
as soon as our project is done and we have a stable version running, I'll try to find time to contribute on the vol-project, as it is very important for us! – Styp Aug 22 '12 at 10:04
share|improve this answer

GeoExt provides a very rich UI using Ext and OpenLayers. Also you can get Geo-spatial data from Open street Maps.

Another option is Mapguide, an open source GIS platform.

share|improve this answer
Can you please explain how this answer's the OP's Question? AFAIK, none of these components are built using Java. – Devdatta Tengshe Feb 13 '14 at 6:27
This is the link Java Api for MapGuide <>; and GeoExt is JavaScript UI API can be used for Java Web Applications. – Omer Younus Feb 13 '14 at 6:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.