วิธีเริ่มการทำแผนที่เว็บ


83

ฉันต้องการเริ่มทำงานบนแผนที่เว็บที่ทำงานเพื่อทำแผนที่สถิติของเราตามเมือง

ฉันมีความคิด แต่ฉันไม่แน่ใจว่าจะเริ่มตรงไหน

มีแหล่งข้อมูลที่ชัดเจนที่ให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำเช่นนี้หรือไม่?

คำตอบ:


94

คำถามนี้ถูกแปลงเป็น Community Wiki และ wiki ที่ถูกล็อกเนื่องจากเป็นตัวอย่างของคำถามที่ค้นหารายการคำตอบและดูเหมือนจะเป็นที่นิยมมากพอที่จะป้องกันไม่ให้ปิด ควรได้รับการพิจารณาว่าเป็นกรณีพิเศษและไม่ควรถูกมองว่าเป็นประเภทของคำถามที่ได้รับการสนับสนุนในเรื่องนี้หรือไซต์ Stack Exchange ใด ๆ แต่ถ้าคุณต้องการมีส่วนร่วมในเนื้อหามากขึ้นคุณสามารถแก้ไขได้โดยแก้ไขคำตอบนี้ .


คุณสามารถเลือกระหว่างการแก้ปัญหาด้วยองค์ประกอบเซิร์ฟเวอร์แผนที่หรือไม่ แน่นอนว่าโซลูชันเซิร์ฟเวอร์รองรับข้อมูลเพิ่มเติมและแอปพลิเคชันที่ซับซ้อนยิ่งขึ้น

ถ้าคุณรู้ว่า QGIS ต้องการสร้างการสร้างภาพข้อมูลแบบครั้งเดียวฉันจะแนะนำ QGIS2Leafหรือส่งออกไปยัง OpenLayers 3ซึ่งเป็นทั้งปลั๊กอินสำหรับ QGIS ซึ่งอนุญาตให้คุณส่งออกเลเยอร์ไปยังแผนที่เว็บ อัปเดต (ขึ้นอยู่กับความคิดเห็นของ Tom Chadwin): qgis2leaf และ qgis-ol3 ได้ถูกรวมเข้ากับqgis2webแล้ว

ทางสายกลางตัวเลือกQGIS เมฆเป็นตัวเลือกที่ QGIS เซิร์ฟเวอร์โฮสต์: คุณเพียงแค่เตรียมความพร้อมโครงการในประเทศและแล้วเผยแพร่ไปยังเว็บที่คุณจะหาได้ในมุมมองสำเร็จรูป พวกเขามีบัญชีฟรีจนถึงขนาดข้อมูลที่แน่นอน ดังนั้นคุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์ของคุณเองหากเป็นปัญหาสำหรับคุณ

หากคุณต้องการที่จะเรียกใช้เซิร์ฟเวอร์เปิดแหล่งที่มาของคุณเองคุณสามารถเริ่มต้นด้วยการแนะนำนี้เพื่อ Geoserver จากปีที่ผ่านมา FOSS4G: http://workshops.opengeo.org/geoserver-intro/ เครื่องมือที่เกี่ยวข้องมักจะเป็น Geoserver, PostGIS และ OpenLayers ต้นทุนการเริ่มต้นคือเวลาทำงานของคุณรวมถึงการโฮสต์

เป็นการยากที่จะประเมินเวลาในการปรับใช้โดยไม่ทราบว่ากรณีการใช้งานของคุณเป็นอย่างไร


7
qgis2leaf และส่งออกไปยัง OpenLayers 3 ได้รวมเข้ากับ qgis2web แล้ว
Tom Chadwin

จุดดีเกี่ยวกับ qgis2web ฉันเป็นผู้เขียนหลักสูตรวิดีโอที่สอน GIS ตั้งแต่เริ่มต้นและวิธีสร้างแผนที่เว็บด้วย qgis2web: udemy.com/gis-for-everyone/?couponCode=stackgis1
multigoodverse

ทำไมต้องผ่าน GIS เขาสามารถไปจากฐานข้อมูลโดยตรงกับแผ่นพับ
Fjellrev

@Fjellrev อย่างไร ต้องการสืบค้นเป็น GeoJSON หรือไม่ ฉันเถียงว่ายากกว่าการใช้ GIS
Tom Chadwin

คุณสามารถสำรวจGeoGATE ลิงก์ GeoGATE นั้นยอดเยี่ยมด้วย PostGIS & Geoserver และมีเครื่องมือสำเร็จรูปหลายร้อยรายการที่คุณสามารถกำหนดค่าผ่านแผงควบคุมที่ใช้งานง่ายพร้อมข้อมูลของคุณ
Hani Draidi

41

Penn State มีคลาสWeb Mapping ที่เปิดอยู่ ควรจะเพียงพอที่จะสอนวิธีการทำแผนที่เว็บและเทคโนโลยีที่เกี่ยวข้อง เครื่องมือที่ใช้ในชั้นเรียนส่วนใหญ่ถ้าไม่ใช่ทั้งหมดนั้นฟรีคุณจึงไม่ควรมีปัญหา นี่คือ TOC:

บทที่ 0: การวางแนว

บทที่ 1: ความรู้เบื้องต้นเกี่ยวกับการเปิดการทำแผนที่เว็บ

บทที่ 2: Web Map Servers (WMS)

บทที่ 3: เซิร์ฟเวอร์คุณลักษณะเว็บ (WFS)

บทเรียน 4: Extensible Markup Language (XML)

บทเรียน 5: เซิร์ฟเวอร์แผนที่เว็บขั้นสูง

บทที่ 6: ภาษามาร์กอัปทางภูมิศาสตร์ (GML)

บทที่ 7: WFS มาเยือนแล้ว

บทเรียนที่ 8: การสร้างแอปพลิเคชันการทำแผนที่เว็บ

