Boundaries Map 4.1

 

Die Boundaries Map bietet eine komfortable Übersicht über die in OSM erfassten Administrativen Grenzen, verbunden mit umfangreichen Download-Möglichkeiten.

  • Überblick über die Baumstruktur der Administrativen Grenzen eines Landes zwecks Qualitätskontrolle
  • Export von Grenzen in verschiedenen Export-Formaten

Url: https://osm.wno-edv-service.de/boundaries

Die neueste Version ist die 4.1 vom Oktober 2016. Alle Änderungen/Erweiterungen zur 4.0 sind hier im Text rot gekennzeichnet.

Überblick:

bm 41

Die Boundary Maps gliedert sich in 5 Bereiche, die folgende Aufgaben haben:

  • Kopfleiste
    Hier werden die Version der Software und der Timestamp der aktuellen Daten angezeigt. Weiterhin das Suchfeld, einen Button für den Sidebar (rechter Rand) und der OAUTH-Button.
  • Fußleiste
    Hier befinden sich die Options-Felder für Export-Format, Buffer, Union, das Export-Layout, die Export Areas, der API-Switch und der Export-Button.
  • Linke Seite
    Auf der linken Seite wird der Verschachtelungsbaum (Tree) der Grenzen angezeigt.
  • Rechte Seite
    Der rechte Rand (Sidebar) kann bei Bedarf ausgeklappt werden. Dort befinden sich - knappe - Infos, ein Link zu einer TODO-Liste, zwei Spenden-Button und das Impressum.
  • Zentrum
    Klar, hier erscheint die Karte. Oben rechts (+) lässt sich die Hintergrundkarte auswählen; ich halte die Schwarz/Weiss-Darstellung für sinnvoll. Neu: Ein Donate-Button für Spenden per PayPal.

Verwendung:

Die  Boundaries Map wurde als QS-Werkzeug entwickelt um die Verschachtelung der Grenzen eines Gebietes einfach und übersichtlich darzustellen. Dazu werden die gewünschten  Grenzen durch Anklicken im linken Baum ausgewählt und auf der Karte angezeigt. So lassen sich relativ einfach Unstimmigkeiten oder Lücken erkennen.

bm overview1

Hier ist Hamburg leider noch nicht ganz korrekt. Der Stadteil Hamburg-Mitte war nicht sauber erfasst. Ist natürlich erledigt.

Context Menü:

bm contect menu

Im Context Menu (Cursor auf gewünschten Namen platzieren, dann rechte Maustaste) lassen sich bestimmte Aktionen auslösen:

  • Select children (S):
    Es werden alle Grenzen der nächsten Ebene ausgewählt.
  • Deselect children (D):
    Es werden alle Grenzen der nächsten Ebene "abgewählt".
  • Deselect all children (A):
    Es werden alle Unterebenen "abgewählt".
  • Select next admin level (N):
    Es werden alle Grenzen mit dem nächsthöheren admin_level ausgewählt. Dies ist manchmal sinnvoll, wenn sich auf einer Ebene mehrere admin_level befinden, was leider immer mal vorkommt.
  • Export full subtree (json & shp only) (X):
    Diese Funktion soll derzeit einen einfachen - und meinen Server schonenden - Export eines ganzen Landes oder eines Landesteiles ermöglichen. Hier wird (noch) der Export direkt angeworfen.
  • Edit (JOSM & Merkaartor only) (E):
    Es wird der Remote-Edit dieser beiden Editoren verwendet. Die Relation der Grenze erscheint dann im Editor.

Suchen:

Im Suchfeld kann nach Grenzen gesucht werden. Klein- und Großschreibung ist normalerweise nicht relevant. Das Prozentzeichen "%" dient als Wildcard. Dieses ist bei PostgreSQL Standard.

Es kann auch nach Relationen und nach Ländern gesucht werden. Für Relationen bitte die OSM-ID numerisch eingeben, für Länder den groß geschriebenen dreistelligen ISO-3 Code. (Z.B. DEU für Deutschland oder ALB für Albanien).

