वेब मानचित्र बनाने के लिए एक अच्छा जावास्क्रिप्ट वेब एपीआई (अधिमानतः खुला) क्या है जिसे बहुत कम / रखरखाव की आवश्यकता होती है?


11

मैंने हाल ही में स्वेच्छा से एक स्थानीय गैर-लाभकारी के लिए एक वेब मानचित्र बनाने के लिए कहा है। नक्शा बहुत बुनियादी होगा। इसे लेन काउंटी, ओरेगन को कई जिलों में विभाजित करने की आवश्यकता है, प्रत्येक जिले के लिए "केंद्रीय कार्यालय" स्थान। मैं गर्मियों में अपने खाली समय में इसका निर्माण करने की योजना बना रहा हूं, और मैं चाहता हूं कि भविष्य के रखरखाव के लिए किसी भी तरह के जोखिम की आवश्यकता वाले बहुत कम जोखिम के साथ उन्हें सौंपने में सक्षम हो।

मैंने आर्कजीस सर्वर के साथ आर्कजीस जावास्क्रिप्ट एपीआई का उपयोग करके कई वेब मानचित्र बनाए हैं, लेकिन मैं एक अलग एपीआई सीखने की योजना बना रहा हूं क्योंकि इस संगठन के पास कोई ईएसआरआई सॉफ्टवेयर (या उस मामले के लिए कोई जीआईएस) नहीं है। मैं OpenLayers / OpenGeo पर विचार कर रहा हूं। एक बात का ध्यान रखें कि इस संगठन के पास इस मानचित्र की परतों को होस्ट करने के लिए कोई सर्वर सेट नहीं है / होगा, इसलिए मुझे यकीन नहीं है कि मैं डेटा को कैसे स्टोर और एक्सेस करूंगा। JSON शायद?

मैं वर्तमान में अधिकांश गैर-आर्कजीएस समाधानों से अपरिचित हूं, इसलिए किसी भी सलाह की सराहना की जाएगी।

जवाबों:


4

आप इस OpenLayers उदाहरण की तरह जावास्क्रिप्ट में अपनी सुविधाओं को हार्ड-कोड कर सकते हैं: http://openlayers.org/dev/examples/vector-features.html । आगे डेटा स्टोरेज के बारे में परेशान होने की जरूरत नहीं है। बेशक यह केवल एक विकल्प है यदि आपके पास प्रदर्शित करने के लिए कुछ सुविधाएँ हैं। लेकिन यह एक "एक-फाइल" समाधान है जिसे किसी भी भविष्य के अनुचर को पता लगाने में सक्षम होना चाहिए।

यदि आप अपने बहुभुज को आकार देने के लिए निर्यात कर सकते हैं, तो QGIS "नोड्स को निकालने" में मदद कर सकता है, जिसका उपयोग आप इस तरह से OpenLayers में Polygons बनाने के लिए कर सकते हैं:

// create a polygon feature from a linear ring of points
var pointList = [new OpenLayers.Geometry.Point(x1,y1),new OpenLayers.Geometry.Point(x2,y2),<<<more points>>>];
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
var polygonFeature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([linearRing]));

यदि आप उन बहुभुजों को Google मानचित्र या उससे ऊपर के शीर्ष पर रखना चाहते हैं, तो हो सकता है कि आप बहुभुज को पहले वेब मर्केटर प्रोजेक्शन को फिर से प्रस्तुत करना चाहें।


धन्यवाद! ऐसा लगता है कि यह वही हो सकता है जो मुझे चाहिए, जब तक कि मेरे पास बहुत सारी सुविधाएँ नहीं हैं। मैं इसे आज़माऊँगा। मुझे केवल यह पता लगाने की आवश्यकता है कि अपने वर्तमान जिला बहुभुज सुविधा वर्ग को इन हार्ड-कोडित मूल्यों में कैसे निर्यात किया जाए।
टान्नर

1
@ टर्नर: आप जेजसन में कनवर्ट करने के लिए GDAL / OGR का उपयोग कर सकते हैं। कम से कम, उन्हें क्लाउडमैड, गूगल मैप्स, याहू दें! OpenLayers में मैप्स या बिंग मैप्स बेस लेयर। मुझे ध्वनि से नफरत है जैसे मैं व्यावसायिक पेशकशों को आगे बढ़ा रहा हूं, लेकिन ऐसा लगता है कि आप ओपन टेक के लिए ओपन टेक का उपयोग कर रहे हैं। ऑर्ग को एक सभ्य दिखने वाला नक्शा दें।
शॉन