บทเรียนที่ 9: การสร้างไคลเอ็นต์ Web Mapping ที่กำหนดเองแบบบาง

มีความสุข :)


40

Google Fusion Tablesกำลังมองหาคำสัญญาเกี่ยวกับการจับคู่และการสืบค้นเชิงพื้นที่

ข้อดี: ติดตั้งง่าย

ข้อด้อย: ข้อมูลทั้งหมดของคุณอยู่บนเซิร์ฟเวอร์ google (ดีหรือไม่ดี)

http://sites.google.com/site/fusiontablestalks/stories

ป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุ: บริษัท สื่อ / ข่าวจำนวนมากกำลังใช้งานอยู่ - ตัวอย่างหนังสือพิมพ์ Guardian UK http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map

ตอนนี้มีตัวช่วยสร้างฟิวชั่นที่เรียบร้อยเพื่อให้คุณตั้งค่าได้เร็วขึ้น http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html

ตัวอย่าง: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlstory

หนึ่งในดีที่สุด: http://tinyurl.com/England-Deprivation-Mapped


1
คือGoogle แผนที่ของฉันการดำเนินการของตารางฟิวชั่น Google? ดูเหมือนว่าคล้ายกันกับ MyMaps ที่ใช้เบราว์เซอร์ แต่ Fusion Tables เป็นเซิร์ฟเวอร์
sabre23t

40

มีตัวเลือกมากมายออกมีและคำตอบที่ดีมากมายแล้ว สองทางเลือกที่ชื่นชอบของฉันที่ยังไม่ได้รับการจดทะเบียนแล้วที่นี่มีCartoDBและMapBox ทั้งสองอย่างนี้ให้บริการโฮสติ้งบนเว็บและการแสดงข้อมูลและเครื่องมือแฟนซีราคาเริ่มต้นที่ฟรี

คุณจะได้รับประโยชน์จากการมีซอฟต์แวร์เดสก์ท็อปเพื่อตั้งค่าข้อมูลของคุณ ArcMap และ Quantum GIS เป็นทั้งตัวเลือกที่ยอดเยี่ยมสำหรับชิ้นส่วนเดสก์ท็อป

ฉันบอกได้ว่าจุดแข็งของ MapBox คือการสร้างแผนที่เว็บที่สวยงามพร้อมด้วยแม่แบบที่ยอดเยี่ยมใช้งานง่ายและพร้อมใช้งานได้ทันที MapBox ต้องการโปรแกรมเดสก์ท็อปที่เรียกว่าTileMill (ฟรี) ซึ่งใช้อินเทอร์เฟซการออกแบบที่คล้ายกับ CSS

จุดแข็งของ CartoDB คือการเปิดเผยรูทของPostGISผ่านSQL API

ทั้งสองอย่างนี้สามารถใช้งานได้ด้วยตัวเองหรือใช้ร่วมกับไลบรารีการทำแผนที่จาวาสคริปต์อื่น ๆ (เช่นLeaflet , Google Maps , OpenLayers )

ไม่ว่าแพลตฟอร์มใดที่คุณตัดสินใจที่จะเริ่มใช้ในการทำแผนที่เว็บคุณจะได้รับประโยชน์จากการเรียนรู้จาวาสคริปต์อย่างแน่นอน Codecademyเป็นจุดเริ่มต้นที่ยอดเยี่ยม (เช่นฟรี !!)


2
เพื่อให้สิ่งต่าง ๆ ง่ายยิ่งขึ้น"
RyanDalton

2
กุญแจสำคัญในการทำความเข้าใจ MapBox และ CartoDB คือการกำหนดราคา (มุมมองแผนที่จำนวนข้อมูล) และจำนวนข้อมูลที่คุณแสดง CartoDB ทำให้ชุดข้อมูลขนาดใหญ่จัดการง่ายขึ้นในขณะที่ฉันอยากจะแนะนำ MapBox สำหรับโครงการขนาดเล็ก Leaflet เป็นไลต์ที่เบาและง่ายที่สุดในการเรียนรู้ของไลบรารีการแม็พ JavaScript
Zach

37

ฉันเพิ่งเข้าร่วมการประชุมที่พวกเขานำเสนอOpenGeo Suiteซึ่งเป็นสแต็คของ OpenLayers, GeoServer, GeoExt & PostGIS พวกเขามีทั้ง "Enterprise Edition" (จ่ายสำหรับรุ่นที่มีการสนับสนุน) หรือ " Community Edition " (ฟรี) (อัปเดต) ชุด OpenGeo เป็น Boundless Suite

แพ็คเกจอื่นที่แสดงให้เห็นในการประชุมคือGeoMooseซึ่งเป็นชุดของ MapServer และ OpenLayers

คุณอาจลองดาวน์โหลดOSGEO Live DVDซึ่งคุณสามารถเรียกใช้ในสภาพแวดล้อมของเครื่องเสมือนในกรณีที่คุณไม่ต้องการติดตั้งสิ่งต่าง ๆ บนเครื่องของคุณในขณะที่ทำการทดสอบ มาพร้อมกับแพ็คเกจซอฟต์แวร์ GIS โอเพ่นซอร์สที่หลากหลายรวมถึงเครื่องมือการแมปเว็บ


29

แก้ไข

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


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

ฉันคิดว่าวิธีที่ดีที่สุดในการตอบคำถามของคุณคือให้รายชื่อ API ที่ดีสำหรับคุณ ที่นี่สามที่อยู่ในใจ สิ่งเหล่านี้ไม่ได้ทั้งหมด!

ArcGIS

APIs:

ข้อดี:

  • เว็บ AppBuilderได้ทำการสร้างโปรแกรมแผนที่เว็บที่ง่ายมากสำหรับผู้ที่ไม่รอบรู้ในการพัฒนาเว็บ
  • ผู้สร้างแอปพลิเคชั่นที่ใช้งานง่าย ( Flex , SilverlightและJavaScriptเพียงแค่คำนึงถึงแผนการคัดค้าน)
  • ฟอรัมออนไลน์ที่กว้างขวาง ( โพสต์แลกเปลี่ยนจำนวนมาก )
  • ด้วยโซลูชั่นมากมายที่มีอยู่ในสแต็ค ArcGIS ที่ต้องการการพัฒนาน้อยหรือไม่มีเลย ArcGIS จึงเป็นทางเลือกที่ดีสำหรับการปรับใช้โซลูชันในเวลาที่เหมาะสม
  • ที่เก็บ GitHubสำหรับโซลูชันจำนวนมาก

จุดด้อย:

  • ราคา (ไม่ใช่สำหรับการใช้งาน API แต่มีมากกว่านั้นหากคุณต้องการเผยแพร่ข้อมูลของคุณเองโปรดดูArcGIS Online )
  • การปรับแต่งรหัสแอปพลิเคชันอาจยุ่งยาก

สรุป:

ArcGIS มีข้อเสนอมากมายสำหรับผลิตภัณฑ์เว็บ GIS และมีแหล่งข้อมูลมากมายที่จะช่วยเหลือคุณตลอดเส้นทาง เพียงแค่ตระหนักถึงค่าใช้จ่ายที่อาจเกิดขึ้นเมื่อคุณต้องการเผยแพร่ข้อมูลของคุณเอง

Google

APIs:

  • JavaScript
  • มือถือ (Android, iOS)

ข้อดี:

  • โดยชื่อที่รู้จักมากที่สุดในการทำแผนที่เว็บ
  • JavaScript API ที่กว้างขวาง
  • ตัวอย่างออนไลน์มากมาย
  • เมื่อเร็ว ๆ นี้ Google เปิดตัวการกำหนดราคาและแผนซึ่งเป็นรายละเอียดของบริการที่มีให้

จุดด้อย:

สรุป:

Google มีชื่อที่แข็งแกร่งในตลาดและบริการออนไลน์ที่น่าเชื่อถือ เพียงให้แน่ใจว่าได้ทำความเข้าใจรายละเอียดเกี่ยวกับประเพณีของพวกเขาดังนั้นคุณจึงไม่ต้องเหยียบนิ้วเท้าใด ๆ หน้าการกำหนดราคาและแผนใหม่ค่อนข้างมีประโยชน์ในเรื่องนั้น

โอเพ่นซอร์ส

API (ตาม JavaScript ทั้งหมด):

ข้อดี:

จุดด้อย:

  • การสนับสนุนอย่างเป็นทางการยังไม่เป็นที่รู้จัก แต่ชุมชนที่เกี่ยวข้องนั้นมีประโยชน์มากกว่า (อาจดีกว่าการสนับสนุน GIS เชิงพาณิชย์)

สรุป:

โอเพ่นซอร์สเป็นตัวเลือกที่ยอดเยี่ยมสำหรับผู้ที่ต้องการทดสอบน่านน้ำของ Web GIS ด้วยการเปลี่ยนแปลงและการปรับปรุงที่เกิดขึ้นทุกวันในชุมชนโอเพ่นซอร์สอาจเป็นวิธีที่ไม่แพงในการตอบสนองความต้องการเชิงพื้นที่ของคุณ


ดังที่ฉันได้กล่าวมานี่ไม่ใช่ตัวเลือกทั้งหมดที่คุณมี แต่อย่างน้อยตอนนี้ก็มีโพสต์พร้อมลิงก์สำหรับตัวคุณเองและคนอื่น ๆ เพื่อทำความคุ้นเคยกับผู้เล่นคนสำคัญในโลก Web GIS


ความคิดเห็นที่ดี! คุณต้องการอัปเดตหรือไม่
Fjellrev

@Fjellrev - ฉันสามารถอัปเดตโพสต์ได้อย่างแน่นอนหากคุณมีข้อเสนอแนะหรือสามารถให้คำแนะนำเกี่ยวกับสิ่งที่โพสต์หายไป เพื่อความซื่อสัตย์อย่างสมบูรณ์ฉันได้มุ่งเน้นไปที่เทคโนโลยีของ Esri เป็นเวลาสองสามปีที่ผ่านมาโดยที่ฉันไม่รู้ด้วยซ้ำว่ามีการอัปเดตมากมายที่เกิดขึ้นในพื้นที่นี้ ท้ายที่สุดฉันยังรู้สึกถึงเนื้อหาข้างต้นที่กล่าวถึงผู้ที่น่าเกรงขามในพื้นที่และให้ลิงก์ไปยังข้อมูลปัจจุบันสำหรับแต่ละคน อีกครั้งถ้าคุณมีข้อเสนอแนะใด ๆ ฉันยินดีที่จะเพิ่มพวกเขาตราบเท่าที่พวกเขาพอดีกับชุดรูปแบบ
evv_gis

25

ดูเหมือนว่าคุณจะได้คำตอบของโอเพ่นซอร์สในคำถามข้างต้น หาก บริษัท ของคุณมีงบประมาณ ESRI อาจเป็นตัวเลือกที่ดีมาก เพื่อชี้แจง API การ webmapping ในและของตัวเองมีอิสระที่จะใช้ แต่เซิร์ฟเวอร์แบ็กเอนด์ ArcGIS และ SDE จะเสียค่าใช้จ่ายคุณ นอกจากนี้จำเป็นต้องมีซอฟต์แวร์เดสก์ท็อปเพื่อสร้างบริการแผนที่ที่จะใช้ในแอปพลิเคชันการทำแผนที่เว็บ หากคุณสามารถเข้าถึงแหล่งข้อมูลเหล่านี้ได้หรือสามารถซื้อได้ฉันขอแนะนำให้ค้นหาวิธีแก้ไขปัญหา ESRI