Achtung: Eine Suche mit einem Search-Pattern, das mit "%" anfängt, ist im Vergleich zu den anderen Suchen am langsamsten, da der Suchindex nicht verwendet werden kann.

Nach der Suche werden die ersten 20 Treffer angezeigt. Es fehlt aber noch eine Lösung für den Fall, dass das Ergebnis darin nicht angezeigt wird, da es nicht in den ersten 20 Treffern enthalten ist. Hier muss man die Suche zur Zeit halt genauer machen.

bm contect menu

Im Suchfeld kann auch direkt die OSM-ID einer Relation eingegeben werden. Eine Suche mit Wildcard erscheint mir hier nicht sinnvoll. Oder? Schau'n 'mer mal.

bm contect menu

Export:

Die für den Export wichtigen Parameter werden in der Fußzeile eingestellt.

bm footer menu

Da die Export-Funktion mit der Version 4.1 der Boundaries Map total überarbeitet wurde, möchte ich mich hier kurz fassen.

  • Das gewünsche Export-Format auswählen.
    • shp - Shape File Format
    • json - GeoJSON-Format
    • svg - SVG Grafik
    • poly - OSM Polygon File
    • bpoly - OSM Polygon File mit einem erweiteren Rand (Buffer). Dies ist manchmal günstig beim Clippen.
  • Falls bpoly ausgewählt wurde, kann man hier die Größe des Buffers in Kilometern eingeben.
  • Ist Union aktiviert, werden alle Grenzen zusammengelegt und eine einziges Polygon mit dem Umfang (PostGIS: St_Union()) aller Grenzen generiert.
  • Das gewünschte Export-Layout passend zur geplanten Weiterverarbeitung auswählen.
    • single - alle Polygone in einem einzigen Block.
    • split - jedes Polygon ein separates Datenfile.
    • levels - alle Polygone einer Admin-Ebene werden in einem Datenfile zusammengefasst.
  • Die gewünsche Export-Area auswählen.
    • water - Es werden die Grenzen incl. der ozeanischen Flächen (i.d.R. die 12-Meilen Zone) exportiert.
    • land - Es wird an den Küstenlinien und an den grösseren Seen geclippt.
  • Die API-Funktion aktivieren/deaktivieren.
    • aus: Der Export wird wie vorher durchgeführt.
    • an: Es erscheint ein Popup, der die Befehlszeile anzeigt, die für die Benutzung des API notwendig sind.

Sonstiges:

Es ist eine Authentifizierung per OAuth notwendig. Hintergrund ist die Tatsache, dass viele  externe "Kunden" die Boundaries Map nicht für die QA nutzen - dafür wurde sie anfangs eigentlich entwickelt - sondern als Quelle von Grenzen zum Herunterladen. Leider auch durch Auswählen von gleichzeitig hunderten von Grenzen, was meinen Server permanent zum Absturz brachte. Erst der Zwang zur Authorisierung hat da eine gewisse Ruhe reingebracht, da ich jetzt weiss, wer da sowas macht und diesen dann direkt per OSM-Mail ansprechen kann kann. Z.B. indem ich auf "Export Full Subtree" oder das API hinweise.

Aus ähnlichen Gründen ist eine Begrenzung der maximal aktivierten Grenzen aktiv. Der Maximalwert steht derzeit bei 50.

Achtung: Wenn man die "Landgrenzen" verwendet, wird man einen erheblichen Performanceverlust in Kauf nehmen müssen. Die Landgrenzen sind wesentlich komplexer als die maritimen Grenzen, da die zerklüftete Küstenline mit enthalten ist.

API:

Ab hier beschreibe ich das neue API. Auf Kennzeichnung in Rot verzichte ich, da das ganze Kapitel neu ist.