@ बैनर: आपके जिला डेटा में कौन से प्रारूप हैं?
UnderDark

आर्कगिस बहुभुज सुविधा वर्ग।
टान्नर

@ सीन: सलाह के लिए धन्यवाद। मैं GDAL / OGR की जाँच करूँगा। जैसा कि यह एक स्वयंसेवक परियोजना है, यह (उम्मीद है) एक बार का सौदा है। मैं इसके लिए वापस नहीं आना चाहता। मुख्य चिंता एक सरल वेब मानचित्र बनाना है जो उनकी वेबसाइट पर होस्ट किया जा सकता है जिसे किसी भी सर्वर सॉफ़्टवेयर (जैसे मैपसर्वर) की आवश्यकता नहीं होगी और कम से कम जल्द ही किसी भी समय टूटने की संभावना है। यदि कोई वाणिज्यिक आधार परत / एपीआई इसे प्रदान कर सकता है, तो मैं इस पर विचार करूंगा। बहुत कम से कम मैं एक वाणिज्यिक आधार परत का उपयोग करने की संभावना है।
टेनर

10

ओपन सोर्स मैपिंग समाधान के लिए, आप निम्नलिखित पर विचार कर सकते हैं:

  1. मैपिंग सर्वर प्लेटफॉर्म - जियोसर्वर जावा आधारित और खुला स्रोत। कई उत्पादन वातावरण में अच्छी तरह से काम करता है: जाँच करें: http://geoserver.org/display/GEOS/ आपका स्वागत है उपयोगकर्ता मैनुअल: http://docs.geoserver.org/stable/en/user/

    अन्य विकल्प MapServer होगा: http://mapserver.org/

    तुलना की जाँच करें: http://www.slideshare.net/novum.limitis/mapserver-vs-geoserver

  2. क्लाइंट साइड - वेब पेज स्क्रिप्टिंग। बहुत सारे उदाहरणों को शुरू करने के लिए ओपनर सबसे बेहतर हैं और साथ ही साथ इसे लागू करना भी आसान है। जाँच करें: http://openlayers.org/ उदाहरण: http://openlayers.org/dev/examples/

  3. स्थानिक डेटा: आप Google / Yahoo / Bing मानचित्र के साथ उनके नियमों और शर्तों और लाइसेंस के आधार पर जा सकते हैं। या OpenStreet Maps जो आप GeoServer में प्रकाशित कर सकते हैं और इसका उपयोग कर सकते हैं। OpenStreet Map: http://www.openstreetmap.org/ OpenStreet Map size फाइलें डाउनलोड की जा सकती हैं: http://wiki.openstreetmap.org/wiki/Shapefiles

यदि आप Google / Yahoo / Bing मानचित्रों का उपयोग करने जा रहे हैं, तो आप इसका उपयोग करने के लिए उनके API या OpenLayers के साथ जा सकते हैं और GeoServer और Spatial Data की आवश्यकता नहीं है। भले ही अच्छा वेब मैप एपीआई के लिए पूछा गया हो, मैपिंग प्लेटफॉर्म और स्पेसियल डेटा रेफरेंस इसके अलावा पूरी तरह से ओपन सोर्स मैपिंग प्लेटफॉर्म के बारे में सोचने के लिए दिया गया है।


Kinda मैंने क्या कहा, लेकिन बेहतर रखा!
MerseyViking

3

मैं अपने UG शोध प्रबंध के भाग के रूप में OpenLayers का उपयोग करता हूं, और मैं इसमें गलती नहीं कर सकता। खैर मैं कर सकता हूं, और मैं देर रात तक उठा रहा था कि वह इसे व्यवहार करने की कोशिश कर रहा था, लेकिन उस समय मेरी ओर से ज्यादातर अज्ञानता थी जब एक मोबाइल-फ्रेंडली साइट डालने की कोशिश की गई थी, जबकि ओएल प्रति एसई।

