Wikimaps

From Meta, a Wikimedia project coordination wiki

There is a newer project by the same name in the Commons. It's primary focus is to bring historical maps and geodata into a web mapping environment in Wikimedia. This page is dedicated to geographical data on Wikipedia or other Wikimedia projects. Several suggestions have been made in the past. Wikimaps tries to summarize ideas, wishes and links to other useful information. Please do not add other disjointed discussions but summarize functional information here. Category:Wikimaps lists related articles at Meta.

Interested persons are welcome to join the maps-l mailing list.

Goal[edit]

  1. Making geographical information accessible as free knowledge
    1. Making geographical information accessible in many languages
  2. Enriching Wikipedia with geographical data
    1. For generating maps (See Map generator)
    2. For making Wikipedia browsable by GPS and maps
    3. For detecting geographical relations and distances between locations

In practice the goal is a simple but powerful system that is free and usable for all. The relation between Wikimaps and traditional atlases and navigation systems is similar to the relation between Wikipedia and traditional encyclopedias. Wikimaps will probably be something entirely new like Wikipedia is not a traditional encyclopedia. The first goal can be achieved by the second one. Wikimaps could also be an independent Wikimedia project or a function of MediaWiki like TeX and EasyTimeline. Probably some collaboration with other projects dealing with geographical data can be useful.

Goal 1-A: Making geographical information accessible in many languages[edit]

All the technical stuff that you can do to make maps accessible are not relevant when you do not have at least the names of locations in at least two languages to start off with. These languages are the local name, and the official name. Then and only then translations in languages like English become important.

When we give priority to the local names, we drive an interest in the projects in the local language. When we do not know the name in the local language, it needs to be something that we strive to to get. For translations the OmegaWiki will be the obvious place.

As you also know: there are some locations with the same name in different countries. For translators in the tourism sector very often detailed information is necessary, being able to see a map and the translations associated with that specific places are often essential to do a good job.

Goal 2: Enriching Wikipedia with geographical data[edit]

This can be done by

  • integrating already existing data
  • creating data of our own
  • both of the above

See discussion and WikiProject Geographical coordinates for more information on this.

Goal 2-A: Generating maps[edit]

Wikipedia needs lot of maps. Currently the most popular solution is to use CIA World Factbook's maps, but they have too poor quality for printing, are in lossy format, in English only, and many interesting maps aren't available.

Discussion

Similar projects[edit]

Usage Scenarios[edit]

Scenario for Goal 2 (or is this Goal 3 - enriching Wikipedia with new functionality?):

  • Imagine to start Wikipedia or a homepage on a site which is MediaWiki-powered. There is a (new) tab which displays a map, e.g. a world map (like Google Map). From there users can do - among others - two things:
    1. Add data points as labels with short descriptions by a mouse click or entering coordinates. Label entries have to get a 'Wiki styled' name; categories can perhaps act like layer names.
    2. Hovering over a location with a point icon, a label with text pops up. Clicking there on a link called "Info/WikiPage" (in the footer) a related Wiki page shows up with the known MediaWiki functionality. The Wiki page links back to the 'map tab' and highlights the related label when followed. This back link is automatically inserted as a filled-out template (like 'coor') when the new page has been created from the map interface.
  • Concerning some functionality of the 'map tab' see for example the Wikyblog which gives some inspiration - although this probably won't scale.
  • Applications of a MediaWiki with such an integrated map extension are user recommended places like restaurants, hot spots, etc. as well as (political) decision finding in urban planning, tourist or environmental sites where citizens/tourists/users contribute on a collaborative map containing commented and discussed places.

Open standards[edit]

Several Open standards have been specified for different domains, specifications are being developed in the Open Geospatial Consortium (OGC). There are Free Software implementations for most OWS (Open Web Services) specifications. Two of the most common are listed below (and see Open Geospatial Consortium on Wikipedia).

Web Map Service[edit]

WMS deliver map images. The description of a WMS is requested as a Capabilities Document (Demo). To get a map out of this same server a getMap (Demo) request is sent to the server. It can be parametrized with different spatial reference systems, scales, layers, styles. Example for a larger map: getMap image with 1400 by 1800 pixels. Want the highways only: getMap image with highways only. The map data can be displayed in many perspectives compare getMap image with spatial reference system WGS84 with the same date as a getMap request with "Gauss-Krueger 3rd meridian" spatial reference system.

Web Feature Service (WFS)[edit]

WFS deliver geo objects. They come as [Geographic Markup Laguage (GML Demo)] and can be stored in PostgreSQL with the aid of PostGIS in the data type "geometry" known as Well Known Binary (WKB). Just like with the WMS the description of a WFS can be obtained by sending a GetCapabilties request and reading the Capabilities Document (Demo). The WFS can be used as a gazetteer, you ask for an attribute and as a result get the geometry. This getFeature request (Demo) shows a search for the postal code 53111 in Germany. This could make up the smallest possible reference to a worldwide data set.

