Take the 2-minute tour ×
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 to GIS development, and to be be frank I have no background about it at all. I searched the web but the tutorials I found seemed to assume the reader has some background information.

the thing is that I am confused about what to read or learn, there seems to be lots of technologies, and I feel lost since some speak about openlayers, geoserver, mapserver, google maps, and open street maps.

So here is what I am supposed to develop, and I hove you could give me an advice about which technology to use, and where should I start reading - given that I know almost nothing -.

Case 1: a closed system for about 20 users only, who can specify locations on the map, and the web application will store the latitude and longitude of the locations and show the markers. I wanted to use google maps api, but I cancelled that since there license requires you to purchase the service if the system is a closed one. so what technology should I use in such case? I need a free option, also I will be only using web server, so if the solution includes using my own geoserver, or something like that I won't be able to do it.

Case 2: I am supposed to display the roads and routes between two given points, and probably add some notes on the map. For this I case I can use my own map server/geo server, but again I want your suggestions.

of course the solution need to be open source

finally, I hope you could tell me what to start reading first,

thanks for you in advance.

share|improve this question
add comment

4 Answers

Case 1:

Instead of Google Maps, you can use OpenLayers + OpenStreetMap. There are some books on OpenLayers and they offer numerous examples of how to use the available functionality on the OpenLayers website.

Case 2:

One out-of-the-box routing solution using OpenLayers and OSM is osm2po. It's very easy to set up and showed good performance in the short tests I've run so far. If you are happy with the pre-rendered tiles, you don't even need you own map server.

As noted in the comments, there are many other routing solutions (offline and online), including pgRouting but I think you'll only have to go down the pgRouting path if you really want something different, something the available out-of-the-box tools won't do.

share|improve this answer
1  
I want to add that pgRouting offers great integration with OpenLayers if you want to explore other routing utils. –  Michael Markieta Jan 14 '12 at 22:51
1  
Also, larger list of routing utils located here: wiki.openstreetmap.org/wiki/Routing/OfflineRouters and wiki.openstreetmap.org/wiki/Routing/OnlineRouters –  Michael Markieta Jan 14 '12 at 22:57
add comment

For some of the very basic stuff try www.esri.com, they have a lot of notes on what is GIS what is a point line and polygon etc. But note that while they have some great supporting documentation, their software is expensive

also try the osgeo.org website, they have a DVD you can download and run which has a number of different open source (free) programs

OpenLayers 2.10 Beginner's Guide by Erik Hazzard is a good book to read to start with, It does help if you know some web development and have done some html coding. It also only deals with open layers which is the program which displays and allows you to interact with a map in a html web page. It is a java script library.

geoserver and mapserver basically produce "files" or services such as wfs "web feature service" and wms'web map service" along with a number of other options, you can then show this file/service in "openlayers" or another program for people to view.

google maps does the same thing as the above programs but is owned by Google and subject to their licence restrictions.

open street maps is similar to Google in that is shows streets around the world but all information is under a creative commons licence which means you are pretty much able to use the information as you wish. It is the data that you may wish to show or use with other information in your map

This is quite a complex field, not something you can learn in a week, but persevere and you will work it out.

share|improve this answer
    
When I began self-teaching myself web-mapping and general programming, I used OpenLayers 2.10 Beginner's Guide by Erik Hazzard. I highly recommend this book!! I now currently use mapserver to host my own custom data, that is displayed in OpenLayers driven web-maps. –  Michael Markieta Jan 14 '12 at 22:53
add comment

Went down this path ourselves. Basically you have to give everything a try to see what works, that's where the learning comes in. Google everything.

We went as far to create our own Blue Marble Tile sets (using GDal) for the base maps, only to find that Mapquest offers them for free provided that; a) you let them know if you will exceed more than 4000 tiles a second and b) you attribute them. They have a Satellite layer as well as OSM Layers. The OSM Layers are routeable and have reverse geocode look-ups. SO why create your own OSM data using osm2pgsql now and why create your own basemaps? It is already here for you.

Having said all that, we did end up creating our own crowd sourced map in the Philippines (not based on OSM) and stuck it into Postgres with a Geoserver Front end. It is the most comprehensive available now. Out here in this part of the world, the ability of Bing and Google to map to the degree where it was useful is limited. They have bigger fish to fry. The OSM community is very active, but there are only a few of them, however they do a great job and their efforts will pay huge dividends to the community down the track.

We settled on these technologies and applications:

  • Windows Servers 2008 R2 because we had them
  • GeoWebcCache to speed it up
  • GeoServer To create and style tiles
  • PostGres for the database
  • PostGis To make GIS work on Postgres
  • PgRouting for all routing on POstGres
  • JQuery and OpenLayers for the Client Side
  • MySql for the logging and more generic data
  • ASP.Net and Classic Asp to put it all together and serve to the user

I never read any books, just sat with Google as my research tool. Questions like "How do I set up PostGres to work with Pgrouting" give a wealth of information. (AfterDark has an excellent blog with a LOT of information)

One thing to remember, the GIS Community is so giving and so willing to help. 99% of the people involved are not doing it for commercial gain, so look for and read the information posted. Remember, whatever you wish to do, someone else started at the beginning before you did and probably published it. Then, feel free publish your experiences for the next person who comes along, it will be an invaluable addition for those who follow.

If you don't have a public facing server to play with, get a free one from AWS. You will find you will probably get the bug and end up playing from home, with Ah Ha moments about 2am in the morning.

In answer to your specific question about Web Servers, you will need Administrative Access to a server to make this happen. The server can be your desktop PC, or a free AWS server. All the things you need are available under windows (32bit) and Linux/Unix. For a 20 user system, you could just do this all on your PC.

I actually started with a Geoserver Install on my desktop PC whilst figuring it all out. Installed it and went to http://localhost:8080/Geoserver and it all grew from there

Hope this helps, go for it and enjoy the experience, it is incredibly rewarding. Cheers

Mark

share|improve this answer
add comment

Bing maps is similar to google maps and does not require a paid license. It is much slower though http://www.microsoft.com/maps/developers/web.aspx

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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