Daniel Mayer wrote:
Translating is one thing, literally tracing is very different. Tracing does not require any creativity at all. But as I said, the particulars in regard to GIS data have not been tested yet (AFAIK). The Court may find there is a compelling interest in giving that type of GIS data copyright protection. Thus we must play it safe and create our own whenever PD data is not available.
Well, I don't know much about GIS data, or mapping, and I'll prove that through my following proposal :-)
Looking at a map, I see three possible structures: * Points (coordinates and altitde), like in mountain tops, cities (their center, at least), etc. * Open polygons ("polyline", made from points as described above), like rivers * Closed polygons, for regions, states, counties, lakes, continents, etc.
A world map can be described by everything belonging to another object. "Lake Superior" would thus belong to the next larger units, namely Ontario, Minnesota, Wisconsin, and Michigan. Ontario belongs to Canada, whereas the others belong to the US. Both Canada and the US belong to the continent America, which belongs to the world.
The outer shape of, say, Wisconsin, can now be calculated by merging all objects that belong to Wisconsin. Likewise, the outer shape of the NATO can be calculated by merging all countries that belong to the NATO. Drawing a map of a region with given coordinates can thus easily exclude irrelevant parts by going down from world view; if Europe is not visible on the given part of the map, it can be excluded from drawing as a whole, speeding up map drawing. Likewise, one could just require to show a bunch of objects ("Lake Superior", "New York", "Ottawa"), and a rectangular view of the world map is selected that includes all these objects; that map section is then piped into the process above.
But how to create such a complex structure? After all, an object *might* consist of a bunch of multiple polygons (can't think of an example right now); it probably belongs to several objects; it might be of different "types" (for example, "Hamburg, Germany" is both a county and a city).
I believe the best way to do this is (surprise!) through a wiki. *But*, one that will, upon saving, analyze (parse) a page and put the contents into a separate database, which is then used to draw the maps and do other things (like click on a map, and it takes you to the object you clicked on, thus a reverse-lookup). This has the advantage to be open to practical structures. For example, it might be a good idea to list most of the cities on the same page as the county they're in, instead of creating thousands of one-line "darticles" (from "data-article"). Exceptions can, of course, be made, like "Kansas City", which belongs to both Kansas and Missouri. The database would remember where that data came from, so one can always find the source "darticle". [Note that this is a little different from the wikidata concept, as there is no from to enter your data, rather a markup which then gets parsed.]
As there are various types of data to enter, I propose a HTML/XML-like structure (which would make parsing a breeze once the XML-parser is up and running :-): <mapdata> <name>Lake Superior</name> <type magnitude=5>lake</type> <polygon>x,y,a;x,y,a;x,y,a;x,y,a;x,y,a</polygon> <belongsto>Ontario</belongsto> <belongsto>Minnesota</belongsto> <belongsto>Wisconsin</belongsto> <belongsto>Canada</belongsto> </mapdata> with x,y=coordinates, a=altitude, magnitude between 1-5, where 1 is smallest and 5 is largest object category of that type
This schema could also work for multiple languages: <name language="de">...</name> For keeping data consistent, I propose that we require one <name> without language attribute (or language="en"), which is both the English name and the identifier in the database. Alternate names could then be used in map drawing in different wikipedias.
For those of you concerned about Even More HTML, and that being to complicated for newbies: I strongly believe that anyone who can take down GPS coordinates or calculate them from a map, and go to wikipedia to enter them, should be able to make at least the basic entry in that manner when shown a good example first.
The final piece missing, the actual "drawing syntax" in the actual wikipedia article, is another thing entirely, and should be discussed separately IMHO. However, as the above schema uses labels for objects, it would easily be possible to implement something like "show the US and Canada; 300x300 pixel; outline the Greate Lakes in red, 3px pen; show the US in brown; show Canada in green; show all other countries in pink; show country borders; show rivers of magnitude 4 and 5; show mountains of magnitude 4 and 5".
But I'm sure the mapping pros would do something entirely different.
Magnus