เทคโนโลยีและชุดทักษะใดที่ผู้ที่ต้องการศึกษา / ได้รับการพัฒนาเว็บ GIS ควรทำอย่างไร
โปรดหนึ่งทักษะ / เทคโนโลยีต่อคำตอบ
เทคโนโลยีและชุดทักษะใดที่ผู้ที่ต้องการศึกษา / ได้รับการพัฒนาเว็บ GIS ควรทำอย่างไร
โปรดหนึ่งทักษะ / เทคโนโลยีต่อคำตอบ
คำตอบ:
ฉันสามารถบอกคุณเกี่ยวกับประสบการณ์ของฉันซึ่งเริ่มต้นเป็นนักภูมิศาสตร์ง่าย ๆ พยายามใช้ผลิตภัณฑ์ GIS เพื่อทำการวิเคราะห์เชิงพื้นที่
อย่างที่ฉันพูดฉันเป็นนักภูมิศาสตร์และจากจุดเริ่มต้นในวิทยาลัยฉันเริ่มทำงานกับ GIS ในฐานะผู้ใช้ หลังจากนั้นฉันเริ่มค้นคว้าเกี่ยวกับวิธีการทำงานที่น่าเบื่อโดยอัตโนมัติที่ฉันต้องทำบ่อยครั้ง นั่นมาจากความหลงใหลและหลังจากสามปีที่ผ่านมาฉันทำงานโดย บริษัท ซอฟต์แวร์ข้ามชาติที่ทำงานกับระบบ GIS จำนวนมากและพัฒนาโซลูชันที่กำหนดเอง
ขั้นตอนของฉันคือ:
เรียนรู้ GIS เป็นอย่างดี อย่าเริ่มต้นการเรียนรู้การเขียนโปรแกรมโดยไม่ต้องมีพื้นฐานที่ถูกต้อง การคาดการณ์และการแปลงการวิเคราะห์เชิงพื้นที่ความแตกต่างระหว่างแบบจำลองแรสเตอร์และเวกเตอร์เป็นต้น
เรียนรู้พื้นฐานระบบฐานข้อมูล: รู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล , ความรู้พื้นฐานของระบบฐานข้อมูล หนังสือสองเล่มแตกต่างกันเล็กน้อย อย่างแรกคือทฤษฎีที่หนักมากคนที่สองใช้แนวทางที่เป็นประโยชน์มากกว่า
เรียนรู้ SQL อันที่จริงนี่เป็นส่วนที่สองของส่วนแรก มันจะช่วยคุณได้มากถ้าคุณเริ่มคิดในลักษณะ "ตาราง" SQL เปลี่ยนจากผู้จัดจำหน่ายเป็นผู้จัดจำหน่าย ฉันสามารถแนะนำคุณกับ PostgreSQL ซึ่งเป็นผู้ขายที่ปฏิบัติตามมาตรฐานมากที่สุด หากคุณต้องการเรียนรู้ภาษาถิ่นที่เฉพาะเจาะจงให้ทำในภายหลังเมื่อคุณต้องการมัน
การเขียนโปรแกรมเชิงวัตถุ ดูเหมือนจะเป็นสิ่งที่ท้าทาย แต่มันค่อนข้างง่ายเมื่อคุณเข้าใจพื้นฐาน เลือกภาษาง่าย ๆ ที่จะทำ Python เป็นโปรแกรมที่ง่ายที่สุด การเรียนรู้ Pythonเป็นจุดเริ่มต้นที่ยอดเยี่ยม มีเปิดแหล่งที่มา / หนังสือหลามฟรีเช่นมีดำน้ำในหลาม หลังจาก Python ตัวเลือกที่น่าสนใจคือ:. NET, Java และ C / C ++
การเขียนโปรแกรมการศึกษา อ่านรหัสเขียนรหัส อ่านรหัสเชิงพื้นที่ เขียนรหัสทางภูมิศาสตร์ ศึกษา API แบบคลาสสิก: GEOS, JTS, GDAL, ArcObjects (ถ้าคุณเป็นแฟน ESRI - และมันเป็นข้อดีอย่างมากในตลาด) และอื่น ๆ
- จดปัญหาเชิงพื้นที่และเขียนรหัสเพื่อแก้ปัญหา ฉันไม่สามารถความเครียดว่ามันมีประโยชน์แค่ไหน สิ่งนี้จะทำให้คุณคลั่งไคล้ แต่เป็นวิธีที่ดีมากในการยืนยันว่าคุณได้เรียนรู้ด้านการเขียนโปรแกรมและเพื่อให้แน่ใจว่าทักษะด้านพื้นที่ทางภูมิศาสตร์ของคุณนั้นทันสมัย ในกรณีของฉันฉันเขียนแอปพลิเคชัน PostgreSQL เล็ก ๆ เพื่อเกิดอุบัติเหตุการจราจร geocode
หมั่นศึกษาต่อ มาตรฐาน OGC เป็นตัวเลือกที่ดีที่นี่
รู้วิธีการของคุณเกี่ยวกับฐานข้อมูล นักพัฒนาระบบสารสนเทศภูมิศาสตร์ใด ๆ จะใช้พวกเขาอย่างกว้างขวาง
สะดุดตาที่สุด:
สมมติว่าคุณมีด้านระบบสารสนเทศภูมิศาสตร์ในสิ่งปกคลุม (หลักการทำแผนที่ ฯลฯ ) ครั้งแรกที่ผมจะใช้เวลาเดินทางไปhttp://www.w3schools.com/ - ทำงานผ่านบทเรียนใน HTML, Javascript, XML, ฯลฯ
จากนั้นคุณมีหลายแพลตฟอร์มให้เลือก ฉันมีอคติเล็กน้อยต่อ ESRI และฉันขอแนะนำให้เริ่มต้นด้วยการเล่นเกี่ยวกับ API
http://resources.arcgis.com/content/web/web-apis
- การใช้แนวคิด / ตัวอย่างช่วยให้คุณเข้าใจถึงสิ่งที่แท้จริง คุณสามารถบรรลุ
ฉันพบว่าการดาวน์โหลดตัวอย่างโค้ดและวิศวกรรมย้อนกลับเพื่อให้ทำงานกับบริการของคุณเอง (สมมติว่าคุณมีอินสแตนซ์ของ ArcGIS Server ไม่เช่นนั้นคุณสามารถใช้เซิร์ฟเวอร์ตัวอย่าง ESRIs) เป็นวิธีที่ดีในการเรียนรู้
นอกจากนี้ยังมีวิดีโอมากมายลองดูวิดีโอการประชุมนี้หู แนะนำ ID ภาพรวมของ ArcGIS APIs สำหรับ JavaScript แนวทางปฏิบัติที่ดีที่สุดสำหรับการออกแบบบริการแผนที่ที่มีประสิทธิภาพการออกแบบแอปพลิเคชันเดสก์ท็อปสำหรับเว็บและใช้ ArcGIS Server REST API
คุณจะเลือกแพลตฟอร์มเว็บใด id ไม่สนใจการดู WebADF (Java / NET) เนื่องจากจะทำให้เลิกใช้งานได้
ใครคือลูกค้าของคุณ? พวกเขาจะใช้เบราว์เซอร์ใด พวกเขาสามารถติดตั้งปลั๊กอิน Silverlight หรือแฟลชได้หรือไม่? คุณมี IDEs ที่จะพัฒนาหรือไม่? เช่น Flex ดีที่สุดใน FlashBuilder ($$) แต่คุณสามารถใช้ FlashDevelop ซึ่งเป็นทางเลือกโอเพนซอร์ส
คุณรู้สึกสบายใจกับเทคโนโลยีที่จัดตั้งขึ้นหรือเทคโนโลยีใหม่ ๆ ชั่งน้ำหนักความเสี่ยง
-. NET / Java มีมานานแล้ว - Silverlight & Flex ค่อนข้างใหม่และมีการถกเถียงกันว่า HTML 5 จะล้างแพลตฟอร์มเหล่านี้ออกหรือไม่
ทั้ง Silverlight และ Flex มีความสามารถในการโต้ตอบที่มากขึ้นซึ่ง Javascript ใช้สำหรับช่องว่างนี้โดยอาศัย Dojo.Framework
ความแตกต่างอย่างมากในการทำงานระหว่าง Web ADF และ Web API คือข้อเท็จจริงที่ว่า ArcGIS Web API นั้นเป็นฝั่งไคลเอ็นต์ทั้งหมด
ฉันจะปล่อยให้คนอื่นให้คำตอบเฉพาะ ESRI น้อยลง แต่ตัวเลือกที่ชัดเจนคือเริ่มเล่นกับGoogle Maps API - มีทรัพยากร / บทแนะนำมากมายสำหรับการเรียนรู้นี้
Javascript, HTML DOM, CSS, HTTP
หากคุณเชี่ยวชาญเหล่านี้คุณสามารถทำอะไรก็ได้บนเว็บ การเพิ่ม API ที่ดีเช่น SVG อาจจะทำให้ง่ายขึ้นและเว็บแอปพลิเคชันของคุณจะดีกว่า แต่ IMO คุณจะไม่สามารถเข้าถึงสี่รายการที่กล่าวข้างต้นได้
สมมติว่าคุณสามารถจัดการฐานข้อมูลเชิงพื้นที่และเซิร์ฟเวอร์แผนที่ของคุณ [อธิบายไว้ในคำตอบอื่น ๆ ที่นี่] และรวบรวมความรู้เกี่ยวกับ HTML, CSS และ JavaScript คุณอาจเริ่มซ่อมแซมด้วยไคลเอ็นต์ไลบรารีที่จะใช้และแสดงส่วนประกอบแผนที่ภายในเว็บเบราว์เซอร์ของผู้ใช้
OpenLayersดูเหมือนจะเป็นห้องสมุดอ้างอิงและใช้มากที่สุด มันมีเอกสารที่ดีงามและตัวอย่างและคุณสามารถหาบทเรียนบางอย่างเช่นที่นี่ BostonGISหน้าจะเป็นประโยชน์สำหรับคุณที่นี่เช่นกันไม่เพียง แต่สำหรับสิ่งที่ OpenLayers
ขึ้นอยู่กับความรู้ / ความเต็มใจที่จะเรียนรู้ Python MapFish ของคุณก็เป็นทางออกที่ดีมากเช่นกัน หรือคุณสามารถดำน้ำในGeoDjangoแต่ฉันไม่สามารถแสดงความคิดเห็นเกี่ยวกับวิธีนี้ได้มากนัก
หรือคุณสามารถดูบิดาOSGeoโซลูชันการทำแผนที่เว็บหันไปแฟลช, หรือการใช้งานในเชิงพาณิชย์บางสิ่งบางอย่างเช่นESRI เว็บ APIs
ฉันเห็นด้วยกับอดัมว่าฐานข้อมูลเชิงพื้นที่และ SQL ควรเป็นจุดเริ่มต้น
หลังจากนั้นก็อาจจะคุ้มค่าดูที่ชั้นสองของเว็บในอนาคตของคุณgeostack คุณจะต้องมีสิ่งที่จะทำหน้าที่เป็นสะพาน 'แสดง' ข้อมูลของคุณจากฐานข้อมูลเชิงพื้นที่ไปยังไคลเอนต์ในเบราว์เซอร์ของผู้ใช้ของคุณ
ตรวจสอบให้แน่ใจว่าคุณเข้าใจแนวคิด WFSและWMS
ติดตั้งและเริ่มเล่นในเครื่องกับเซิร์ฟเวอร์ของคุณเอง ทั้งสองโครงการที่รู้จักกันดีกอดโดยมาเปิด Geospatial มูลนิธิมีGeoServerและMapServer ผู้ทำแผนที่ของ QGISอาจจะดูมีค่าเช่นกัน เซิร์ฟเวอร์ ArcGISน่าจะมีค่าใช้จ่ายเชิงพาณิชย์เทียบเท่า
เมื่อคุณแยกส่วนนี้คุณอาจเริ่มเล่นกับห้องสมุดลูกค้า
รู้ว่าระบบปฏิบัติการเซิร์ฟเวอร์ของคุณเว็บเซิร์ฟเวอร์ (IIS, Apache, อะไรก็ตาม) และวิธีการรักษาความปลอดภัยข้อมูลของคุณ - แม้ว่าจะมีคนทำทุกอย่างให้คุณ
คุณสามารถทำงานผ่านหลักสูตรของฉัน (https://www.e-education.psu.edu/geog585/) ซึ่ง (ฉันคิดว่า) ให้คำแนะนำที่ดีและควรทำให้คุณพร้อม
ฉันไม่สามารถเน้นความคิดเห็นที่สองของจอร์จให้กับความคิดเห็นล่าสุดได้เพียงพอ เลือกปัญหาเชิงพื้นที่และ / หรือปัญหาเว็บที่คุณสนใจและเรียนรู้เกี่ยวกับเทคโนโลยีที่จำเป็นขณะที่คุณแก้ปัญหา
หากคุณใช้เวลาในการมีความเชี่ยวชาญในทุกพื้นที่ที่ระบุไว้ข้างต้นมันจะคงอยู่ตลอดไปก่อนที่คุณจะเริ่มสร้างโครงการที่ทำให้เกิดอาการคัน
ฉันขอแนะนำให้เริ่มต้นด้วยการสร้างแอปโดยใช้ OpenLayers เพื่อสร้างแอปข้อมูลแผนที่จากบริการข้อมูลที่มีอยู่ จากนั้นคุณสามารถไปยังการสร้างแหล่งข้อมูลหรือบริการของคุณเอง หากคุณยึดติดกับเทคโนโลยี FLOSS คุณจะสามารถสร้างและใช้แอปของคุณได้ทุกที่โดยไม่มีค่าใช้จ่ายเกิดปัญหา