ทางเลือกแทน Shapefiles เป็นชุดข้อมูลแบบโอเพนซอร์สและข้ามแพลตฟอร์ม [ปิด]


20

ฉันกำลังทำงานกับซอฟต์แวร์ที่มุ่งเน้น ESRI เป็นอย่างมาก แต่เวอร์ชันในอนาคตอาจไม่ได้ใช้ซอฟต์แวร์ ESRI มันใช้ Shapefiles และฐานข้อมูล Geod ฉันวางแผนที่จะรับข้อมูลทั้งหมดของฉันไปยัง Shapefiles โดยคาดหมายสำหรับซอฟต์แวร์รุ่นอนาคตที่น่าจะเป็นบน Android และอุปกรณ์พกพาอื่น ๆ ปรากฏว่า Shapefiles เป็นประเภทข้อมูลที่พบได้บ่อยที่สุดสำหรับคุณสมบัติในโลก GIS แบบโอเพ่นซอร์ส แต่สิ่งอื่น ๆ คืออะไรและมีประโยชน์อะไรบ้าง ฉันคุ้นเคยกับ GeoJSON และ KML แต่ฉันแน่ใจว่ามีคนอื่น

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



1
คำถามจาก 2011 นั้นถูกถามก่อนที่จะมี GeoPackage และคำตอบตามธรรมชาติไม่รวมถึงทางเลือกนั้น
user30184

2
Esri File Geodatabase มีความยาวสูงสุดของช่องถ่านที่จะแข่งขันกับเนื้อหาข้อความของไลบรารีขนาดเล็กส่วนใหญ่ Esri Personal Geodatabase สนับสนุนฟิลด์ข้อความที่ยาวมากเช่นกัน ทั้งสองสามารถเข้าถึงได้ผ่าน QGIS และแน่นอน Esri ArcGIS แต่การสนับสนุนสำหรับชนิดข้อมูลเหล่านี้มี จำกัด นอกแพ็คเกจเหล่านี้ แต่ระวังของรุ่นฉันจะลองสร้าง 9.3 เป็นไปตามซอฟต์แวร์ Esri ส่วนใหญ่ที่คุณอาจพบจะเป็น 10+ และ API ฐานข้อมูลภูมิศาสตร์สำหรับ QGIS ควรสนับสนุนรุ่นนี้ GeoJSON และ KML ยังสามารถรองรับช่องข้อความขนาดใหญ่ แต่ไม่สามารถอ่านได้ในระดับสากล
Michael Stimson

1
อืมม 9.3 ไม่ใช่แผนการที่ดีสำหรับความเข้ากันได้ของฐานข้อมูลทางภูมิศาสตร์ไฟล์ FGDB API ไม่รองรับ 9.x-style .gdb
วินซ์

1
@ElioDiaz shapefiles ยังคงมีอยู่แม้ว่าจะมีข้อ จำกัด เนื่องจากเป็นสื่อการถ่ายโอนคุณสมบัติสากลมากที่สุด - แพ็คเกจ GIS เกือบทั้งหมดจะเปิดขึ้นหรือสามารถนำเข้าไฟล์รูปร่าง Esri ได้ รูปแบบเป็นมาตรฐานเปิดเพื่อให้ทุกคนสามารถอ่านและนำไปใช้ในทางของตนเอง มีรูปแบบฟีเจอร์ GIS ที่เหนือกว่าอย่างไม่ต้องสงสัย แต่ไม่ได้นำมาใช้อย่างแพร่หลาย ... หัวข้อนี้มีการพูดคุยกันหลายครั้งใน GIS.SE มากเท่าที่เราต้องการมันมิฉะนั้นรูปร่างของไฟล์ก็น่าจะเป็นตัวหารร่วมที่ต่ำที่สุดสำหรับคุณสมบัติในบางเวลา แต่เราก็แค่ต้องยิ้มและรับมัน
Michael Stimson

คำตอบ:


18

ในฐานะที่เป็น @ user890 กล่าวว่านี้มากขึ้นอยู่กับวิธีการใช้ข้อมูล ส่วนใหญ่มีสองวิธีที่คุณสามารถเข้าถึงข้อมูล:

  1. โดยการโหลดทั้งหมดลงในหน่วยความจำในครั้งเดียวจากนั้นเข้าถึง / สืบค้นข้อมูลในหน่วยความจำ
  2. โดยการสอบถามคุณสมบัติเฉพาะกล่องขอบเขต ฯลฯ

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

SQLite / Spatialite จะดีกว่าสำหรับการสืบค้น (SQL) แต่มันยากกว่าในการจัดโครงสร้างข้อมูล - คุณต้องทำให้ทุกอย่างในตารางฐานข้อมูลแบนแล้วทำ JOIN (ซึ่งอาจมีราคาแพง) เมื่อทำการสอบถาม

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


14

