บริการแผนที่ฟรีสำหรับเว็บแอปพลิเคชันส่วนตัว


12

พื้นหลัง

กำลังมองหาเพื่อแสดงแผนที่ (สำหรับใช้ภายในเท่านั้น) บนเว็บเพจ แอปพลิเคชันจะต้องสามารถเพิ่มเลเยอร์ที่กำหนดเอง (โดยไม่ส่งข้อมูลไปยังโฮสต์บริการแผนที่):

  • เขตเทศบาล (กำหนดโดย shapefiles)
  • โซนที่กำหนดเอง (กำหนดโดยรูปหลายเหลี่ยมอาจเป็นในแง่ของเขตเทศบาล)
  • ตำแหน่งไซต์ (กำหนดโดยละติจูด / ลองจิจูด)
  • ข้อมูลเมืองเพิ่มเติม (กำหนดโดยไฟล์รูปร่าง)

เนื่องจากเป็นกิจการเอกชนจึงกำจัดบริการแผนที่จำนวนมากรวมถึง: Google Maps, Bing, Yahoo! แผนที่ MapQuest และบริการชำระเงินตามการใช้งานอื่น ๆ

อัปเดต # 1

บางทีMapQuestเป็นไปได้

อัปเดต # 2

ข้อกำหนดที่ฉันลืมพูดถึง:

  1. มีข้อมูลเพิ่มเติม (เมือง, เมือง, หมู่บ้าน) ไม่ได้เป็นส่วนหนึ่งของ OpenStreetMap ต้องรวมเมืองเหล่านี้โดยไม่ต้องให้ข้อมูลกับผู้ให้บริการแผนที่
  2. มีเลเยอร์ต่างๆ (เช่นตำแหน่งพนักงาน) ที่จะต้องแสดงโดยไม่ต้องแจ้งผู้ให้บริการแผนที่ว่าจะหาข้อมูลได้จากที่ใด (เช่นข้อมูลจะอยู่ด้านหลังไฟร์วอลล์)

การพัฒนาในปัจจุบัน

ปัจจุบันฉันไม่สามารถหาเซิร์ฟเวอร์ที่ตรงกับความต้องการของฉันดังนั้นฉันได้ปฏิบัติตามคำแนะนำในเว็บไซต์ต่าง ๆ เพื่อติดตั้งเว็บเซิร์ฟเวอร์ Mapnik:

ณ จุดนี้ฉันมีข้อมูลหลายส่วน:

  • ข้อมูลเมืองและเทศบาล (ไฟล์รูปร่างโหลดลงใน PostGIS)
  • ข้อมูล Natural Earth (ไฟล์รูปร่าง; ไม่โหลด)
  • สไตล์ชีตของ Mapnik (ไฟล์ต่าง ๆ ; ไม่โหลด)

GeoServer

ฉันลองติดตั้ง GeoServer (ก่อน Mapnik) แต่พบว่าเอกสารขาดเครื่องมือการดูแลระบบบนเว็บยุ่งยากในการกำหนดค่าและการตอบสนองบนเครื่อง 2 GHz ช้าลงอย่างเจ็บปวด (10 วินาทีเพื่อทำให้กระเบื้องที่มี เลเยอร์เดียว: ถนน) และสุนทรียศาสตร์เริ่มต้น (ฉันรู้ว่าฉันสามารถใช้สไตล์ชีทเพื่อทำให้งานนำเสนอมีชีวิตชีวา แต่นั่นหมายถึงต้องค้นหา [หรือสร้าง !] ไฟล์ที่เหมาะสมติดตั้งทดสอบและทดสอบอื่น ๆ )

ความต้องการ

ข้อกำหนดทางเทคนิครวมถึง:

  • เมือง, ถนน, แหล่งน้ำ (ทะเลสาบ, แม่น้ำ, มหาสมุทร)
  • ขอบเขตทางการเมือง (จังหวัดประเทศ)
  • คุณภาพสูง (คล้ายกับ Google แผนที่, MapQuest, และอื่น ๆ )
  • เวลาใช้งานสูง
  • การฉายภาพ 900913 (คล้ายกับ Google Maps)
  • ไทล์ตอบสนอง (ต่ำกว่า 0.1 วินาทีต่อไทล์)
  • ครอบคลุมข้อมูลถนนที่ดีเยี่ยมสำหรับแคนาดา
  • มีประโยชน์สำหรับแผนที่แบบลื่น (เข้ากันได้กับ OpenLayers)
  • 10,000 ไทล์ร้องขอต่อวัน
  • ฟรีสำหรับการใช้งานเชิงพาณิชย์ (หรือส่วนตัว) หรือน้อยกว่า $ 2,000 ต่อปี?