ข้อดีอย่างหนึ่งของที่นี่คือคุณสามารถเขียนโค้ดได้หลายภาษา มี API เฉพาะของ ESRI สำหรับ Flex และ Silverlight:

ยืดหยุ่น: http://help.arcgis.com/th/webapi/flex/index.html Silverlight: http://help.arcgis.com/en/webapi/silverlight/index.html

ขณะนี้ดูเหมือนว่าแนวโน้มในการเขียนโปรแกรมเว็บกำลังเคลื่อนห่างจากโซลูชันที่ต้องใช้ปลั๊กอินและเป็นผู้ขายเฉพาะ (ด้านบน) และไปสู่โอเพนซอร์สและเฟรมเวิร์กที่ใช้มาตรฐานมากขึ้น ESRI ครอบคลุมสิ่งนี้ด้วย Javascript API:

Javascript: http://help.arcgis.com/th/webapi/javascript/arcgis/

ถ้าคุณดูที่เว็บไซต์ API เอกสารเหล่านี้ดีมาก นอกจากนี้ฟอรัมพร้อมใช้งานสำหรับความช่วยเหลือจากชุมชนเกี่ยวกับปัญหาเฉพาะ การสนับสนุนด้านเทคนิคผ่าน ESRI นั้นดีมากเช่นกัน ดังนั้นราคาและทรัพยากรจึงลดลงหากคุณมีแอปพลิเคชั่นเหล่านี้อยู่แล้วหรือมีงบประมาณนี่เป็นเส้นทางที่ยอดเยี่ยม


4
เนื่องจากคำตอบนี้ถูกโพสต์ Esri จึงปล่อยArcGIS Onlineซึ่งอาจไม่จำเป็นต้องใช้ ArcGIS Server และ SDE ในสถานที่ มีแผนนักพัฒนาซอฟต์แวร์ฟรีสำหรับการเริ่มต้น
Stephen Lead

20

ถ้าคุณต้องการที่จะสร้างต้นแบบเพื่อการศึกษาความเป็นไปได้ที่จะแสดงให้เจ้านายของคุณซึ่งเป็นสิ่งที่ฉันต้องทำเมื่อหนึ่งปีก่อนดังนั้นสำหรับแบ็กเอนด์ฉันขอแนะนำ Geoserver เพราะเว็บอินเตอร์เฟสที่เป็นมิตรกับผู้ใช้ รูปร่างที่เรียบง่าย สำหรับส่วนหน้า OpenLayers เป็นตัวเลือกที่ยอดเยี่ยมพร้อมตัวอย่างจำนวนมากบนเว็บไซต์ ฉันไม่ใช่นักเขียนโปรแกรมเว็บ แต่อย่างใด แต่ฉันพบว่าการคัดลอก / วาง / ปรับแต่งตัวอย่างจาวาสคริปต์นั้นง่ายมาก ฉันใส่ทั้งหมดนี้ลงใน VirtualBox VM เพื่อเก็บไว้ในที่เดียวและไม่ทำลายสภาพแวดล้อม dev ปกติของฉันโดยใช้แพ็คเกจจากที่เก็บ UbuntuGIS

สำหรับการผลิตนั้นมีหลายสิ่งที่ขึ้นอยู่กับการใช้งานของคุณ สำหรับฉันในที่สุดฉันก็ไปกับ Mapserver เพราะมันไม่ป่องเหมือน Geoserver ที่ทำงานเหมือนกระบวนการ cgi ที่รวดเร็วบนเว็บเซิร์ฟเวอร์ lighttpd เราต้องการ WFS-T (ซึ่ง Geoserver รองรับนอกกรอบ) แต่ Mapserver ไม่ทำเช่นนั้นเราจึงใช้ Tinyows นอกจากนี้เรายังให้บริการความคุ้มครอง (WCS) ซึ่ง Mapserver สนับสนุนและเรากำลังมองหาการบูรณาการ Rasdaman สำหรับการสนับสนุน WCS-T ทั้งหมดนี้ได้รับการสนับสนุนโดยฐานข้อมูล PostGIS

ฉันขอแนะนำให้แบ่งแอปพลิเคชันของคุณให้เป็นแบ็คเอนด์กลางและฟรอนท์เอนด์และอ่านข้อดีข้อเสียของซอฟต์แวร์แต่ละชิ้น อาจมีเพียงไม่กี่คำตอบสำหรับแต่ละเลเยอร์ แต่เพิ่มขึ้นเชิงผสม

ฉันเชื่อว่า ESRI ทำให้ผลิตภัณฑ์สามารถทำสิ่งนี้ได้ทั้งหมด แต่จะมีค่าใช้จ่าย หากเวลาของคุณอยู่ในระดับพรีเมี่ยมเส้นทางการค้าอาจเป็นหนทางที่จะไป แต่เส้นทางโอเพนซอร์ซกำลังมุ่งหน้าไปในทิศทางที่น่าตื่นเต้นและฉันสงสัยว่าในที่สุดจะทำได้ดีกว่าสิ่งที่ ESRI จะทำได้ แต่แล้วฉันก็เป็นแฟน FOSS แบบลำเอียง :)


2
ลองดูที่ P.Mapper ( pmapper.net ) และ GeoMoose ( geomoose.org ) พวกมันค่อนข้าง "ง่าย" ในการตั้งค่าด้วยข้อมูลของคุณเองคุณสามารถทำได้ในกล่อง Windows ที่มี MS4W จากนั้นในขณะที่คุณกำลังดำเนินการ คุณสามารถเปิดใช้งานการตั้งค่า Linux ได้ ฉันมีโครงร่างของขั้นตอนเริ่มต้นสำหรับ p.mapper ว่าเป็นภาษาสเปนแม้ว่าในกรณีที่คุณสนใจ
jdeltoro1973

18

คุณสามารถดู MangoMap www.mangomap.com