Das API ist letztendlich ein erweiterter URL, der auf Kommandoebene mit einem Programm der Wahl (ich empfehle curl) verwendet wird.

Dadurch soll der Export von Grenzen von dem Boundaries Map-GUI entkoppelt werden. Das GUI hat erhebliche Schwächen, die gerade beim Afrufen größerer Exporte viele Probleme machen. Das hat mitunter sogar zu Serverabstürzen geführt. Zudem ist das "Zusammenklicken" von dutzenden Grenzen für einen Export wirklich mühsam.

  • selected

    Hier wird der Nummer der Relation angegeben, mit der der Export beginnen soll.

  • to_AL [default: to_AL=4]

    Hier wird das Adminlevel angegeben, bis zu dem exportiert werden soll.

  • from_AL [default: from_AL=2]

    Hier wird das Adminlevel angegeben, ab dem exportiert werden soll.

  • union [default: union=false]

    • true - Es werden alle Grenzen zusammengelegt und eine einziges Polygon mit dem Umfang (PostGIS: ST_Union()) aller Grenzen generiert.
    • false - Die Grenzen werden nicht zusammengelegt.

  • exportAreas [default: exportAreas=water]

    • water - Es werden die Grenzen incl. der ozeanischen Flächen (i.d.R. die 12-Meilen Zone) exportiert.
    • land - Es wird an den Küstenlinien und an den grösseren Seen geclippt.

  • exportLayout [default: exportLayout=levels]

    • single - alle Polygone in einem einzigen Block.
    • split - jedes Polygon ein separates Datenfile.
    • levels - alle Polygone einer Admin-Ebene werden in einem Datenfile zusammengefasst.

  • exportFormat [default: exportFormat=shp]

    • shp - Shape File Format
    • json - GeoJSON-Format
    • svg - SVG Grafik

  • apiKey

    Das ist ein benutzerspezifischer String im Format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

  • apiVersion [default: api=1.0]

    Definiert die zu benutzenden Version des API. Derzeit ist das die Version 1.0

  • URL

    Das API wird mit folgendem URL aufgerufen: https://osm.wno-edv-service.de/boundaries/exportBoundaries gefolgt von einigen Parametern.

  • Beispiele:

    • Export aller administrativen Grenzen von Deutschland bis admin_level=8 (Langversion)

      curl -f -o germany.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0
      &apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&exportFormat=shp&exportLayout=levels
      &exportAreas=land&from_al=2&to_al=8&union=false&selected=51477'

      Bemerkungen:

      • es wird wie empfohlen curl verwendet, da curl im Gegensatz zu wget ein einigermaßen vernünftiges Fehlerhandling hat. Dies wird mit der Curl-Option "-f" aktiviert.

      • Der URL beginnt mit https; http ist nicht aktiviert.

      • Eine Verwendung des URL im URL-Feld eines Browsers ist nicht vorgesehen - das funzt nicht!

      • Weiterhin ist zu beachten, dass der URL immer in ' eingefasst werden muß, da ansonsten der Kommandozeilenprozessor des jeweiligen Betriebssystemes damit Probleme bekommt. Linux klappt mit ', wie das in Windows genau aussieht, muss ich noch testen.

      • Zudem sind hier im Beispiel alle Optionen des API verwendet, auch wenn manche davon durchaus fehlen dürfen.
      • Man erfährt seinen API-Key, indem man 1x in dem GUI einen Export anstösst und dabei die API-Option aktiviert hat. Dafür muss man natürlich authentifiziert sein. Dann gibt das GUI alle Daten in einem Popup aus:

        api popup blurred

















    • Export aller administrativen Grenzen von Deutschland bis admin_level=8. (Kurzversion)

      curl -f -o germany.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&selected=51477'
    • Export der Staaten (AL=4) der USA

      curl -f -o usa_states.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&from_AL=4&to_AL=4&exportFormat=json&exportLayout=split&exportAreas=land&selected=148838'

      Hierbei wird pro Staat ein eigenes (exportLayout=split) JSON-File (exportFormat=json) angelegt. Dabei werden die Küstenlinen verwendet. (exportAreas=land)

    • SVG aller Länder der Welt (nur AL2!)

      curl -f -o world.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&exportLayout=svg&exportLayout=single&selected=0'

      Hierbei wird eine einzige (exportLayout=single) SVG-Grafik (exportFormat=svg) erzeugt, die alle Ländergrenzen der Erde enthält. (selected=0)

      Weitere Adminlevel sind hier nicht vorgesehen, da das den Server zu stark beanspruchen würde.

  • Folgendermaßen sieht die Ausgabe und die weitere Verarbeitung unter Linux aus:

    #curl -f -o germany.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&selected=51477'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  114M  100  114M    0     0   590k      0  0:03:18  0:03:18 --:--:-- 3951k
    #ls
    germany.zip GER.zip get.sh World_AL2.GeoJson World_AL4.GeoJson
    #unzip germany.zip
    Archive: germany.zip
    (C) OpenStreetMap contributors
    inflating: Germany_AL2.dbf 
    inflating: Germany_AL2.prj 
    inflating: Germany_AL2.shp 
    inflating: Germany_AL2.shx 
    inflating: Germany_AL4.dbf 
    inflating: Germany_AL4.prj 
    inflating: Germany_AL4.shp 
    inflating: Germany_AL4.shx 
    inflating: Germany_AL5.dbf 
    inflating: Germany_AL5.prj 
    inflating: Germany_AL5.shp 
    inflating: Germany_AL5.shx 
    inflating: Germany_AL6.dbf 
    inflating: Germany_AL6.prj 
    inflating: Germany_AL6.shp 
    inflating: Germany_AL6.shx 
    inflating: Germany_AL7.dbf 
    inflating: Germany_AL7.prj 
    inflating: Germany_AL7.shp 
    inflating: Germany_AL7.shx 
    inflating: Germany_AL8.dbf 
    inflating: Germany_AL8.prj 
    inflating: Germany_AL8.shp 
    inflating: Germany_AL8.shx
    

    Die Zeit für das Erzeugen eines neuen Exportes kann durchaus mehrere Minuten betragen. Maximal aber 10 Minuten, da der Jos danach automatisch abgebrochen wird. Sollte das öfters vorkommen, bitte bei mir melden,

    Das Resultat ist ein ZIP-File mit allen administrativen Grenzen von Deutschland, jeweils ein Adminlevel als separates Shape.

  • Interner Cache und dessen Auswirkungen:

    Alle Exporte und Grafiken eines Auswertungszeitraumes werden in einem Servercache zwischengespeichert. D.h. sie werden auf dem Server abgespeichert und in bestimmten Fällen direkt aus dem Cache beantwortet. Das bedeutet erheblich schnellere Antworten auf öfters vorkommende Abfragen. Da können aus Minuten Sekunden werden :).

    Alle Abfragen mit den absolut gleichen Parametern (exportFormat, exportLayout, exportArea, from_AL, to_AL und seleced) werden aus dem Cache beantwortet, wenn das Ergebnis dort bereits enthalten ist.

    Der Cache wird mit jeder nächtlichen Auswertung der Rohdaten zurückgesetzt. Dies erfolgt in der Regel mitten in der Nacht, manchmal aber auch ein wenig später, je nachdem wie lange die Auswertung der Rohdaten brauchte.

    Ich kann die "beliebtesten" Exporte abfragen und werde diese dann früh morgens automatisch anstossen, damit der sonst leere Cache bereits etwas gefüllt ist.

  • Finanzierung des Servers:

    Der Server wird von mir privat @home betrieben und verursacht als solches nicht unerhebliche Strom- und Kommunikationskosten. Zudem beabsichtige ich eine Ablösung des aktuellen Servers durch eine bessere, schnellere Maschine, da dessen Leistung fast nicht mehr ausreicht. Derzeit ist das ein 8-Core Rechner mit AMD-CPU, 24Gb Memory und 6 Tb Disk - dazu 760 GB SSD.

    Mir schwebt die Anschaffung eines "echten" Servers mit 2x12-Core AMD-CPU, 64 Gb Mem, 8 Tb Disk und ca 2.5 Tb SSD vor, wobei der Memory und die Disks vom alten Server übernommen werden. Das Ganze wird etwa 2400 € kosten.

    Aus diesem Grunde möchte ich hier an den Spenden-Button oben rechts auf der Webseite erinnern. Gerade von den Firmen, die nicht unerhebliche Kosten durch meine Dienstleistung sparen konnten, hätte ich bisher ein wenig mehr an Unterstützung erwartet.

    Konkret: da kam in den letzten 4 Monaten NIX, aber auch garnix :( Aus deren Zusagen "natürlich spenden wir was" ist nie was geworden.

    Ich möchte es nicht soweit kommen lassen müssen, dass Downloads von kommerziellen Anwendern kostenpflichtig werden - zumindest solange, bis der neue Server finanziert ist. Oder gar den Dienst völlig einzustellen.

    In einigen Tagen werde ich dich per Popup informieren, wenn du einer der Top User sein solltest. Dies wird bei den 50 der aktuell ca 4000 Anwender geschehen (1,25% !), da diese 50% des gesammten Datenvolumens erzeugt haben. Durch eine faire Spende kann dieses "Nörgeln" abgestellt werden.

Irrläufer

Hier kommt bald was hin.

Boundaries Map 4.1 - English version

The Boundaries Map provides a comfortable overview of the administrative boundaries in the OSM dataset. It also provides download capabilities for boundaries.

  • Overview of the administrative boundary tree for quality control purposes
  • Export of boundaries in various formats
 
The newest version is 4.1, from October 2016. Features that are new in 4.1 (compared to 4.0) are marked in red.

Overview:

bm overview1

 
There are 5 sections, with the following functionality:
  • Header
    Version of the application, timestamp of the data used, search bar, sidebar (on the right) and OAuth functionality.
  • Footer
    Options for export-format, buffer, union, export layout, export areas, API switch and the export button.
  • Left panel
    The treeview of the hierarchy of the administrative boundaries
  • Right panel
    The right sidebar can be toggled. It contains some short information, a link to a TODO page (in german), two donation buttons and the imprint.
  • Center
    The map :-). You can switch the basemap with the "+" in the top right corner; black/white looks best. Also a PayPal donation and flattr button - keeping the server running 24/7/365 consumes quite some energy. Please consider a donation/flattr.

