Mittwoch, 22. Juli 2015

what3words addresses for OSM buildings

[This post has moved to:]

A while ago I experimented with assigning multilingual what3words addresses to OpenStreetMap buildings in Sierra Leone.
I basically downloaded the OSM data, derived the buildings and their centroids and published a map based on CartoDB. Upon a click the what3words-API was queried for the addresses in multiple languages.

 There are some obvious disadvantages to this approach.
  • it operates on a static database - hence updates in the OSM database are not taken into account.
  • it doesn't scale very well. According to taginfo there are currently > 157.000.000 buildings in the OSM database. 
  • A user would only want to query a few buildings of particular interest. 
So here is a new approach, which makes it possible to easily find what3words addresses for all OSM buildings: 

Just click on any building in the map and afterwards on the red dot, marking the center of the geometry. You can also search for a place/address of interest.

Ideas/things to improve:
  • advanced geocoding functionality 
  • what3words geocoding support
  • support for all what3words-languages
  • API-error handling & notifications 
  • fine-tune the overpass-API calls (feature types, bbox) 
  • improve design 
  •  ... 
I'd be happy to accept pull-request, go ahead and fork the project on github!
Also I'd love to hear feedback regarding the usefulness of this approach and/or real world applications using OSM data with what3words addresses.

Freitag, 22. Mai 2015

Text Mining the Geospatial World Forum Contributions

[This post has moved to:]

This year the INSPIRE conference is organized as a joint event with the Geospatial World Forum in Lisbon.

As last year I did some text mining on the conference abstracts to get a feeling on this years' hot topics and to help me identify sessions/presentations that are particularly interesting.

Here are the frequently used terms (> 65):

And this table shows how terms are correlated with the term "INSPIRE":
implement 0.59
theme 0.56
direct 0.55
concern 0.46
data 0.46
present 0.44
follow 0.43
example 0.42
main 0.42
concrete 0.41
least 0.41
native 0.41
quite 0.41
exchange 0.40
provide 0.40
report 0.40
conceptual 0.39
specify 0.39
transform 0.39
approach 0.38
framework 0.38
implies 0.38
carried 0.37
attribute 0.36
dataset 0.36
organic 0.36
practice 0.36
structure 0.36
assess 0.35
december 0.35
double 0.35
gml 0.35
later 0.35
light 0.35
mandate 0.35
non 0.35
nuts 0.35
occurred 0.35
reaction 0.35
theyre 0.35
unknown 0.35
users 0.35
weeks 0.35
feedback 0.34
ign 0.34
sheets 0.34
user 0.34
benefit 0.33
given 0.33
thematic 0.33
addition 0.32
advice 0.32
annex 0.32
annextopic 0.32
annum 0.32
ascribe 0.32
categories 0.32
cumulative 0.32
discover 0.32
ecflood 0.32
enable 0.32
frd 0.32
generic 0.32
hydrographic 0.32
incompatible 0.32
kingdom 0.32
littleno 0.32
materialise 0.32
merges 0.32
nonoperable 0.32
obvious 0.32
outweigh 0.32
pool 0.32
pragmatic 0.32
returns 0.32
schema 0.32
society 0.32
subjectspecific 0.32
tangible 0.32
thats 0.32
triennial 0.32
tune 0.32
unstructured 0.32
wfd 0.32
wfdflood 0.32
wfdfrd 0.32
yield 0.32
available 0.31
compliant 0.31
environment 0.31
exploit 0.31
include 0.31
service 0.31
accompanied 0.30
download 0.30
experience 0.30
final 0.30
inpsire 0.30
realise 0.30
wfs 0.30
aggregate 0.29
expected 0.29
feature 0.29
incremental 0.29
indirect 0.29
member 0.29
mif 0.29
might 0.29
network 0.29
optimum 0.29
overdetection 0.29
perhaps 0.29
persistent 0.29
railwayline 0.29
splits 0.29
transportnetwork 0.29
underdetection 0.29
view 0.29
work 0.29
aim 0.28
arise 0.28
concept 0.28
deal 0.28
document 0.28
file 0.28
net 0.28
possible 0.28
temporal 0.28
test 0.28
annual 0.27
consider 0.27
correspond 0.27
french 0.27
geometric 0.27
maintenance 0.27
principle 0.27
rule 0.27
year 0.27
according 0.26
around 0.26
best 0.26
centralised 0.26
conclude 0.26
disseminate 0.26
drains 0.26
european 0.26
forecast 0.26
geosmartcity 0.26
idena 0.26
impact 0.26
issue 0.26
nation 0.26
navarre 0.26
new 0.26
part 0.26
priori 0.26
propose 0.26
recommend 0.26
reinforce 0.26
reservoir 0.26
sewerage 0.26
singular 0.26
sitna 0.26
sparql 0.26
storm 0.26
surveillance 0.26
larger 0.25

