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.

Background

Looking to display a map (for internal use only) on a web page. The application must be able to add custom layers (without sending the data to the map service host):

  • Municipal zones (defined by shape files)
  • Custom zones (defined by polygons, possibly in terms of Municipal zones)
  • Site locations (defined by lat/long)
  • Additional city data (defined by shape files)

Because it is a private venture, it eliminates many map services, including: Google Maps, Bing, Yahoo! Maps, Map Quest, and other pay-for-use services.

Update #1

Perhaps MapQuest is a possibility.

Update #2

Requirements that I forgot to mention:

  1. There are additional data (cities, towns, hamlets) not part of OpenStreetMap. These cities must be included without giving the data to the map provider.
  2. There are various layers (such as employee locations) that also must be displayed, without telling the map provider where to find the data (i.e., the data will be behind a firewall).

Current Development

Currently, I have not been able to find a server that meets my requirements, so I have been following the instructions across various web sites to install a Mapnik web server:

At this point, I have various pieces of the data:

  • City and municipality data (shape files loaded into PostGIS)
  • Natural Earth data (shape files; not loaded)
  • Mapnik stylesheets (various files; not loaded)

GeoServer

I tried installing GeoServer (prior to Mapnik) but found the documentation to be lacking, the web-based administration tool to be cumbersome to configure, and the responsiveness on a 2 GHz machine to be painfully slow (10 seconds to render a tile with a single layer: roads), and the default aesthetic bland. (I know I can use stylesheets to liven up the presentation, but that means having to find [or create!] suitable files, install them, test them, and so forth.)

Requirements

The technical requirements include:

  • Cities, roadways, bodies of water (lakes, rivers, oceans)
  • Political boundaries (provinces, countries)
  • High quality (visually similar to Google Maps, Map Quest, etc.)
  • High uptime
  • 900913 projection (similar to Google Maps)
  • Responsive tiles (under 0.1 seconds per tile)
  • Excellent coverage of street data for Canada
  • Useful for slippy map (compatible with OpenLayers)
  • 10,000 tile requests per day
  • Free for commercial (or private) use, or less than $2000 per year?

Good Example

Here is an excellent example (OpenLayers) of what I'm looking to achieve:

Bad Examples

An example of what I'm not looking to achieve:

An example of incomplete data:

Related Links

Question

What WMS, WMTS, or WFS servers offer the required functionality?

Thank you!

share|improve this question
add comment

5 Answers 5

up vote 8 down vote accepted

I'm not sure why you are excluding services like Google Maps, especially since your expected traffic not that high (Google starts charging after 25,000 map views (your map views will be much lower than 10,000): https://developers.google.com/maps/faq#usage_pricing). What you basically need is two things:

  1. Someone to provide you with the Web slippy map. This can be Google Maps, Bing, MapQuest, Cloudmade etc. Or you could run your own tile server and use OpenStreetMap data.
  2. Rendering your own vector data on the client side (using javascript) on top of the Web map. There are several open source libraries that can do that (OpenLayers, Leaflet, Polymaps...).

Some pointers to investigate further:

share|improve this answer
7  
Google Maps' terms of service forbids displaying maps on private servers (i.e., the server must be open to the general public). developers.google.com/maps/terms ... "Your Maps API implementation must not operate only on an internal network." So that rules it out. –  Dave Jarvis Jul 2 '12 at 5:52
    
OK, that makes sense. In that case OSM is the way to go. –  Igor Brejc Jul 2 '12 at 5:55
add comment

More two opensource map service:

share|improve this answer
add comment

I think the word open source is being used fairly liberally in this thread ;)

Two more options:

share|improve this answer
add comment

Openlayers with OpenStreetmap seems to be your best free option, then you would add your layers with WMS (like Mapserver or Geoserver). You could also use google Maps with a license.

I have lots of experience on this since I've developed a number of sites, some from scratch with custom tiles.

I have not worked with geoserver but with Mapserver. You can't expect the server to render milions of details of features on real time. I'd say that the performance of these must always be enhanced by simplifying the data to levels of detail (according to the scale or zoom) and maybe burning base data to tiles.

Now I am working on Mobnetics Map

This uses Openlayers , OSM tiles, postgreSQL and Java The beauty of it is that it adapts to any GIS data (by the use of metadata) and then allows users to query the data. It is under continuous development and at the time has only additional data for Portugal (as test case).

The next thing I want to do is to offer to clients hosting on gis data that they can setup and update remotelly, so that clients can work on the site as their own.
It would be nice to have a client as you as my company develops the site..

Otherwise, I can also do a custom instalation of this site on your server and maintain it remotelly. We have done this to some clients.

best regards,

Joaquim Muchaxo

share|improve this answer
add comment

You can, of course, use a for-pay GIS. I work at a council and we use Exponare. Exponare is easy and works fine, but it will cost you.

ArcMap is the most fancy, and it's software Dekho does what you want.

IF you want to roll your own, check out http://opengeo.org/ for the full stack in a supported model.

My understanding of doing it yourself is to do the following:

  1. Get your data in a spatial database, i.e., PostGIS
  2. Choose your tile/vector server (PostGIS, GeoServer) to publish WFS/WMS
  3. Choose your web front end (GeoEXT,openlayers)

You can install much of this on Windows with https://trac.osgeo.org/osgeo4w/ (package managed and all). I'm sure Ubuntu has the packages, if not official then in a PPA.

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.