Usage:

The boundaries map was built as a tool for quality control to visualize the nesting of administrative boundaries. The boundaries to display are selected on the left side. This way you can spot inconsistencies quite easy.
  

bm overview1
Here Hamburg
was not yet entirely accurate. The district Hamburg-Mitte was not mapped correctly. Of course, it's corrected now.

Context menu:

bm contect menu

In Context menu (place cursor on the desired name, then right-click) you can trigger certain actions:
  • Select children (S):

    Selects all borders the next level.

  • Deselect children (D):

    Deselects all borders the next level.

  • Deselect all children (A):

    Deselects all children of all sublevels.

  • Select next admin level (N):

    Selects all children of the next deeper admin level. This is sometimes useful if there are on one level different admin levels which unfortunately happens from time to time.

  • Export full subtree (json & shp only) (X):

    This function is currently a simple export of an entire country or a part of the country - in a server-friendly way.  Here the export is still started directly without further options.

  • Edit (JOSM & Merkaartor only) (E):

    It is using the remote edit functionality of these two editors. The relation of the border appears in the editor.

Searching:

In the search field borders can be searched for. Small and large letters are not relevant. The percent sign "%" is used as a wildcard. This is standard with PostgreSQL.

You can search borders by relation and by country too. For relations enter the OSM ID numerically, for countries three digit ISO-code in upper case. (For example, DEU for Germany or ALB for Albania)>

