I'm brand new to GIS programming and I am designing a GIS application and I think I want to use MapGuide because of its user selection features (Digitizing and Redlining - or can I do this easily with MapServer and OpenLayers?). I am reading through documentation/tutorials and I can't seem to find any guidelines to designing a spatial database for use with MapGuide.

Can I design it in any way as long as I keep query optimization in mind? It looks this way from the diagrams, but I want to be sure.

What should I store in my separate DB and what in the MapGuides server repository in .shp files?

Edit: MapGuide stores


1 Answer 1


We're using MapGuide OpenSource here and are pretty pleased with its development environment other than lacking of documentation.

Some MapGuide devs and consultants will recommend you use the "basic ajax" web app to develop your app, but we found it limiting and used Fusion instead. Fusion uses OpenLayer.

Though MapGuide has Redlining built in, it's quite useless as is, you'll have to extend it to make it usable. And that will require a strong Javascript and PHP (or .net/java) background.

We use PostGIS as our RDBMS. Our design is pretty straight forward: each "table" represents a layer and each record represents a geometry. Everything is in one database, but spans across multiple schemas (it's easier if you keep it in one schema, though).

As to what to keep in DB and what shp: anything that you need "relational" power will obviously benefit from being in RDBMS. It really comes in handy when you need to query something involving multiple layers, or even relate it to non-spatial data in the DB. Or something that's constantly shrinking and growing. Only thing i would use shp for would be really static standalone layers that you need it to load fast, because shp will have speed advantage.

Hope this helps. I am no expert, but this is from a limited experience. i'd seek out further opinion also.

  • Thanks this is exactly what I am looking for. Follow up question: For your different polygon-type layers tables, do you have one polygon table or a polygon field in each layer table?
    – Nate
    Commented Jun 8, 2011 at 19:05
  • if im understanding you correctly: each of our layer table is only one polygon type. The nature of RDBMS lends itself this way because everything in a table would be of related nature. So each of the record in our address table would be of point type and each record of the parcel table would be of polygon type, etc.
    – janechii
    Commented Jun 9, 2011 at 20:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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