2009-07-07 15 views
36

मुझे आश्चर्य है कि अगर कोई एपीआई है तो मैं ओएसएम डेटा से पूछ सकता हूं, उदाहरण के लिए; भूमि पर या समुद्र में (lon_1, lat_1) हैं? या एक द्वीप को एक अच्छी तरह से परिभाषित बहुभुज के रूप में प्राप्त करना संभव हो सकता है? मैंने अभी तक देखा है कि एकमात्र उपयोग ओएसएम डेटा (टाइल उत्पन्न करने) के लिए उपकरण रहा है।क्या openstreetmap के लिए कोई एपीआई है?

+0

यह मैपसेवर काफी दिलचस्प लगता है। धन्यवाद – vikingosegundo

+0

आपको अपना अपडेट एक उत्तर के रूप में जोड़ना चाहिए और इसे स्वीकार करना चाहिए। –

उत्तर

1

मुझे ओपनस्ट्रीटैप डेटा पढ़ने के लिए एक महान एपीआई मिली है; Mapscript। यह मैपसेवर के लिए एक इंटरफ़ेस है, जो * .map और * .shp फ़ाइलों को पढ़ने में सक्षम है।यह एक स्थानिक सूचकांक का उपयोग करने में सक्षम है और इसलिए संभावित रूप से बेहद तेज़ है। मैंने 40 मील में विश्व तटरेखा आकार फ़ाइल के यादृच्छिक बहुभुज लुकअप (जांच कर रहे हैं कि बहुभुज भूमि को छेड़छाड़ करता है)।

2

बेशक, जावास्क्रिप्ट एपीआई को openlayers कहा जाता है।

+1

मुझे ओपनलेयर के बारे में पता है, लेकिन क्या यह सिर्फ प्रस्तुत टाइल्स पर प्रदर्शित/ऑपरेटिंग के लिए नहीं है? –

25

हां, api और xapi (विस्तारित एपीआई) है।

मैंने अभी तक इनका उपयोग किया है।

लेकिन ओएसएम में cloudmade api भी है। मैंने अजगर एपीआई के साथ थोड़ा सा खेला।

मुझे यकीन नहीं है, अगर उनमें से कोई भी आपकी विशेष समस्या के साथ आपकी मदद कर सकता है, लेकिन आप अपने बिंदु के पास coastline खोज सकते हैं। यदि आपका बिंदु पॉलीगॉन tagged natural=coastline के भीतर है, तो आपके पास एक द्वीप (या महाद्वीप) है ...

+0

यह एक्सएमएल प्रारूप क्या प्रदान करता है और मैं इसे अपने आवेदन में रास्टर छवि में कैसे प्रस्तुत करूं? –

+3

xml से Iamge उत्पन्न करने के लिए आपको एक रेंडरर की आवश्यकता है। वहाँ कई हैं। यहां देखें http://wiki.openstreetmap.org/wiki/Renderers – vikingosegundo

+0

बड़े और/या जटिल प्रश्नों के लिए [ओवरपास एपीआई] (https://wiki.openstreetmap.org/wiki/Overpass_API) जाने का रास्ता है। – scai

9

आप क्लाउडमेड के जियोकोडिंग API का उपयोग करके डेटा डेटा में किसी द्वीप की खोज कर सकते हैं। एपीआई डिफ़ॉल्ट रूप से परिणाम की ज्यामिति वापस कर देगा, और यह मुझे लगता है कि आप क्या देख रहे हैं। ।

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

(और एक साफ थोड़ा हैक के रूप में, .js बदलते पूर्वावलोकन .html के लिए परिणाम

: उदाहरण के लिए, स्कॉटलैंड के तट पर एरन निम्नलिखित http अनुरोध करके पाया जा सकता एपीआई पर अधिक दस्तावेज़ और उदाहरण डेवलपर्स पर हैं .cloudmade.com/projects/show/geocoding-http-api यदि आप http api का उपयोग नहीं करना चाहते हैं, तो अमूर्त एपीआई कई भाषाओं में उपलब्ध हैं - रूबी, पायथन, perl और अन्य।

2

मैंने क्लाउडमेड ओएसएम निष्कर्षों का उपयोग किया है लेकिन इसमें कुछ समस्याएं थीं उन्हें। उदाहरण के लिए, नॉर्वे को बहुत कसकर फिसल गया था, जिससे पश्चिमी तट पर कुछ सड़कों गायब हो गईं।

अब मैं ओवरपास एपीआई पसंद करता हूं।

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> 

पर क्वेरी के रूप में कुछ इस तरह रखो क्षेत्र आप चाहते हैं, डिग्री में की सीमा, एन, तत्व की डब्ल्यू और ई गुण रखो, रों में।

1

MapQuest 'ओपन' वेब सेवा काफी unrestrictive शर्तें OpenStreetMap डेटा के आधार पर एपीआई का एक सेट है (यानी शर्तें OSM की है कि बारीकी से पालन करें):

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

7

कोई भी उल्लेख किया है लगता है यहाँ पत्रक एपीआई:
http://leafletjs.com/reference.html

+0

यह वास्तव में उत्तर देने वाले लेखक का जवाब नहीं दे रहा है। वह एक नक्शा प्रदर्शित न करने के लिए, दोस्तों से पूछताछ करने का एक तरीका चाहता है। पत्रिका "वेबसाइट के अनुकूल इंटरैक्टिव मानचित्रों के लिए एक ओपन-सोर्स जावास्क्रिप्ट लाइब्रेरी" है, जैसा कि उनकी वेबसाइट पर उद्धृत किया गया है। –

संबंधित मुद्दे