Note: A search using a search pattern that starts with "%", is compared to the other search slowest since the search index can not be used.

The first 20 hits are displayed. However, there is pending a solution to the case that the result does not appear in it, because it is not in the first 20 hits. Here you have to make the search for time stop detail.
 

bm contect menu

In the search field you can enter an OSM ID of the Border directly. A search with wildcard seems not useful here. Or? We will see.

bm contect menu

Export:

The important export parameters are configured in the footer.

bm footer menu

Since the export function with version 4.1 of the Boundaries Map was totally redesigned, I want to be brief here.

  • Select the desired export format.
    • shp - shapefile format
    • json - GeoJSON format
    • svg - SVG graphics
    • poly - OSM Polygon File
    • bpoly - OSM polygon file with an enlarged margin (buffer). This is sometimes advantageous during clipping.
      If bpoly is selected, the size of the buffer can be entered in kilometres.
    • Is Union activated, all borders will be merged to a single polygon with the perimeter (PostGIS: ST_Union ()) of all borders.

  • Select the desired export layout to match the planned processing.
    • single - all polygons in a single block
    • split - each polygon a separate data file
    • levels - all polygons of one admin level summarized in one data file

  • Select the desired export area.
    • water - The borders including oceanic areas (the 12-mile zone iir.) will be exported.
    • land - The borders will be clipped to the coastlines and the larger lakes.
  • Activation or deactivation of the API functionality.
    • off: Export will be done as before.
    • on: A popup will display the command-line, which is necessary to do the export without using the GUI.

