4

When you move to a new place, it's very useful to have maps tailored to your interests available at the click of a mouse or tap of a smart phone. The following projects are great examples of more personal local maps:

These resources are fantastic, adding independence and providing a counter to the homogeneity of massive worldwide maps such as Google and Bing.

How can I best implement this on a small scale for a local organisation?

For example maps are needed to locate fruit trees for an urban agriculture project such as abundance.

The criteria are as follows:

  • Low price or free
  • User friendly, allowing more than 1 person to contribute
  • Scalable
  • (preferable but not essential) levels of security so sensitive information is only viewable by some people

The options I have considered for such a tasks, along with +s and -s are:

  • QGIS Cloud: + works on very accessible GIS, free. - seemed glitchy, not necessarily user friendly or easy to add new features for new users
  • Create geojson files and serve them from Github, using OpenLayers on the client side to process the files, allowing different layers to be added/removed (I have actually experimented with this on, adding a couple of shop polygons not yet on OSM or Google Maps) + simple, lightweight and free, - not user friendly - must edit geojson files externally
  • Geoserver: I've used this before, and enjoyed it until AWS, my remote server, started charging me + scalable, user interface, security levels - potential costs, - overkill for a small project.
  • MapQuest Open + uses pre-existing OSM data, - seemed limited in terms of functionality

Which of these would you recommend?

Have I missed any better options from the list?

And how should I organize different tools to work harmoniously together in the final solution?

Will try to keep people updated with progress on this as I think there is a real need for development of interactive local and community maps.

closed as too broad by PolyGeo Aug 12 at 19:59

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

1

Not a perfect solution to your question, but, just throwing out as another option, you could look into using Google Fusion tables, depending on specific project needs as well. Google Fusion tables is a Google beta project (or was still beta last time I looked) and can be accessed/created form Google Drive (requires a Google account, but they're free, so...). It's basically a simple cloud database system with integrated geospatial support via KML, Lat/Long, or geocoded address (only KML method supports non point features though, if you're looking for polygons or lines). There are various security options, including standard Google options for making tables public, public unlisted, or private, and you can share who can read and write, who can just read, and who can't access at all. Also, there are some more recent efforts they've made in allowing you to create views from a table that you can separately set permissions on, so you could give certain users read access to the full table but only write access to a subset of records, or a variety of other configurations to meet your needs. Furthermore, it's part of the Google drive platform, so down time's probably a minimal issue if at all. Also, scalability is relatively robust considering is hosted on their cloud, and they write and maintain the GUI's and such, so minimal if any coding required for basic projects. However, they do have a relatively thorough API for it as well if you want to go that route, not to mention the product's clear integration with Google Maps. They even have some built in tools like auto-generating a heat-map from your table.

All that being said though, Google Fusion Tables has the down side of, they write and maintain the GUI's, so unless you want to get busy writing a fair bit of code, you're stuck with their interface and functionality, "as-is". Furthermore, requires a Google account (shouldn't be too much of an issue, but some people get account fatigue). Also, there are limitations on the use of the product. Depending on the use of the product (there are different rules depending on if it's for private, commercial, non-profit, educational, etc. use) there are storage limits, API max quotas, a 100,000 record limit on number of records from Fusion tables shown on a map or returned from a query via the API, etc... Furthermore, a lot of their products have various limits on what if anything you can do with them on internal networks (without public access, such as on a companies intranet). These limitations can be restrictive and or expensive to overcome, depending on the situation. Also, I've yet to hear of anything as-is integrated with the platform to allow mobile device based in the field editing of geo-tagged records using device location (though this wouldn't be very hard to achieve via use of the API and a bit of coding). Also, due to it being hosted and provided by Google, without use of the API and your own code to extract and display the data, you don't have a lot of options for corporate/organizational branding of the interface,visualizations,etc...

I'm not trying to endorse this product, it's just you said you wanted discussion on and input on various options for solving certain kinds of problems, so, I thought I'd throw out another option.

1

I would add Ushahidi and its related products (SwiftRiver and Crowdmap) to your list. Its main features:

0

You could also look at CartoDB

http://cartodb.com/

It's really flexible and super easy to use

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

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