ตัวอย่างที่ดี

นี่คือตัวอย่างที่ยอดเยี่ยม (OpenLayers) ของสิ่งที่ฉันต้องการบรรลุ:

ตัวอย่างที่ไม่ดี

ตัวอย่างของสิ่งที่ฉันไม่ต้องการที่จะบรรลุ:

ตัวอย่างของข้อมูลที่ไม่สมบูรณ์:

ลิ้งค์ที่มีความเกี่ยวข้อง

คำถาม

เซิร์ฟเวอร์ WMS, WMTS หรือ WFS ใดที่มีฟังก์ชันการทำงานที่จำเป็น

คำตอบ:


11

ฉันไม่แน่ใจว่าทำไมคุณไม่รวมบริการต่างๆเช่น Google Maps โดยเฉพาะอย่างยิ่งเนื่องจากปริมาณการใช้งานที่คุณคาดไว้นั้นไม่สูงมาก (Google เริ่มเรียกเก็บเงินหลังจาก 25,000 มุมมองแผนที่ (มุมมองแผนที่ของคุณจะต่ำกว่า 10,000): https://developers.google com / maps / faq # usage_pricing ) สิ่งที่คุณต้องการโดยทั่วไปคือสองสิ่ง:

  1. มีคนให้แผนที่ Web slippy แก่คุณ นี่อาจเป็น Google Maps, Bing, MapQuest, Cloudmade เป็นต้นหรือคุณสามารถรันเซิร์ฟเวอร์ไทล์ของคุณเองและใช้ข้อมูล OpenStreetMap
  2. การแสดงผลข้อมูลเวกเตอร์ของคุณเองที่ฝั่งไคลเอ็นต์ (ใช้ javascript) ที่ด้านบนของแผนที่เว็บ มีหลายโอเพ่นซอร์สไลบรารีที่สามารถทำได้ (OpenLayers, Leaflet, Polymaps ... )

พอยน์เตอร์บางตัวเพื่อตรวจสอบเพิ่มเติม:


8
ข้อกำหนดในการให้บริการของ Google Maps ห้ามมิให้แสดงแผนที่บนเซิร์ฟเวอร์ส่วนตัว (เช่นเซิร์ฟเวอร์ต้องเปิดให้บุคคลทั่วไปเห็น) developers.google.com/maps/terms ... "การใช้งาน Maps API ของคุณจะต้องไม่ทำงานในเครือข่ายภายในเท่านั้น" ดังนั้นมันจึงออกกฎ
เดฟจาร์วิส

ตกลงนั่นทำให้รู้สึก ในกรณีนั้น OSM เป็นหนทางไป
Igor Brejc


3

Openlayers ที่มี OpenStreetmap เป็นตัวเลือกที่ดีที่สุดของคุณแล้วคุณจะเพิ่มเลเยอร์ของคุณด้วย WMS (เช่น Mapserver หรือ Geoserver) คุณสามารถใช้ Google Maps พร้อมใบอนุญาตได้

ฉันมีประสบการณ์มากมายเกี่ยวกับเรื่องนี้ตั้งแต่ฉันได้พัฒนาเว็บไซต์จำนวนหนึ่งบางแห่งเริ่มต้นด้วยกระเบื้องแบบกำหนดเอง

ฉันไม่ได้ทำงานกับ geoserver แต่ใช้กับ Mapserver คุณไม่สามารถคาดหวังได้ว่าเซิร์ฟเวอร์จะแสดงรายละเอียดของคุณสมบัติเป็นล้าน ๆ แบบตามเวลาจริง ฉันจะบอกว่าประสิทธิภาพของสิ่งเหล่านี้จะต้องได้รับการปรับปรุงให้ดีขึ้นโดยลดความซับซ้อนของข้อมูลเป็นระดับรายละเอียด (ตามขนาดหรือซูม) และอาจจะเขียนข้อมูลพื้นฐานไปยังไทล์

ตอนนี้ฉันกำลังทำงานบน Mobnetics Map

สิ่งนี้ใช้ Openlayers, ไทล์ OSM, postgreSQL และ Java ความสวยงามของมันคือมันปรับให้เข้ากับข้อมูล GIS ใด ๆ (โดยการใช้เมตาดาต้า) จากนั้นให้ผู้ใช้สามารถสืบค้นข้อมูล มันอยู่ภายใต้การพัฒนาอย่างต่อเนื่องและในเวลานั้นมีเพียงข้อมูลเพิ่มเติมสำหรับโปรตุเกส (เป็นกรณีทดสอบ)

สิ่งต่อไปที่ฉันต้องการทำคือให้ลูกค้าที่โฮสต์ข้อมูล gis ที่พวกเขาสามารถติดตั้งและอัปเดตจากระยะไกลเพื่อให้ลูกค้าสามารถทำงานบนไซต์ด้วยตนเอง
มันจะดีถ้ามีลูกค้าเป็นคุณในขณะที่ บริษัท ของฉันพัฒนาเว็บไซต์ ..

มิฉะนั้นฉันสามารถติดตั้งไซต์นี้บนเซิร์ฟเวอร์ของคุณเองและทำการบำรุงรักษาจากระยะไกล เราได้ทำสิ่งนี้กับลูกค้าบางคน

ขอแสดงความนับถืออย่างสูง,

Joaquim Muchaxo


อาจเป็นช็อตเล็กน้อย แต่คุณรู้หรือไม่ว่า id ไหนที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่าได้
QGISUser

1

ฉันคิดว่าคำว่าโอเพ่นซอร์สนั้นถูกใช้อย่างเสรีในกระทู้นี้;)