Miscellaneous:

Currently authentication via OAuth is mandatory. This is due to the fact that many external "customers" don't use Boundaries Map for QA - this is what it was intended for - but as a source for downloading boundaries. Unfortunately they also download hundreds of boundaries simultaneously, which kept crashing my server. The mandatory authentication relaxed the situation a bit, as I now can see who is the culprit and can contact them directly via OSM mail, e.g. making them aware of the "Export full tree" feature or the new API functionality.

For similar reasons, I limited the number of simultaneously selectable boundaries. The current limit is 50, but this needs further fine tuning.

If you use clipped land boundaries, you will experience a considerably lower performance. These are much more complex than the sea boundaries, as they include the ragged coastline.

API:

Starting here i'll describe the new API. Because the whole chapter is new, red markings are not used.

The API is ultimately an extended URL which is used together with a command-line program of choice (I recommend curl).

The goal it to separate the export of borders from Boundaries Map GUI. The GUI has significant weaknesses that result in many problems when invoking larger exports. This has sometimes even led to server crashes. In addition, the manual selection by dozens of borders is really tiresome.

  • selected
    Specify the starting relation

  • to_AL [default: to_AL=4]
    Specify the highest admin level to be exported.

  • from_AL [default: from_AL=2]
    Specify the highest admin level to be exported.

  • union [default: union=false]

    • true -The exported polygon will be created using the union (PostGIS ST_Union()) of all boundaries. The result will be one polygon describing the outline of all selected boundaries.
    • false - The boundaries will not be combined.
  • exportAreas [default: exportAreas=water]

    • water - The borders including the maritime water areas will be exported.
    • land - The borders will be clipped using the coastline.
  • exportLayout [default: exportLayout=levels]

    • single - export all borders in one single block.
    • split - each border goes to one separated data file.
    • levels - all borders within one admin level will go to one seperate data file.
  • exportFormat [default: exportFormat=shp]

    • shp - Shapefile format
    • json - GeoJSON-format
    • svg - SVG grafic
  • apiKey
    That is an user specifiy key using this format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • apiVersion [default: api=1.0]
    Specifies which api version to use. Just now this is version 1.0.
  • URL
    The API will be called using https://osm.wno-edv-service.de/boundaries/exportBoundaries followed by some parameters.

