2009-07-07 13 views
36

Ich frage mich, ob es eine API gibt, die ich OSM-Daten zum Beispiel abfragen könnte; Sind (lon_1, lat_1) an Land oder auf See? Oder könnte es möglich sein, eine Insel als wohldefiniertes Polygon zu erhalten? Die einzige Verwendung, die ich bisher gesehen habe, waren nur Tools zum Rendern von OSM-Daten (Erzeugen von Kacheln).Gibt es eine API für openstreetmap?

+0

Dieser MapServer scheint sehr interessant zu sein. Danke – vikingosegundo

+0

Sie sollten Ihr Update als Antwort hinzufügen und akzeptieren. –

Antwort

1

Ich habe eine große API zum Lesen von OpenStreetmap Daten gefunden; Mapscript. Dies ist eine Schnittstelle zu MapServer, die * .map- und * .shp-Dateien lesen kann.Es ist in der Lage, einen räumlichen Index zu verwenden und ist daher möglicherweise extrem schnell. Ich habe zufällige Polygon-Lookups (Überprüfung, ob ein Polygon Land schneidet) der Welt Küstenlinie Form-Datei in 40 ms getan.

2

Natürlich wird die JavaScript-API openlayers genannt.

+1

Ich kenne Openlayer, aber ist das nicht nur für das Darstellen/Arbeiten auf gerenderten Kacheln? –

25

Ja, es gibt eine api und xapi (erweiterte API).

Ich habe diese noch nicht verwendet.

Aber es gibt auch die cloudmade api zu OSM. Ich habe ein bisschen mit der Python api gespielt.

Ich bin mir nicht sicher, ob einige von ihnen mit Ihrem speziellen Problem helfen könnten, aber Sie könnten nach einem coastline in der Nähe zu Ihrem Punkt suchen. Wenn sich Ihr Punkt innerhalb des Polygons tagged natural=coastline befindet, haben Sie eine Insel (oder einen Kontinent) ...

+0

Was ist das XML-Format, das es liefert und wie würde ich es in meiner Anwendung in ein Rasterbild umwandeln? –

+3

um eine Grafik aus dem XML zu generieren, benötigen Sie einen Renderer. da ein paar. siehe hier http://wiki.openstreetmap.org/wiki/Renderers – vikingosegundo

+0

Für große und/oder komplexe Abfragen [Overpass API] (https://wiki.openstreetmap.org/wiki/Overpass_API) ist der Weg zu gehen. – scai

9

Sie können die Geocoding-API von CloudMade verwenden, um nach einer Insel in den OpenStreetMap-Daten zu suchen. Die API wird standardmäßig die Geometrie des Ergebnisses zurückgeben, und dies klingt für mich, wonach Sie suchen. Zum Beispiel kann Arran vor der Küste von Schottland durch die folgende http-Anforderung zu finden:.

http://geocoding.cloudmade.com/BC9A493B41014CAABB98F0471D759707/geocoding/find/Arran,UK.js?results=1

(und als netten kleinen Hack, die Js wechselnde Vorschauen das Ergebnis .html

Weitere Dokumente und Beispiele zur API finden Sie unter developers.cloudmade.com/projects/show/geocoding-http-api Wenn Sie die http-API nicht verwenden möchten, sind Abstraktions-APIs in mehreren Sprachen verfügbar - ruby, python, Perl und andere

2

Ich habe CloudMade OSM Extrakte verwendet, hatte aber einige Probleme mit Sie. Zum Beispiel wurde Norwegen zu fest abgeschnitten, was dazu führte, dass einige Straßen an der Westküste verschwanden.

Ich bevorzuge jetzt die Überführung API.

so etwas wie diese in die Abfragemaske stellte http://www.overpass-api.de/query_form.html

<osm-script timeout="10000" element-limit="1073741824"> 
    <union into="_"> 
    <bbox-query into="_" s="52.3170669250001" n="52.4027433480001" w="4.80527567900009" e="4.97793537400008"/> 
    <recurse from="_" into="_" type="up"/> 
    <recurse from="_" into="_" type="down"/> 
    </union> 
    <print from="_" limit="" mode="meta" order="id"/> 
</osm-script> 

Setzen Sie die Grenzen des Bereichs, den Sie mögen, in Grad, in dem s, n, w und e Attribute des Elements.

1

MapQuest hat eine Reihe von ‚Open‘ Web-Service-APIs auf Basis von OpenStreetMap-Daten mit ziemlich unrestrictive Bedingungen (dh die Bedingungen, die in engen Zusammenhang mit der OSM folgen):

http://developer.mapquest.com/web/products/open

7

Niemand erwähnt zu haben scheint hier die Prospekt API:
http://leafletjs.com/reference.html

+0

Dies beantwortet nicht wirklich, was der Autor gefragt hat. Er möchte OpenStreetMap abfragen, keine Karte anzeigen. Leaflet ist "eine Open-Source-JavaScript-Bibliothek für mobile-freundliche interaktive Karten", wie auf ihrer Website zitiert. –

Verwandte Themen