WMS का उपयोग करके किसी अन्य सर्वर से आने वाली परतों को जोड़ना आसान है; मेरे पास MapServer चल रहा है जो WMS टाइलों को खोदता है, और OL से मैं सिर्फ उपयोग करता हूं:

var layer = new OpenLayers.Layer.WMS(
    "Resistivity",
    "http://mywebsite.com/maps?map=amap.map",
    {'layers': 'resistivity', 'format':'image/png', 'transparent':'true'},
    {singleTile: true}
);

map.addLayer(layer);

वास्तव में, यह डब्ल्यूएफएस और यहां तक ​​कि डब्ल्यूएफएस-टी सर्वरों के साथ सामना कर सकता है, और ओएसएम, Google, या बिंग मैप और फोटो परतों के साथ, आप एक छोटे से पैरों के निशान के साथ एक अच्छा दिखने वाला वेब मैपिंग ऐप रख सकते हैं।


3

उपयोग OpenLayers और हाँ अगर आप अपने मानचित्र परतों की मेजबानी के लिए GeoServer स्थापित नहीं कर सकता आप में डेटा स्टोर कर सकते हैं GeoJSON या स्थानीय एम एल यदि आप चाहें तो फ़ाइलें।


2

लाभ संगठनों के लिए नहीं कई बढ़िया विकल्प हैं। गैर-लाभ संगठनों के लिए बिंग और Google मानचित्र दोनों का उपयोग किया जा सकता है।

एक अच्छा सारांश यहाँ है: Google मैप्स - http://www.georelated.com/2012/02/cloud-web-map-api-services-reviewed.html बिंग मैप्स - http://www.georelated.com/2012 /02/cloud-web-map-api-services-reviewed_19.html


2

पार्टी के लिए सुपर देर से, लेकिन मुझे लगा कि मैं एक और विकल्प जोड़ूंगा जो आजकल समझ में आएगा।

यदि आप एक सर्वर की मेजबानी नहीं करना चाहते हैं, लेकिन आप अभी भी स्टाइल और बहुत तेज टाइल कैशिंग से लाभ चाहते हैं, तो Google फ्यूजन टेबल्स और ओपनर क्यों नहीं ? से एलन ग्लेन के ब्लॉग

var proj_4326 = new OpenLayers.Projection('EPSG:4326');
var proj_900913 = new OpenLayers.Projection('EPSG:900913');
map = new OpenLayers.Map({
   div: "map",
   projection: proj_900913,
   'displayProjection': proj_4326,
   allOverlays: true
});

var osm = new OpenLayers.Layer.OSM();