คุณควรสร้างแผนที่ที่คุณต้องการด้วยเครื่องมือที่มี

มันเป็นโฮสต์และฟรีจึงต้องใช้เวลาและความพยายามน้อยมากในการปรับใช้


14

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

หากคุณวางแผนที่จะทำคำสั่งง่ายๆเช่นการระบุคุณสมบัติดังนั้นพลังของ PostGIS น่าจะเกินกำลัง มันง่ายมากที่จะอัปโหลดไฟล์รูปร่างเป็นที่เก็บข้อมูลโดยตรงไปยัง GeoServer

OpenLayers นั้นยอดเยี่ยมอีกครั้งและมีฟังก์ชั่นมากมายเช่นการรองรับระบบพิกัดอื่นที่ไม่ใช่ WGS84 และ Web Mercator แต่ถ้าคุณไม่ได้ใช้ฟังก์ชั่นนั้นฉันก็จะดูที่Leafletในประสบการณ์ของฉันมันมีน้อยกว่ามาก โค้งการเรียนรู้ที่สูงชันสำหรับผู้ใช้ใหม่

นอกจากนี้หากคุณไม่มีข้อกำหนดที่ระบุว่าคุณต้องโฮสต์แอปบนเซิร์ฟเวอร์ของคุณเองคุณสามารถดูตัวเลือกที่โฮสต์บางตัวเนื่องจากคุณจะได้รับเงินคืนมากขึ้นจากเวลาที่ลงทุน การใช้MangoMapหรือGeoCommonsคุณน่าจะจบลงด้วยแผนที่ที่ยอดเยี่ยมสำหรับผู้ใช้ของคุณโดยไม่ต้องเขียนโค้ดบรรทัดเดียว

ถ้านี่เป็นโครงการที่คุณต้องการที่จะเขียนโค้ดบางส่วนแล้วคุณยังสามารถใช้ดูที่CartoDBและMapBox หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับแพลตฟอร์มที่โฮสต์ทั้งหมดเหล่านี้ฉันเขียน ebook ฟรีเกี่ยวกับเรื่องที่ให้รายละเอียดทั้งหมดที่คุณต้องเลือก

การเปิดเผยข้อมูล : ฉันเป็นผู้ก่อตั้ง MangoMap


ลิงก์ ebook ฟรีของคุณใช้งานไม่ได้เนื่องจาก domaine nae มีไว้สำหรับขาย คุณสามารถแก้ไขและเปลี่ยนลิงค์ด้วยดรอปบ็อกซ์หรือเว็บไซต์อื่น ๆ ได้หรือไม่
GeoStoneMarten

13

มีสถานที่มากมายที่จะเริ่มเมื่อพัฒนาแผนที่เว็บ

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

หากคุณเริ่มต้นใหม่และไม่ต้องการผูกมัดกับแพลตฟอร์มใด ๆ ให้ตอบสนองความต้องการทางธุรกิจของคุณ คุณจะวาดข้อมูลของคุณบนแผนที่ได้อย่างไร? ข้อมูลจะได้รับการปรับปรุงอย่างไร ใครจะใช้เว็บไซต์นี้ พวกเขาจะทำอะไรกับมัน? การตัดสินใจเหล่านี้ แต่เนิ่นๆจะช่วยให้คุณประกอบชิ้นส่วนหรือเลือกตัวเลือกที่จะรองรับการขยายตัวสู่เป้าหมาย

สำหรับค่าใช้จ่าย ... ฉันชอบที่จะยืมสุภาษิตที่ทันสมัย: "ดีรวดเร็วราคาถูกเลือกสองอัน" มันถูกกำหนดอย่างเป็นทางการเป็นสามเหลี่ยมการบริหารจัดการโครงการซึ่งอธิบายความสมดุลระหว่างต้นทุนการกำหนดเวลาและขอบเขตเพื่อนำคุณภาพ


12

ฉันเพิ่งเริ่มต้นการเดินทางทำแผนที่เว็บหลังจากหลายปีที่ผ่านมาในด้านฐานข้อมูลของสิ่งต่าง ๆ

สิ่งที่ช่วยฉันได้คือการเรียนรู้หลักการเขียนโปรแกรมพื้นฐานโดยใช้ MapBasic สำหรับ MapInfo (หรือฉันสมมติว่า Python สำหรับฝูงชน esri) ช่วยให้ฉันเข้าใจว่าคอมพิวเตอร์ "คิด" อย่างไร

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

คำแนะนำที่สองคือการติดตั้ง GeoServer และดูคำขอสาธิตเพื่อดูว่าบริการเว็บมีโครงสร้างอย่างไรและทำงานอย่างไร ดูตัวอย่างเลเยอร์เพื่อดูว่า Javascript และ HTML ทำงานร่วมกันอย่างไร คุณสามารถคัดลอกโค้ดเลเยอร์ตัวอย่างนั้น (ดูซอร์สโค้ดหน้า) บันทึกไว้ที่ใดที่หนึ่งแล้วเริ่มแก้ไข

โรงเรียน W3 - มีตัวอย่างแบบโต้ตอบซึ่งคุณสามารถเล่นและปรับให้เข้ากับรหัสนกของคุณ หากคุณตัดสินใจเกี่ยวกับ JavaScript JS Fiddle ก็ดีมากเช่นกัน


11

หากคุณเป็นโปรแกรม Java, มีลักษณะที่Geomajas

มีต้นแบบ maven ซึ่งช่วยให้คุณสามารถเริ่มต้นในไม่กี่นาที ( ดูที่นี่ ) จากนั้นคุณสามารถเพิ่มเลเยอร์พิเศษ ฯลฯ


นักพัฒนา GIS ดูเหมือนจะเป็นแฟน JavaScript ที่ยอดเยี่ยมมันเกือบจะไม่เหมือนใครในการค้นหาจาวาแอพพลิเคชั่นบนเว็บ
Akheloes