อีกสองตัวเลือก:


1
ไม่มีตัวเลือกเหล่านี้เนื่องจากเป็นคำถามสำหรับบริการส่วนตัวฟรี
Ryan Garnett

1

แน่นอนคุณสามารถใช้ GIS แบบจ่าย ฉันทำงานที่สภาและเราใช้งาน Exponare Exponare นั้นใช้งานง่ายและใช้งานได้ดี แต่คุณต้องเสียค่าใช้จ่าย

ArcMap เป็นสิ่งที่มีจินตนาการมากที่สุดและเป็นซอฟต์แวร์ Dekho ทำในสิ่งที่คุณต้องการ

หากคุณต้องการที่จะม้วนของคุณเองตรวจสอบhttp://opengeo.org/สำหรับกองเต็มในรูปแบบที่รองรับ

ความเข้าใจของฉันในการทำด้วยตัวเองคือทำสิ่งต่อไปนี้:

  1. รับข้อมูลของคุณในฐานข้อมูลเชิงพื้นที่เช่น PostGIS
  2. เลือกเซิร์ฟเวอร์ tile / vector ของคุณ (PostGIS, GeoServer) เพื่อเผยแพร่ WFS / WMS
  3. เลือกส่วนหน้าเว็บของคุณ (GeoEXT, openlayers)

คุณสามารถติดตั้งสิ่งนี้ได้บน Windows ด้วยhttps://trac.osgeo.org/osgeo4w/ (แพ็คเกจที่จัดการและทั้งหมด) ฉันแน่ใจว่าอูบุนตูมีแพ็คเกจถ้าไม่ใช่ทางการแล้วใน PPA


1

ตัวเลือกฟรีที่สมบูรณ์จำเป็นต้องมีการรวมซอฟต์แวร์เพียงไม่กี่ตัวและ openstreetmap มีลิงก์ไปยังซอฟต์แวร์โดยใช้ข้อมูลฟรี ฉันอยากจะแนะนำให้มองหา Mapbox API และเครื่องมือในฐานะ Mapbox studio ฟรีสำหรับการใช้งานต่ำและปรับขนาดได้ดีมากด้วย Native mobile ตอบสนองพื้นเมือง Offline เป็นไปได้เช่นกันสามารถใช้กับ Apis เช่น Openlayers และ leaflet ชั้นของการโต้ตอบและการจัดวางไทล์ของเวกเตอร์นั้นเป็นคุณสมบัติที่ไม่เหมือนใครและมีประสิทธิภาพของ Mapbox แต่ก็ไม่ได้มุ่งเน้นไปที่ WFS หรือ WMS ในกรณีนั้นก็ใช้ Postgresql และ Openlayers ด้วย Postgres มีฟังก์ชั่น Gml นอกกรอบดังนั้นการใช้ WFS เพียงแค่ต้องเพิ่มหัวกระดาษบางส่วนในการร้องขออย่างไรก็ตามสำหรับการใช้ Ogc แบบเต็มให้ใช้ geoserver หรือ Mapserver

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.