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 completely new to GIS and therefore have questions regarding how the GIS Web development should be made, because the entire concept still confuses me. So, imagine I have a map. And by this, i mean the shape files for the layers and so on. How i should i use this in my web application? I have read about MapServer, OpenLayers, PostGIS, but can't quite understand how and why this all enters the question. If i have my map, my files, shouldn't the problem be just on to represent it in the web page?

As you probably have already realized, i'm quite clueless on this, and if you could explain this to me like i'm really dumb, i would be appreciated :D

share|improve this question
2  
friendly reminder: upvote and mark the best answer as answered whenever you feel the time is right. (no pressure). New members almost always need to be explained this, it happened to me. Or else you get a low acceptance rate and people might not be as willing to help. –  CaptDragon Mar 8 '12 at 16:23
add comment

4 Answers

up vote 15 down vote accepted

You have your shape files, which the web browsers cannot read if you put them on a server somewhere. A user could download them and view them in an application but that's not what you want.

So this is where GeoServer, MapServer, OpenLayers, PostGIS come into play.

You would use PostGIS to store the data in your shape file as it's a spatial database.

You would use GeoServer or MapServer to Expose that data in an OGC Standard way to represent your layers.

And finally you would use OpenLayers to display those layers however you want in a pretty map on the web.

Update:

This might help you visualize it: enter image description here

share|improve this answer
    
Aren't there ways to read the shape files directly? Like ThinkGeo or even GeoTools. What i don't understand is the difference between these two approaches. Why just not load the shape file? –  seth Mar 8 '12 at 15:06
    
Yes if you didn't need or want a spatial database (postgis) then you could load the shape file directly to geoserver. However shapefiles have limitations and you didn't specify what you wanted to do as far as how large the project can become etc. So i gave you all options. –  CaptDragon Mar 8 '12 at 15:10
1  
for directly reading shapefile you have to use geodjango which is a python web library.with the help of this you can use Python Shapefile Library , Pyshp, Shapefile and more... –  Aragon Mar 8 '12 at 15:16
3  
@Aragon "for directly reading shapefile you have to use geodjango" That's not true. There are many applications that read shape files. –  CaptDragon Mar 8 '12 at 15:20
    
What are the limitations of shapefiles? And assuming i'd load the shapefile, do i need geoserver and openlayers after that? –  seth Mar 8 '12 at 15:24
show 3 more comments

A more complete list (the first answer mainly refer to OpenGeo stack, that is excellent, but there are plenty of other options out there):

User Interface

Map Services

Web Applications

Tile/Cache Services

Data Services

For vectorial datasets:

for raster datasets:

SDI Services

Note that this list only refer to Open Source software, otherwise we would need to add more software and tools (most notably ArcGIS Server and Oracle Spatial).

share|improve this answer
add comment

You could work though my course (though there's no credit I'm afraid). It provides a 9 step plan to get you up to speed on some of the concepts that you seem to be struggling with.

share|improve this answer
    
(+1) i would take your course if i were Seth. –  CaptDragon Mar 8 '12 at 15:58
add comment

what i have understood from your que. is how can you spatialize your data? if you dont have any road map you can read Spatializing your Data with PostGIS, GeoDjango & OpenLayers

the tutorial contents contain following information which take from its web side:

This tutorial covers some of the most common Open Source GIS technologies available today – PostGIS, a set of spatial extensions to PostgreSQL; OSGeo’s OpenLayers, a client-side JavaScript map “mash-up” application; and GeoDjango, a set of Geospatial extensions to the Django framework. Using these technologies we will explain and implement a web application using municipal street, school, police, and property data from a typical US municipality (Wake County, NC).

Attendees will learn how to import and manage spatial data using GeoDjango, perform basic spatial queries using the GeoDjango database model, and develop and deploy web-based mapping services using OpenLayers.

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.