ฉันคิดว่ารายการรูปแบบ OGR Vector (อัปเดตลิงก์) จะระบุรูปแบบโอเพนซอร์ซทุกรูปแบบที่ฉันเคยได้ยินและอีกมากมาย แต่ละรูปแบบเหล่านั้นมีข้อดี / ข้อเสียของตัวเองดังนั้นจึงยากที่จะพูดซึ่งเป็น 'ที่ดีที่สุด' สำหรับแอพมือถือฉันคิดว่าขนาดไฟล์จะเป็นปัจจัยสำคัญในการตัดสินใจ

สำหรับแอปพลิเคชันมือถือฉันคิดว่ารูปแบบ sqlite / spatialite จะเป็นรูปแบบตรรกะที่เริ่มต้นด้วย ฉันรู้ว่า Android ให้การสนับสนุนพื้นเมืองสำหรับ sqlite ดังนั้นสมมติว่าคุณสามารถโหลดส่วนขยายอวกาศคุณจะมีระบบสารสนเทศที่ทรงพลังมากสำหรับคุณ

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


13

รูปแบบใหม่ที่ได้มาเกี่ยวกับเมื่อเร็ว ๆ นี้เป็นGeopackage ข้อมูลจำเพาะนี้สร้างขึ้นบนฐานข้อมูล SQLite ดังนั้นจึงมีพื้นฐานไฟล์เดียว แต่มีประโยชน์เพิ่มเติมของการเป็นมาตรฐานOGC
สำหรับขนาดไฟล์เป็นไปได้ว่ารูปแบบการจัดเก็บข้อมูลมีขนาดกะทัดรัดกว่า.shpและ.dbfรูปแบบสำหรับข้อมูลเชิงพื้นที่และแอตทริบิวต์ที่ใช้ใน Shapefile ดังนั้น GeoPackage น่าจะมีขนาดเท่ากันหรือเล็กกว่าขนาดรวมของคุณสมบัติเดียวกันใน shapefile
รูปภาพนี้แสดงท่อน้ำทิ้งที่ซานดิเอโกบันทึกไว้เป็นทั้ง Shapefile และ GeoPackage อย่างที่คุณเห็นพวกมันมีขนาดเท่ากัน Shapefile vs Geopackage Size
เนื่องจากรูปแบบนี้เป็นไปตาม SQLite จึงควรมีการเตรียมไว้สำหรับอุปกรณ์มือถือ แอพจำนวนมากใช้รูปแบบฐานข้อมูลนี้สำหรับจัดเก็บอยู่แล้วดังนั้นจึงเป็นเทคโนโลยีที่ได้รับการพิสูจน์แล้ว มันสามารถใช้ข้ามแพลตฟอร์มโดยไม่ต้องแปลใด ๆ


4

เห็นด้วยกับ Lennert เลือกรูปแบบที่เหมาะสมสำหรับงาน

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

น่าเสียดายที่ ArcGIS ไม่รองรับเต็มที่ (ฉันยังไม่ได้ลองสักครู่ดังนั้นฉันอาจผิด) แต่ใช้งานได้ดีใน QGIS


4

มีรูปแบบที่แตกต่างกันมากมายและดีที่สุดขึ้นอยู่กับชุดข้อมูลของคุณเครื่องมือที่คุณใช้และสิ่งที่คุณต้องการจะทำ

บางอย่างที่ฉันใช้:

  • ไฟล์ฐานข้อมูล Geodatabase & spatialite: catchall ที่ฉันต้องการใช้ มันสามารถเก็บข้อมูลทุกประเภทและมีความสัมพันธ์การจัดทำดัชนี ... ฉันใช้ gdb เมื่อทำงานในสภาพแวดล้อม Esri, spatialite เพื่อสิ่งอื่น

  • GeoJson: รูปแบบที่อ่านง่ายฉันมักใช้กับชุดข้อมูลขนาดเล็กที่ไม่ต้องการวิธีการจัดทำดัชนีมากนัก

  • ฐานข้อมูลที่เหมาะสม: ฉันมักจะใช้สิ่งนี้กับชุดข้อมูลขนาดใหญ่และอัลกอริทึมที่ซับซ้อน

แต่ก็มีคนอื่นมากมายเช่นกัน


3

ฉันจะแนะนำให้ใช้ฐานข้อมูล SQLite / spatiallite มันเป็นไฟล์เดียวเช่นฐานข้อมูลภูมิศาสตร์ (หนึ่งถึงหลายตาราง / ชั้นภายใน) และสามารถใช้ใน ArcGIS Desktop และ QGIS


ฉันบันทึกข้อมูลรูปหลายเหลี่ยมใน sqlite และโหลดด้วย QGIS และได้รับข้อความว่า "CRS ไม่ได้ถูกกำหนด: เริ่มต้นที่ CRS EPSG: 4326 - WGS84" ข้อมูลในการฉายภาพหายไปหรือไม่
Ichiro

ด้วยซอฟต์แวร์ใดที่คุณบันทึกเลเยอร์โพลีกอนลงใน sqlite
artwork21

1

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

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

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