Sonntag, 1. März 2015

Topographische Karten und das Urheberrecht

[This post has been moved to:]

Die Frage ob (analoge) topographische Karten dem “Leistungsschutz für Datenbanken” aus dem Urheberrecht unterliegen schwelt seit Jahren. Eine (freie) Nachnutzung der amtlichen Daten wäre dabei sowohl für die Wirtschaft als auch für Open Data Initiativen interessant. Diesbezüglich wird es nun zu einer höchstrichterlichen Klärung kommen, da der BGH diese Frage derzeit behandelt und den EuGH um richtlinienkonforme Auslegung gebeten hat.

Fraglich ist in diesem Zusammenhang nicht die Kartendarstellung an sich (also z.B. der Nachdruck des Kartenwerkes), dieser kann - je nach Schöpfungstiefe - nach § 2 (1) UrhG urheberrechtlichen Schutz genießen, sondern um die Nachnutzung der Informationen, die einer Karte entnommen werden. Im Kern geht es bei den Auseinandersetzungen um die Frage, ob analoge topographische Karten Datenbanken nach §87a (1) UrhG darstellen. Dieser setzt Art. 1 (2) der Richtlinie 96/9/EG über den rechtlichen Schutz von Datenbanken in nationales Recht um. Er lautet:
(1) Datenbank im Sinne dieses Gesetzes ist eine Sammlung von Werken, Daten oder anderen unabhängigen Elementen, die systematisch oder methodisch angeordnet und einzeln mit Hilfe elektronischer Mittel oder auf andere Weise zugänglich sind und deren Beschaffung, Überprüfung oder Darstellung eine nach Art oder Umfang wesentliche Investition erfordert [...].
Topographische Karten werden aus Digitalen Landschaftsmodellen (DLM) abgeleitet. Dass die Prozesse zur Datenerfassung und Pflege der DLM-Datenbanken erhebliche Investitionen erfordern ist wohl unstrittig. Deutlich kontroverser wird über die anderen Kriterien diskutiert: Sind topographische Karten Sammlungen von unabhängigen Elementen? Sind die einzelnen Elemente zugänglich? Das OLG München führt in einem Berufungsverfahren zur Frage der systematischen Anordnung und Zugänglichkeit folgendes aus:
In den TK's des Klägers sind die Elemente insofern systematisch angeordnet, als sich die Darstellung der dreidimensionalen Erdoberfläche auf der Karte am sog. deutschen geografischen Einheitsnetz orientiert. [...] Über die Koordinaten des Gitternetzes lässt sich daher für jeden Punkt des Ausschnitts der Erdoberfläche, der auf der Karte dargestellt ist, eine Einzelinformation über diesen Punkt der Erdoberfläche entnehmen. Der Punkt ist auf der Karte in bestimmter Weise dargestellt und über die Kartenlegende kann dann der Kartennutzer ablesen, dass sich an diesem Punkt der Erdoberfläche etwa eine Straße, ein Gewässer oder eine Bebauung befindet. Über die Koordinaten der Karte ist somit ein systematischer Zugriff auf eine in der Karte enthaltene Einzelinformation über einen bestimmten Punkt der Erdoberfläche gegeben. [...]
Und ergänzt im Hinblick auf die Sammlung unabhängiger Elemente:
Bei dieser Einzelinformation handelt es sich aber nicht um ein "unabhängiges Element" [...] Eine Sammlung "unabhängiger Elemente" liegt nur dann vor, wenn sie sich voneinander trennen lassen, ohne dass der Wert ihres informativen, literarischen, künstlerischen, musikalischen oder sonstigen Inhalts dadurch beeinträchtigt wird [...]. Die in einer analogen topografischen Karte zu einem bestimmten Koordinatenpunkt gegebene Information ist aber für sich genommen kaum werthaltig. Die Information, dass sich an einem bestimmten Koordinatenpunkt und somit an einem bestimmten Punkt der Erdoberfläche z. B. eine Straße befindet, ist, isoliert betrachtet, wenig aufschlussreich. Um die punktuelle Information effektiv verwerten zu können, braucht der Kartennutzer weitere Informationen, insbesondere über den Straßenverlauf, damit er weiß, wo die Straße hinführt. [...] Der Wert der in einer Karte zu einem bestimmten Punkt enthaltenen Information wird somit durch eine isolierte, von weiteren Angaben in der Karte getrennte Betrachtung erheblich beeinträchtigt.
Folglich kommt das OLG München zu dem Schluss:
Bei einer analogen topografischen Karte handelt es sich nicht um eine Datenbank im Sinne von § 87a Abs. 1 Satz 1 UrhG.
Im Revisionsverfahren stellt der BHG hierzu fest, dass "nicht abschließend geklärt [...] ist [...], welche Anforderungen an die Unabhängigkeit der Elemente nach Art. 1 Abs. 2 der Richtlinie 96/9/EG zu stellen sind." Dies ist umstritten: "Teilweise wird das Vorliegen unabhängiger Elemente abgelehnt [...], da bei einer Landkarte die zusammengefügten Informationen [...] ineinander verschmolzen und hierdurch aufeinander bezogen seien. Dadurch erhalte die Landkarte ihren eigentlichen Informationswert, der weit über den Wert der punktuellen Information hinausgehe. [...] Dagegen wird von anderen angenommen, dass bereits die Information, was sich an einer bestimmten Geokoordinate befinde, ausreichend sei, um ihre Unabhängigkeit anzunehmen."

