Giter Site home page Giter Site logo

kvbradaddress's Introduction

KVB Rad Addresses

Ziel dieses Projektes ist mit Hilfe eines Geocoders für jede abgespeicherte Position eines Rades eine Adresse vorzuhalten und ggf. bei mehrfacher Adresse diese zu zählen.

Entwicklungsstand

Befindet sich in der Entwicklung und nicht einsetzbar.

Endpoints

/kvbradaddress/service/put

Dieser Service fragt neu hinzugekommene Geo-Punkte ab und ermittelt die dazu gehörenden Adressen. Die Ergebnisse werden dann in die Datenbank geschrieben.

/kvbradaddress/service/<lat>/<lng>

Dieser Service liefert zu den angegebenen Koordinaten die hinterlegte Adresse zurück. Ist keine Adresse hinterlegt, werden nur die x/y-Koordinaten zurückgeliefert.

GeoCoding

Zur Ermittlung der Adresse wird der Geocoding Dienst Nominatim verwendet. Hierfür kann die offizielle Nominatim-Instanz des OSM-Projektes verwendet werden oder ein selbst aufgesetzter Dienst. Bei Abfragen in großem Umfang sollte eine eigene Instanz vewendet werden; vgl. Usage Policy.

Selbst aufgesetzter Nominatim nach

http://eigenerserver/nominatim/reverse?format=json&lat=50.94022903&lon=6.975675467

http://nominatim.openstreetmap.org/reverse?format=json&lat=50.94022903&lon=6.975675467

Die Rückgabe wird in ein Java-Objekt deserialisiert (vgl. denkmalgeocoding).

Datenbank

Datentabelle

CREATE TABLE address (
    osm_id         bigint,
	housenumber    varchar(30),
	road           varchar(256),
	neighbourhood  varchar(256),
	suburb         varchar(256),
	cityDistrict   varchar(256),
	city           varchar(256),
	county         varchar(256),
	stateDistrict  varchar(256),
	state          varchar(256),
	postcode       varchar(20),
	country        varchar(256),
	countrycode    varchar(2),
	modtime        timestamp DEFAULT current_timestamp
);
SELECT AddGeometryColumn ('public','address','geom',4326,'POINT',2);

Ergebnistabelle

Steuerungstabelle

CREATE TABLE kvbradaddress (
    numberofinsert      integer,
    modtime      timestamp DEFAULT current_timestamp
);

License

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

kvbradaddress's People

Watchers

James Cloos avatar Wolfram Eberius avatar

kvbradaddress's Issues

Funktion zum Löschen alter Informationen

Es soll eine Funktion implementiert werden, die alte Daten aus dem System entfernt. Diese Funktion soll über einen REST-Endpunkt aufgerufen werden können. Daten, die gelöscht werden sollen, werden anhand der Spalte modtime identifiziert. Das Datum bis zu dem die Daten gelöscht werden können, wird in Tagen in der Konfiguration eingestellt.

Verknüpfungstabelle für Adressen und Bikes einrichten

Bisher wird zum Zeitpunkt des Speicherns eines Fahrrad-Standpunktes, die Adresse dieses Punktes abgespeichert. Ein Verschneiden über die Spalte geom benötigt ohne Index viel Zeit. Daher soll eine Verknupfungstabelle angelegt werden, die eine Adresse einem Fahrrad zuordnet. Damit läßt sich auch ohne Verschneidung und Index schnell auf die relevante Information zugreifen. Als Schlüssel soll die Fahrradnummer verwendet werden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.