PostGIS กับ SQL Server สำหรับข้อมูล GIS


15

ดังนั้นเมื่อเร็ว ๆ นี้ฉันเริ่มที่ บริษัท ใหม่และมีผู้ใช้ ArcGIS จำนวนมากที่ดูเหมือนจะกระตือรือร้นที่จะก้าวไปข้างหน้าด้วยอินสแตนซ์ PostGIS เพื่อให้บริการข้อมูลแก่ลูกค้าของเรา ในขณะที่ฉันไม่มีปัญหากับสิ่งนี้เราเป็นเซิร์ฟเวอร์ SQL 95% และร้านออราเคิล 5% GIS ภายในของเราในปัจจุบันหมดลง SQL Server และฉันยังไม่ได้ยินคำร้องเรียนใด ๆ

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

ฉันต้องการให้เครื่องมือที่ดีที่สุดแก่พวกเขาในการทำงานให้เสร็จ แต่ต้องชั่งน้ำหนักความจริงที่ว่าฉันจะเรียนรู้ Postgres / GIS ตั้งแต่เริ่มต้นและนั่นเป็นการเดินทางทั้งในและของตัวเอง


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

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

2
ไม่มีประสบการณ์กับผลิตภัณฑ์ ARC แต่เมื่อพูดถึงฐานข้อมูลเท่านั้น PostGIS นั้นมีการใช้งานฐานข้อมูลเชิงพื้นที่มากกว่าเซิร์ฟเวอร์ MSSQL อย่างเป็นผู้ใหญ่มากขึ้นตัวอย่างเพิ่มเติมเนื้อหาที่ว่างมากขึ้น หากคุณต้องการทำบางสิ่งเกี่ยวกับอวกาศในฐานข้อมูล PostGIS จะมีตัวเลือกเพิ่มเติม PostGIS นั้นฟรี MS SQL ไม่ใช่ฐานข้อมูลเชิงพื้นที่ดูเหมือนว่ามีแนวโน้มที่จะเติบโตมากกว่าที่คาดไว้ ดังนั้นจึงมีอาการปวดหัวจากการออกใบอนุญาตเป็นต้น ... แน่นอนว่า Linux + PostGIS มีปัญหาของตัวเองหากผู้ดูแลระบบคุ้นเคยกับสภาพแวดล้อมของ windows มากกว่า
simplexio

คำตอบ:


21

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

เท่าที่ฐานข้อมูลไปผมพบว่า Postgres มีช่วงเวลาการเรียนรู้ที่สั้นลงและตื้นขึ้น เอกสารเป็นเรื่องเหลือเชื่อ SQL Server มีเอกสารค่อนข้างน้อย แต่ฉันพบว่ามันอ่านยากมากโดยมีตัวอย่างและแบบฝึกหัดไม่เพียงพอ

PostGIS vs SQL Server Spatial นั้นคล้ายกับเอกสารข้างต้นเกี่ยวกับ แต่ PostGIS จะทำให้กางเกงออกจาก SQL Server Spatial ในการทำงาน ตัวอย่างเช่น Google Maps และ Bing Maps ระดับที่น้อยกว่าได้เพิ่มการสนับสนุน geoJSON แบบเต็มไปยัง API แผนที่ของพวกเขา ดี PostGIS สามารถกลับผล GeoJSON โดยตรงจากการสืบค้นฐานข้อมูลโดยใช้ST_AsGeoJSON () ผลลัพธ์ geoJSON นี้สามารถส่งต่อไปยังสิ่งที่เข้าใจ geoJSON ได้โดยตรง SQL Server ต้องการให้คุณใช้ไลบรารีและการประมวลผลเพิ่มเติมหรือใช้ ogr2ogr นอกจากนี้ PostGIS ยังมีฟังก์ชั่นมากกว่า 300 ฟังก์ชั่นสำหรับการแปลงข้อมูลเข้าและออกจากฐานข้อมูลเมื่อเปรียบเทียบกับ SQL Server ซึ่งมีประมาณ 70-100


ทันทีที่คุณต้องการรูปหลายเหลี่ยมให้ใช้ PostGIS - คุณจะช่วยตัวคุณเองได้หลายปัญหา ถ้าคุณต้องการเพียงคะแนนบางที SQL-Server ก็เพียงพอแล้วคุณก็สามารถใช้ทศนิยมสองคอลัมน์ได้เช่นกัน (ไม่แนะนำให้ใช้ 2 คอลัมน์ถ้าคุณต้องการคำนวณระยะทาง - ใช้ GeoPoint) ไม่แนะนำ GeoPoint ถ้าคุณใช้ EntityFramwork / LINQ2SQL / AverageCrappyORM
ไม่แน่ใจ

0

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

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

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


ข้อมูลเชิงลึกที่ยอดเยี่ยมเกี่ยวกับทางเลือก - ขอบคุณ Chris
LowlyDBA

ฐานข้อมูลตัวใดที่ดีกว่าเป็นข้อกังวลหลักที่นี่ SQL-server ไม่สามารถจัดการกับขนาดของข้อมูลนั้นได้ (planet.osm) นอกจากนี้ยังขาดฟีเจอร์มากมายที่คุณต้องการจริง ๆ ถ้าคุณจะทำมากกว่าการวิจัยเชิงวิชาการ (กระเบื้องแบบเรียงต่อกัน, geojson, ฯลฯ ) นอกจากนี้มันไม่สามารถจัดการรูปหลายเหลี่ยมที่ไปจากด้านหนึ่งของเส้นศูนย์สูตรไปยังอีกด้านหนึ่ง (โง่) ซึ่งเป็นข้อกังวลหากคุณต้องการบราซิล, Equador, โคลัมเบีย, drc, gabon, เคนยา, โซมาเลีย, มาเลเซีย, อินโดนีเซีย, สิงคโปร์, ปาปัวหรืออินเดียแปซิฟิกหรือมหาสมุทรแอตแลนติกและอื่น ๆ ข้อผิดพลาดถ้ารูปหลายเหลี่ยมมีทิศทางที่ไม่ถูกต้อง - แทนการแปลงอัตโนมัติ ...
Quandary
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.