Es kommt also letztlich darauf an, nach welchen Maßstäben der Wert der Geoinformationen in einer topographischen Karte bemessen wird. Besitzt schon eine Einzelinformation aus einer Karte, für sich genommen, einen hinreichenden Wert? Entsteht der inhaltliche Wert erst durch die Sammlung und Aufbereitung der Information? Der BHG kommt hier zu der Erkenntnis:
Eine topographische Landkarte zeichnet sich dadurch aus, dass sie in generalisierender und symbolisierender Weise topographische Informationen in leicht wahrnehmbarer Form darstellt und auf diese Weise nicht nur die räumliche Belegenheit dieser Informationen für sich genommen, sondern in ihrem räumlichen Kontext zu anderen dargestellten Informationen sichtbar macht. Durch diese Art der Darstellung hat der Nutzer die Möglichkeit, sich räumlich in Bezug auf seinen Standort und ein mögliches Ziel zu orientieren und eine Veränderung seines Standortes zu planen und durchzuführen. Zwar ist es auch möglich, einer Landkarte bestimmte Einzelinformationen wie zum Beispiel alle in dem betreffenden Gebiet liegenden Kirchen oder Orte und damit Elemente mit einem selbständigen Informationswert zu entnehmen. Dazu ist es jedoch erforderlich, die Landkarte vollständig nach den entsprechenden Symbolen abzusuchen. Dies entspricht im Normalfall nicht der zweckentsprechenden Nutzung einer Landkarte als eines spezifisch auf die generalisierende und leicht lesbare Abbildung topographischer Informationen in ihrem räumlichen Kontext zueinander zugeschnittenen Mediums.
Der EuGH muss nun klären, ob
bei der Frage, ob eine Sammlung von unabhängigen Elementen im Sinne von Art. 1 Abs. 2 der Richtlinie 96/9/EG vorliegt, weil sich die Elemente voneinander trennen lassen, ohne dass der Wert ihres informativen Inhalts dadurch beeinträchtigt wird, jeder denkbare Informationswert oder nur derjenige Wert maßgebend, welcher unter Zugrundelegung der Zweckbestimmung der jeweiligen Sammlung und der Berücksichtigung des sich daraus ergebenden typischen Nutzerverhaltens zu bestimmen ist?
Was aber wäre die Folge, wenn EuGH/BGH zu dem Ergebnis kämen, dass die topographischen Karten nicht dem Urheberrecht unterliegen? Wären dann fortan alle topographischen Karten “Open Data”? So einfach ist es wohl nicht. Wie P. Lutz (2014) ausführt, unterliegen (ggf.) die topographischen Karten nicht dem Urheberrecht, wohl aber die zugrundeliegende DLM-Datenbank. Demnach ist "der Datenbankhersteller nicht nur gegen die unmittelbare Entnahme geschützt, sondern auch gegen die Übernahme der Daten aus Drittquellen, die selbst keinem Datenbankschutz unterliegen müssen, wenn nach Art und Umfang ein wesentlicher Teil der Datenbank, also der Investition, betroffen ist [...]. Die Wesentlichkeit der Übernahmen beurteilt sich sowohl nach der Qualität („Art“) als auch nach der Quantität („Umfang“)". Er kommt zu dem Schluss, "dass die vollständige oder fast vollständige Übernahme von Daten zu mehreren Objektkategorien aus einer topografischen Karte gleichzeitig eine Verletzung der zu Grunde liegenden DLM- Datenbank" darstellt. Wird allerdings "die topografische Karte nur zu einzelnen Begebenheiten, z.B. zur Aktualisierung, befragt, so stellt das keine Entnahme eines wesentlichen Teils der DLM-Datenbank dar" (vgl. S. 224 f.).
Das hieße wohl, dass grundsätzlich Einzelangaben aus topographischen Karten z.B. für die Fortführung der OSM-Datenbank verwendet werden könnten. Lutz schränkt weiter ein: "Eine Verletzung des Datenbankherstellerrechts kann aber dann ausgeschlossen sein, wenn die Darstellung in der topografischen Landkarte selbst das Ergebnis einer Generalisierung, Verallgemeinerung oder Verdrängung ist. In diesem Fall kann nämlich die analoge Darstellung in der Karte vom Datenbestand abweichen. Aber nur dann, wenn eine deutliche Abweichung vom Datenbestand vorläge, wäre das Schutzinteresse des Datenbankherstellers nicht betroffen" (vgl. S. 225).

