13

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 shapefiles)
  • 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, MapQuest, 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, MapQuest, 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?

6 Answers 6

11

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:

2
  • 8
    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. Jul 2, 2012 at 5:52
  • OK, that makes sense. In that case OSM is the way to go.
    – Igor Brejc
    Jul 2, 2012 at 5:55
3

More two opensource map service:

3

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

1
  • Might be a bit of a long shot, but do you know where id go to learn more about setting it up?
    – QGISUser
    Jun 19, 2016 at 23:41
1

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

Two more options:

1
  • 1
    Neither of these are options, as the question was for free private services Jun 16, 2015 at 23:06
1

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.

1

The completly free options require integration of a few software and openstreetmap has links to software using its free data. I would recommend looking to Mapbox API and tools as Mapbox studio, it's free for low usage and scales very well, with Native mobile, react native, Offline is a possibility too, can use it with Apis such as Openlayers and leaflet. The interaction layer grids and the vector tiles styling are unique and powerfull features of Mapbox, it's not oriented however towards WFS or WMS, in that case use Postgresql and Openlayers too. Postgres has Gml functions out of the box so to use WFS just need to add some headers to requests, however for a full Ogc implementation use geoserver or Mapserver

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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