9

คุณสามารถใช้OpenLayersสำหรับฝั่งไคลเอ็นต์ มันเสถียรง่ายและมีตัวอย่างมากมายเกี่ยวกับวิธีใช้ WFS (ในกรณีของคุณเพื่อเชื่อมต่อกับ PostgreSQL) ฯลฯ Geoserver, OSM ใช้เพื่อการแสดงผล

คุณยังสามารถดูGeoExtซึ่งมีวิดเจ็ตextJSสำหรับการสร้างแผนที่ geoext อีกครั้งใช้ OpenLayers สำหรับการแสดงแผนที่

นอกจากนี้ยังมีโครงสร้างพื้นฐานของ PHP ที่ใช้MapServer (OpenLayers รองรับแล้ว) เช่นGeoMoose , CartoWebเป็นต้น

ฉันลงคะแนนให้ OpenLayers เนื่องจากคุณสามารถตัดสินใจเกี่ยวกับการออกแบบหน้าเว็บทั้งหมดซึ่งแตกต่างจาก php framework ที่ทำงานกับการผูก MapScript ซึ่งมีแม่แบบเริ่มต้นและฉันพบว่าการจัดการฐานรหัสขนาดใหญ่นั้นไม่ใช่เรื่องง่าย


8

สามทักษะที่จำเป็นสำหรับการพัฒนาเว็บส่วนใหญ่รวมถึงการทำแผนที่เว็บคือ html, css และ javascript แหล่งข้อมูลเพื่อเรียนรู้ภาษาเหล่านั้นเพียงพอ หัวข้อที่จะเริ่มเรียนรู้วิธีพัฒนาแอปพลิเคชั่นการทำแผนที่บนเว็บนั้นได้รับการคุ้มครองอย่างดีในคำถามแลกเปลี่ยน GIS Stack วิธีการเริ่มต้นทำแผนที่เว็บ

ทรัพยากรหนึ่งที่จะมองเข้าไปในการพัฒนาโปรแกรมการทำแผนที่เว็บถ้าคุณได้รับการ จำกัด ประสบการณ์การเขียนโปรแกรมเป็นmapbox คุณสามารถสร้างแผนที่เว็บได้โดยไม่ต้องมีการเขียนโค้ด แต่ฉันคิดว่ามันยากที่จะสร้างแผนที่เว็บที่ซับซ้อนและมีปฏิสัมพันธ์เหมือนกับที่คุณใช้ในตัวอย่างของคุณโดยไม่ต้องใช้ภาษาสคริปต์เช่น javascript หรือ python


7

ฉันใช้leafletjsและฉันคิดว่ามันง่ายมาก มันเป็นพื้นฐานของจาวาสคริปต์และสามารถวาดคุณสมบัติโดยใช้แหล่งข้อมูลต่างๆ โดยทั่วไปคุณใส่รหัสแผนที่ลงในไฟล์. html แล้วดูไฟล์ ฉันไม่สามารถแสดงความคิดเห็นกับ API อื่น ๆ ได้ แต่ฉันคิดว่า google นั้นค่อนข้างเรียบง่ายและ Openlayers

นอกจากนี้ยังมีบริการต่างๆเช่น MapBox ที่ไม่ต้องการให้คุณโฮสต์ไฟล์ html แต่เพียงอัปโหลดข้อมูลของคุณไปยังพวกเขา


6

ฉันคิดว่าวิธีที่ง่ายที่สุดที่จะไปกับปลั๊กอิน qgis + qgis2leaflet คุณสามารถแก้ไขสิ่งที่คุณต้องการใน qgis กว่าส่งออกเป็นใบปลิวและอัปโหลดไปยังเว็บเซิร์ฟเวอร์ของคุณ หรือถ้าคุณเลือกวิธีที่น่าสนใจมากกว่า:

  1. desktop gis: qgis
  2. ผู้ดูแลฐานข้อมูล: navicat
  3. เว็บเซิร์ฟเวอร์: VPS พื้นฐาน
  4. แพ็คเกจ webgis: geosuit ไร้ขอบ (ประกอบด้วย: postgresql / postgis, geoserver และ geoexplorer)

แทนที่จะใช้ geoexplorer ฉันจะใช้ javascript ของ leaflet เพราะมันดูดีกว่าและทำงานได้ราบรื่นกว่า ... แต่ใช้เวลาพอสมควรในการคัดลอก / วางรหัสบางส่วนเข้าด้วยกัน นี่คือตัวอย่าง: http://gis.xyz


5

สิ่งสำคัญที่ควรทราบคือ Web-Gis เป็นสาขาที่กว้างใหญ่และมีการทำงานมากมายในโครงการและห้องสมุดหลายแห่งเพื่อช่วยในการดำเนินการนี้ ดังนั้นเราต้องดูว่ามีสิ่งที่คุณสามารถนำกลับมาใช้ใหม่ได้หรือไม่แทนที่จะเริ่มต้นใหม่

ข่าวร้ายคือไม่มีไลบรารี / แอปพลิเคชันยอดนิยมสำหรับการทำแผนที่เว็บใน php ข่าวดีก็คือคุณอาจไม่ต้องการ

ฉันขอแนะนำให้คุณลองทำความเข้าใจกับ WebMapping ก่อนและทำความเข้าใจกับโครงการและห้องสมุดที่มีอยู่แล้ว สำหรับสิ่งนี้คุณสามารถอ้างถึงคำถามเหล่านี้:

เมื่อคุณเข้าใจตัวเลือกที่มีแล้วคุณควรชี้แจงข้อกำหนดของคุณ เมื่อมองที่คำถามของคุณคุณมีข้อกำหนดขั้นพื้นฐานมาก: แสดงพัสดุบนแผนที่อนุญาตให้ทำแบบสอบถามรับคุณลักษณะสำหรับพัสดุและแสดงให้ผู้ใช้เห็นจากผลลัพธ์ของแบบสอบถามหรือเมื่อผู้ใช้คลิกที่มัน