var fusionLayer = new OpenLayers.Layer.OSM("Fusion Table       
Map","http://mt0.googleapis.com/mapslt?hl=en- 
US&lyrs=ft:113681&x=${x}&y=${y}&z=${z}&w=256&h=256&source=maps_api");
map.addLayers([osm,fusionLayer]);

var long=12;
var lat=56.5;

var lonlat = new OpenLayers.LonLat(long,lat).transform(map.displayProjection,
map.projection);

map.setCenter(lonlat, 6);

संलयन तालिकाओं को लोड करने के लिए आप गदल का उपयोग कर सकते हैं । इस तरह, आप ग्राहक पक्ष पर जियोजोन जियोमेट्रीज़ को पार्स करने की कीमत का भुगतान नहीं करते हैं। यह लागत तुच्छ (कम मात्रा में सुविधाओं के लिए) से लेकर महत्वपूर्ण (बड़ी मात्रा में सुविधाओं के लिए) तक हो सकती है। यह आपके जियोमेट्रिक्स को भी अधिक बनाएगा


1

@ सीन के उत्तर की तर्ज पर, यहां एक प्रश्न है जिसे मैंने पिछले अक्टूबर में हल किया था। मैं भी कुछ ऐसा चाहता था, जिसे पारित किया जा सके। जहां तक ​​आपकी जिले की सीमाओं को प्रदर्शित करने की बात है, क्या फ्यूजन टेबल्स ऐसा कर सकती हैं?


1

CloudMade , Google मैप्स , याहू! मैप्स या बिंग मैप्स । आखिरकार, कोई व्यक्ति उनकी वेबसाइट के साथ उनकी मदद करने के लिए आएगा और उसके पास OpenLayers या GeoJSON के बारे में कोई सुराग नहीं होगा। एक प्रसिद्ध वाणिज्यिक पेशकश का उपयोग करने के लिए यह अधिक भविष्य के प्रमाण होगा। उनके लिए किसी ऐसे व्यक्ति को ढूंढना आसान होगा जो जानता है कि Google मैप्स का क्या करना है और इसका एक परिचित इंटरफ़ेस होगा। और, यह अभी भी सार्वजनिक सामना करने वाली साइटों के लिए मुफ़्त है।

सुनिश्चित करें कि आप उन्हें अपनी स्वयं की एपीआई कुंजी प्राप्त करें।


3
इस प्रश्न को "ओपन-सोर्स" टैग किया गया है, न कि डाउन-वोटिंग क्योंकि आपको व्यावसायिक संस्करण का सुझाव देने का पूरा अधिकार है। बस कह रहे हैं, गूगल मैप्स के साथ आपको अपने कोड को अपग्रेड करने के 3 साल बाद अपग्रेड करने की आवश्यकता होगी, ताकि आप एक ही एपीपी को गूगल मैप्स एप के हर नए वर्जन के लिए बार-बार डेवलप कर सकें। एक बार जब आप ओपनर के साथ विकसित हो जाते हैं तो आप लाइब्रेरी को तब तक के लिए होस्ट कर सकते हैं जब तक आप चाहें। आपको किसी ऐसे स्विच के बारे में चिंता करने की ज़रूरत नहीं है जो आपकी सेवा को बंद कर देगा।
कैप्टनड्रैगन

1
मेरे पास ओपन-सोर्स के खिलाफ कुछ भी नहीं है। काफी विपरीत। मैंने उदारतापूर्वक 'खुले' की व्याख्या की है (और मैं प्रतिबंधों के रूप में टैग नहीं लेता हूं)। समस्या के लिए वह जिस डोमेन को संबोधित कर रहा है, हालांकि, OpenLayers, MapServer, GeoServer, OpenStreetMap, आदि के लिए सुझाव गैर-लाभकारी कर्मचारियों के 99.9% की तुलना में तकनीकी रूप से अधिक जटिल हैं जो अपने दम पर संभाल सकते हैं। यदि वह ओआरजी की मदद करना चाहता है, तो उसे उन्हें कुछ देना चाहिए जिसे वे ठीक कर सकते हैं या आसानी से किसी को ढूंढने के लिए पा सकते हैं। उनके कौशल-सेट में Google मानचित्र वाले लोगों की संख्या काफी अधिक है और उन्हें किसी भी ऑर्गन सर्वर की आवश्यकता नहीं होगी।
शॉन

1
हाँ, मुझे इस बात का कोई अंदाज़ा नहीं है कि लोग उन उत्तरों को वोट क्यों दे रहे हैं जो जियोसर्वर और मैपस्वर को सुझाव दे रहे हैं जब पूछने वाला विशेष रूप से कहता है कि वह किसी भी मानचित्र सेवाओं की मेजबानी नहीं कर सकता है। : पी
कैप्ट्रैडगन

@capdragon: यह स्पष्ट रूप से जवाब में भी कहा गया है कि GeoServer / MapServer और स्थानिक डेटा वैकल्पिक हैं। उनके बिना Openlayers के साथ आगे जा सकते हैं .. उपयोगकर्ता को उन्हें जागरूक करने के जवाब में अतिरिक्त relvant जानकारी देने के लिए कोई नुकसान नहीं ...
सेंथिल

@ सेंथिल: इसे फिर से पढ़ें, और मैं बोली: "इस संगठन के पास इस नक्शे की परतों को होस्ट करने के लिए सर्वर सेट नहीं है"। वैकल्पिक प्रश्न में एक शब्द भी नहीं है।
CaptDragon

1

यह शायद कार्टोबडी की जाँच के लायक है:

http://cartodb.com/

यह चालाक है, मुफ्त वेब मैपिंग सेवा है जो आपको भौगोलिक डेटा को आसानी से लोड करने और संपादित करने की अनुमति देती है। मुझे यकीन नहीं है कि उनके पास एक नक्शा 'निजी' बनाने का विकल्प है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.