Versioning of geo data is a larger issue as can be seen here: http://jira.codehaus.org/browse/GEOS-358 This topic will probably best be continued there, any news on this topic will find their way here, maybe once a demo is available.

Geodata and maps[edit]

Geographic data can be vast depending on the format and level of detail. There are orthophotos and satellite images worldwide worth several 1000 terabyte. Management of this data is currently one of the most interesting fields of research. The concept of interoperable Spatial Data Infrastructures (SDI) which are linked by geographic namespaces or domains, simple geographic proximity or a host of metadata is what would make a lot sense to link into with a WIKI concept. Now this geographic information is all the more valuable combined with a host of other geo data sets. This overlaying and combining can be done with map user interfaces (Demo).

Open source implementations[edit]

  • GeoServer Java map generator WMS, WFS, WFS-T (write back)
  • UMN MapServer C map generator WMS (fastest on earth), WFS (read only)
  • deegree Java building blocks for GDI (geospatial data infrastructure) WMS, WFS
  • Mapbender PHP map client GDI portal and management interface, WMS, WFS
  • Openlayers - Javascript geoserver client, used by OpenStreetMap.

All these software components can be combined to build a GDI. The WIKI relevant stuff might be to set up an intelligent and accessible management and cataloging infrastructure of the geodata and maps.

Technical issues[edit]

Automatically placing labels is not a trivial problem, but it has been solved fairly well in the above mentioned Open Source implementation UMN MapServer. Some places will need more detailed geo data if all labels are to be visible. The degree of detail depends on the kind and amount of data to be displayed. A large forested area will provide less information than the central business district of a large city.

For "political" maps we can either just draw borders on topological/satellite map, or (what's more traditional) use a different color for each country. One of problems is that colors may carry some political meaning. See also http://www.wikipedia.org/wiki/Map_projection

Political boundaries, there's a Free data-set available as lines. One of the issues with boundaries is that they're so time-dependent, and if Wikipedia is interested in becoming the authorative source for "where did the Israeli border lie in 1990", then someone needs to go through a list of conflicts with a GIS program and create a timestamped version of this file. [1]

GSHHS coastline data is the "definitive source", in a binary format that's not too difficult to parse. I've done it at work but unfortunately that's proprietary. GRASS seemed to read this data with no trouble, last time I looked. They have also released shape files that they have created from the original binary formatted, and shapefiles can be read by almost anything.

There's a point-data file for cities (latitude/longitude/name), but be careful with things like this, as there is some deliberately false data (perhaps intended to identify the data set?) For example, the Bedford label in the UK has been moved to a nearby village. With the location of cities, it's probably useful to get another map of some sort, and mark by hand the important ones.

Regarding map projections Wolfram has a good descriptions, with enough mathematics to implement the projections fairly easily. Note that each map projection has a certain set of properties (correct angles, correct areas, correct distances, lat/long at right angles to each other, etc.) where each projection fulfills some of those properties. For a small area, it's possible to center the map projection on your country so that the errors are negligible, see also the Mercator debate about misrepresenting the areas of European countries in certain map-types.

Oh, see also this page on map projections. None of them seem particularly difficult to implement in programming -- it takes an hour or two at most to add new projections once you've got the functions in place for the first one

For automatically-placing symbols, try the following algorithm:

  • Go through your list of points
  • Check that a rectangle surrounding the proposed text doesn't intersect with the rectangles around any previously-created text
  • If the proposed location is clear, draw the text, and record the rectangle it's in

This seems to work fairly well, and if you can sort the list with important stuff first, gets even better. For example, capital cities are available in their own textfile, so they can be sent to the top of the list.

What has already been done?[edit]

  • There are a lot of ideas
  • There already is free geographical data to start with
  • mySociety has just quietly launched Placeopedia.com - an easy to use service that lets people connect Wikipedia articles to locations using Google maps, and then syndicates the data back out for use by Wikipedia or whoever else wants to make use of it.
  • There are several systems and algorithms for handling geographical data
  • We submitted a paper at the First European Idea Competition of the Satellite Navigation : GALILEO Masters 2004
  • wikimaps.org/net/com are already registered

What needs to be done?[edit]

  • Collecting, organizing and summarizing ideas. Talking and condensing the significant parts
  • Discussing priorities - what can be done, what must be done and what should be done
  • Getting in contact with data suppliers and other GIS projects
  • Just implementing it

Collection of ideas and projects[edit]

Toolforge tools[edit]

See also[edit]