การทำงานประเภทนี้เป็นไปได้โดยใช้ Google Maps แต่ฉันไม่แนะนำเพราะ Google Maps API นั้นเจ็บปวดเมื่อคุณมีข้อมูลจำนวนมาก

ฉันขอแนะนำให้คุณใช้ Geoserver / OpenLayers แทนโดยที่คุณสามารถใช้งาน JavaScript ได้ คุณอาจไม่จำเป็นต้องใช้รหัส php ใด ๆ หากข้อมูลของคุณอยู่ในคุณสมบัติของฟีเจอร์ทั้งหมด


ฉันดีกับ JQuery และ Jscript library อื่น ๆ ได้สัมผัสกับ ExtJS มาก่อนเช่นกัน คำถามหนึ่งวิธีวาดพื้นที่ของฉันบนแผนที่และฉันจะส่งออกสิ่งนี้ไปยังฐานข้อมูลได้อย่างไร ฉันจำเป็นต้องพึ่งแผนที่ทั้งหมดหรือไม่ ความสำเร็จนั้นเป็นอย่างไร?
Churchill

หากคุณมีข้อมูลพัสดุในรูปแบบไฟล์หรือรูปแบบอื่น ๆ คุณสามารถแสดงเป็นเลเยอร์ wms ที่ด้านบนของ Google Maps / แผนที่ฐานอื่น ๆ เลเยอร์ WMS นี้สามารถให้บริการโดย Geoserver / mapserver นอกจากนี้คุณสามารถวาดคุณสมบัติใหม่ได้เสมอโดยใช้เลเยอร์เวกเตอร์
Devdatta Tengshe

5

ทางเลือกที่ดีที่จะแสง OpenLayers ซึ่งเป็นห้องสมุดขนาดใหญ่จาวาสคริปต์ที่นิยมสำหรับเว็บทำแผนที่เป็นแผ่นปลิว

ฉันใช้ Leaflet กับ GeoServer เพื่อสร้างแผนที่ที่ดีรวมถึงการโต้ตอบ มันต้องมีการเข้ารหัสที่กำหนดเอง แต่ไม่มากและใช้งานง่ายกว่า OpenLayers


5

ก่อนที่จะตัดสินใจเลือกระหว่าง Leaflet และ OpenLayers มันอาจคุ้มค่าที่จะดูเวอร์ชั่นที่กำลังจะมาถึงซึ่งสัญญาว่าจะทำการล้าง API และเอกสารที่ดีกว่า:

OpenLayers 3 เป็นการเขียนซ้ำที่ครอบคลุมของไลบรารีโดยกำหนดเป้าหมายไปยังคุณลักษณะล่าสุดใน HTML5 และ CSS3 ห้องสมุดจะยังคงให้การสนับสนุนอย่างกว้างขวางสำหรับการคาดการณ์โปรโตคอลมาตรฐานและฟังก์ชันการแก้ไขจาก OpenLayers 2.x ไลบรารีเวอร์ชันใหม่จะมุ่งเน้นไปที่การปรับปรุงประสิทธิภาพการสร้างที่มีน้ำหนักเบาส่วนประกอบภาพที่ดีขึ้น API ที่ได้รับการปรับปรุงและอื่น ๆ ไฮไลท์ที่สำคัญบางประการ ได้แก่ :

- - - - - - 8 8 - - - - - - 

codebase ใหม่: นี่เป็นโอกาสในการทำความสะอาดบางส่วนของ "clunky" วิธีการทำสิ่งต่าง ๆ ใน OpenLayers ทีมจะสร้างด้วยการออกแบบ API ใหม่ซึ่งทุกคนสามารถเข้าถึงได้มากขึ้น

เอกสารคุณภาพสูง: รีลีสใหม่นี้จะมีเอกสารประกอบพร้อมตัวอย่างสดใหม่และการออกแบบเริ่มต้นใน OpenLayers 3.0 การทำให้ชุดเครื่องมือมีความโดดเด่นเป็นมากกว่าโค้ดจริง

http://openlayers.org/


5

ฉันจะเริ่มต้นด้วยGoogle Maps API มันฟรีและใช้งานง่ายด้วย มันใช้ Javascript ซึ่งสามารถเรียนรู้ผ่านแหล่งข้อมูลที่ดีจำนวนหนึ่ง ฉันจะแนะนำCodecademyถ้าคุณยังใหม่กับ JS

มีแหล่งข้อมูลฟรีมากมายที่สามารถรวมเข้ากับ Google Maps ได้หลายวิธี (KML, ฐานข้อมูล, GeoRSS ฯลฯ ) รัฐส่วนใหญ่และมหาวิทยาลัยหลายแห่งมีแหล่งข้อมูลฟรีซึ่งสามารถรวมไว้ในแผนที่ของคุณ

หนึ่งในเว็บไซต์ที่ชื่นชอบสำหรับตัวอย่าง Google แผนที่Google Maps Mania มีตัวอย่างแผนที่ยอดเยี่ยมที่แสดงสิ่งที่เป็นไปได้ใน API นี้


5

GeoPHPอาจคุ้มค่ากับการดู

GeoPHP เป็นไลบรารี PHP แบบโอเพ่นซอร์สสำหรับการดำเนินการทางเรขาคณิต มันเขียนทั้งหมดใน PHP และสามารถทำงานบนโฮสต์ที่ใช้ร่วมกันได้ สามารถอ่านและเขียนรูปแบบที่หลากหลาย: WKT (รวมถึง EWKT), WKB (รวมถึง EWKB), GeoJSON, KML, GPX, GeoRSS มันทำงานร่วมกับรูปทรงเรขาคณิตที่เรียบง่ายทั้งหมด (จุด, LineString, รูปหลายเหลี่ยม, GeometryCollection ฯลฯ ) และสามารถใช้ในการรับ centroids, กล่องขอบเขต, พื้นที่และข้อมูลที่เป็นประโยชน์อื่น ๆ อีกมากมาย