Nun kommt es bei der Ableitung von topographischen Karten aus dem DLM zwangsläufig und immer zu Generalisierungen. Der Grad der Generalisierung ist auch abhängig vom Maßstab. Sollte die rechtliche Klärung ergeben, dass topographische Karten nicht unter das UrhG fallen und sollte sich die Meinung durchsetzen, dass zumindest kleinmaßstäbige Kartendarstellungen “erhebliche” Abweichungen zum ursprünglichen Datenbestand aufweisen, würden diese wohl gar nicht unter den Urheberschutz fallen. Nur: Um die Interpretation der erheblichen Abweichung wird dann sicherlich die nächsten Jahre vor den Gerichten gestritten. Rechtssicherheit ist also nicht in Sicht.

Wie einfach es doch wäre, wären alle Datenbanken, auch die der Länder qua Gesetz Open Data...

Dienstag, 16. Dezember 2014

Assigning what3words addresses to OSM buildings

[This post has been moved to:]

What3Words offers multilingual and memorizable addresses for 3x3 meter grid cells on the entire globe (more on this in an earlier post). So with w3w it becomes possible to assign addresses e.g. to buildings even in countries without functioning traditional addressing schemes.

As a demo I assigned addresses to buildings in Sierra Leone, as available in the  OpenStreetMap database (open in new window):