Examples:

  • The following image shows the output and further processing under Linux:

    #curl -f -o germany.zip --url 'https://osm.wno-edv-service.de/boundaries/exportBoundaries?apiversion=1.0&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&selected=51477'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  114M  100  114M    0     0   590k      0  0:03:18  0:03:18 --:--:-- 3951k
    #ls
    germany.zip GER.zip get.sh World_AL2.GeoJson World_AL4.GeoJson
    #unzip germany.zip
    Archive: germany.zip
    (C) OpenStreetMap contributors
    inflating: Germany_AL2.dbf 
    inflating: Germany_AL2.prj 
    inflating: Germany_AL2.shp 
    inflating: Germany_AL2.shx 
    inflating: Germany_AL4.dbf 
    inflating: Germany_AL4.prj 
    inflating: Germany_AL4.shp 
    inflating: Germany_AL4.shx 
    inflating: Germany_AL5.dbf 
    inflating: Germany_AL5.prj 
    inflating: Germany_AL5.shp 
    inflating: Germany_AL5.shx 
    inflating: Germany_AL6.dbf 
    inflating: Germany_AL6.prj 
    inflating: Germany_AL6.shp 
    inflating: Germany_AL6.shx 
    inflating: Germany_AL7.dbf 
    inflating: Germany_AL7.prj 
    inflating: Germany_AL7.shp 
    inflating: Germany_AL7.shx 
    inflating: Germany_AL8.dbf 
    inflating: Germany_AL8.prj 
    inflating: Germany_AL8.shp 
    inflating: Germany_AL8.shx
    
    The time needed for the creation of a new export can reach several minutes up to a maximum of 10 minutes. After 10 minutes the job is aborted. If there are frequent abortions, please notifiy me.
     
    The result is a ZIP file with all administrative boundaries of Germany, one separate shape per admin level.
  • Internal cache and impacts:
     
    All exports and graphics generated between update cycles are temporarily stored in a server cache. That means the results are stored on the server and answered in some cases directly from the cache. This results to significantly faster answers for frequently occurring queries. This may be seconds instead of minutes :).
     
    All subsequent queries with absolutely the same parameters (exportFormat, exportLayout, exportAreas, from_AL, to_AL and selected) are answered from the cache.
     
    Cache is reset each nightby the analysis of the raw data. This usually takes place in the middle of the night, but sometimes a little bit later, depending on how long the evaluation of the raw data runs.

    I will query for the most "popular" exports and will create new ones in the early morning, so that the otherwise empty cache is already filled with something.

  • Finances:
        
    The server is operated privately @home by me and as such caused considerable power and communication costs. In addition, I would like a replacement of the current server through a better, faster machine, because it's performance is almost no longer sufficient. Currently, this is an 8-core computer with AMD CPU, 24GB memory, 6 TB HDD and about 760 GB SSD.
     
    I have in mind to buy a "real" server with 2x12-core AMD CPU, 64 GB Mem, 8 TB HDD and about 2.5 TB SSD. The memory and the discs of the old server will be transferred to the new server. The whole upgrade will cost about 2400 €.
     
    For this reason, I would like to remind you about the donate button top right of the website here. I would have expected more support from the companies which save money by using my service.
     
    Specifically: nothing was donated in the last 4 months - NOTHING, not even a cent :( From their commitments "of course we'll donate something" nothing materialized.
     
    I do not want to have to go as far as charging for downloads of commercial users or even completely discontinue the service - at least until the new server is financed. Or even completely discontinue the service.

    Starting in some days i'll inform you via popup, if you are one of the top users. This will happen with the top 50 of currently 4000 users (1.25% !), which exported nearly 50% of all data. Making a fair donation will stop this "nagging" if you specify you osm id during transaction.
  •  

     

    Internationale Administrative Grenzen

    Hier sind einige Karten, Tools und Statistiken zu finden.

    Siehe links im Menu Boundaries Map, Missing Boundaries und Country Stats.