และคุณสามารถเพิ่มขีดความสามารถด้วยส่วนขยาย GEOS (สมมติว่าคุณมีสิทธิ์ระดับผู้ดูแลระบบสำหรับการติดตั้ง GEOS)

ด้วย GEOS คุณจะได้รับฟังก์ชั่นเต็มรูปแบบของ openGIS ใน PHP เช่น Union, IsWithin, Touches และอื่น ๆ ซึ่งหมายความว่าแอปพลิเคชันจะได้รับประโยชน์ "ชุดแกนหลัก" ของการปฏิบัติการทางเรขาคณิตที่ทำงานในทุกสภาพแวดล้อมและ "ขยายชุด" การดำเนินงานสำหรับสภาพแวดล้อมที่ติดตั้ง GEOS


4

สคริปต์ PHP ที่กำหนดเองอาจเป็นโซลูชันที่มีประสิทธิภาพมากขึ้น ท้ายที่สุดแล้วข้อมูลเชิงพื้นที่เป็นเพียงแถวในฐานข้อมูลและพวกเขาสามารถสอบถามได้ตามปกติ ไม่จำเป็นต้องใช้ซอฟต์แวร์ GIS เซิร์ฟเวอร์หนักและ / หรือไวยากรณ์ตัวกรอง OGC ที่น่ากลัว ถ้าฉันอยู่ในรองเท้าของคุณฉันจะเก็บข้อมูลในฐานข้อมูล PostgreSQL ด้วยส่วนขยาย PostGIS เขียน PHP แบ็คเอนด์เพื่อสืบค้นฐานข้อมูลและดึงข้อมูลในรูปแบบ GeoJSON (ดูส่วนสำคัญนี้ ) และแอปพลิเคชันเว็บส่วนหน้าตาม OpenLayers - ยืดหยุ่นกว่า Google Maps API แต่คุณยังสามารถใช้ Google Base maps ได้หากต้องการ


ในขณะที่วิธีนี้ใช้งานได้ แต่จะช้าและหนักหน่วงด้วยข้อมูลจำนวนมากเช่นพัสดุสำหรับเคาน์ตี / เขต
Devdatta Tengshe

3

สำหรับความช่วยเหลือในการเลือกคำถามทางเลือกของ ArcGIS Onlineและหนังสือวารสารแหล่งข้อมูลอิเล็กทรอนิกส์ใดที่มีค่ามากที่สุดสำหรับการขยายความรู้สารสนเทศทางภูมิศาสตร์ คำถามสำหรับแหล่งเรียนรู้

ค่าใช้จ่ายในการทำแผนที่เว็บไซต์รวมถึงการโฮสต์ (จ่ายค่าเว็บไซต์) และพื้นที่เก็บข้อมูลเซิร์ฟเวอร์ (ถ้าคุณใช้บริการการทำแผนที่ให้ดูที่การกำหนดราคา MapBoxและการกำหนดราคา CartoDBต่อเดือน) ท้ายที่สุดการรู้การพัฒนาเว็บไซต์เป็นสิ่งสำคัญมากในการสร้างแผนที่ของคุณ


2

มีห้องสมุดการจับคู่สองสามอย่างที่คุณสามารถใช้ได้

ครั้งแรก (และอาจเป็นที่รู้จักกันดีที่สุด) จะเป็นGoogle Maps APIแต่ฉันคิดว่านี่ค่อนข้างซับซ้อนหากคุณค่อนข้างใหม่ในการทำแผนที่เว็บ

ฉันจะขอแนะนำให้ดูที่Leaflet.jsหรือMapbox.js Mapbox.js ถูกสร้างด้วย Leaflet ในใจและMapbox มีบทเรียนที่ยอดเยี่ยมเกี่ยวกับงานต่าง ๆ ที่คุณสามารถทำได้ด้วย Mapbox.js แผ่นพับยังมีตัวอย่างและแหล่งข้อมูลอีกด้วย

นี่คือลิงค์เฉพาะไปยังตัวอย่างที่จะช่วยนำทางคุณไปในทิศทางที่ถูกต้อง


2

หากคุณต้องการแผนที่ที่คุณคลิกประเทศและภาพปรากฏขึ้นคุณสามารถดูตัวอย่าง Mapbox สำหรับการเชื่อมโยงไปยังข้อมูลภายนอก

คุณสามารถเรียนรู้วิธีการโต้ตอบของรหัสในJSFiddle สำหรับโครงการ

หากคุณต้องการเอกสารเพิ่มเติมเกี่ยวกับ Mapbox คุณสามารถอ่านคู่มือ Mapboxของพวกเขาหรือดำน้ำในรหัสอีกเล็กน้อยโดยใช้ส่วนตัวอย่าง


2

ฉันเป็น webmapper ใหม่และถูกเรียกว่าสกอตต์เมอร์เรแสดงข้อมูลสำหรับเว็บ ebook ของเขาสามารถอ่านได้ที่นี่: http://chimera.labs.oreilly.com/books/1230000000345/ฟรี มันมีไว้สำหรับ 'noncoders' ที่ให้ข้อมูลอย่างมากและมีตัวอย่างมากมาย


-3

คุณสามารถใช้ UMN Map Server ที่นั่นคุณสามารถใช้สคริปต์ PHP (เรียกว่าสคริปต์แผนที่) สิ่งนี้ขึ้นอยู่กับเซิร์ฟเวอร์ Apache หากคุณต้องการฐานข้อมูลคุณสามารถใช้ MySQL กับส่วนขยายเชิงพื้นที่หรือ PostgreSQL กับ postGIS ...

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