For this example I downloaded the OSM data from Geofabrik, loaded the buildings (> 420.000) into a postgreSQL database and derived the centroid for each polygon. The centroids' lat/lon coordinates are used to query the what3words API in order to receive the w3w in different languages.
(Alternatively of course it would be possible to receive the center points of the buildings on the fly e.g. from the overpass API).


Sonntag, 2. November 2014

What3Words geocoder for geopy

[This post has been moved to:]

What3Words is an innovative, plain simple and multilingual addressing scheme:
"w3w is a giant grid of the world made up of 57 trillion squares of 3 metres x 3 metres. Each square has been given a 3 word address comprised of 3 words from the dictionary. An example of a w3w address is"
(source: What3Words) 

I recently added a What3Words geocoder to the geopy package. 
So now its possible to geocode and reverse geocode What3Words from python, as shown in this example:

Languages currently supported by the service are: DE, EN, ES, FR, PT, RU, SV, TR.

[Edit: 2014-12-10]
My pull request has been accepted and the what3words geocoder became part of geopy 1.5.0!  

Montag, 22. September 2014

Geocoding with python and OSM

[This post has been moved to:]

Geocoding is the process of relating implicit location information (such as an address or a the name of a river) to explicit location information in form of geographic coordinates.

Several companies, e.g. Google and Nokia/HERE offer commercial geocoding services/APIs. Nominatim is a tool to search OSM data by name and address and to generate synthetic addresses of OSM points and hence a geocoder operating on the OSM database.
While many geocoders offer easy to use APIs that can be directly utilized from a web browser, they unfold their full potential when called from e.g. a script enabling batch geocoding for many place names at once.
geopy is a geocoding toolbox for Python, offering access to numerous geocoding services.

Here is an example of geocoding with Nominatim:

which returns several dicts like:

{u'display_name': u'Elbe, Landkreis Wittenberg, Sachsen-Anhalt, Deutschland, European Union', u'importance': 0.72552692721096, u'place_id': u'9208507982', u'lon': u'12.5663365', u'lat': u'51.867922', u'osm_type': u'relation', u'licence': u'Data \xa9 OpenStreetMap contributors, ODbL 1.0.', u'osm_id': u'123822', u'boundingbox': [u'50.0168724060059', u'54.0075302124023', u'8.22170829772949', u'15.9315462112427'], u'type': u'river', u'class': u'waterway'}  

Among other details these contain lat/lon coordinates and the boudning box of the feature. But wouldn't it be nice if the result would contain the full geometry as well? Well, while this is supported by the Nominatim API it was not - until recently - by the geopy toolbox. I added support for exactly that, so now:

leads to:

MULTILINESTRING((15.53613 50.7756972,15.5364593 50.7755378,15.5367906 50.7754773,15.5372784 50.7754914,15.5378943 50.7752649,15.5382691 50.7752837,15.5384418 50.7752514,15.5388037 [...]))
LINESTRING(7.0094126 51.1325696,7.0093372 51.1324799,7.009245 51.1323739,7.0091836 51.1322698,7.0090853 51.1321503,7.0090361 51.1320982,7.0089716 51.1319945 7.0085078 51.1314622 [...])

so the full geometries are returned.

EDIT (2014-09-23):
(Note: Currently this is implemented in my github-fork, it should appear in the official repo eventually. A pull request is pending.)
The pull request has been accepted and so the functionality is now available in the official repo (release 1.3.0).

EDIT (2014-10-18):
Please make sure to respect Nominatim's usage policy!