การรวมข้อมูล Shapefile ลงในฐานข้อมูล


13

ฉันมีรูปร่างหลายร้อยไฟล์จากโครงการ GIS ต่างๆที่ฉันต้องการเริ่มรวมเข้ากับแพลตฟอร์มฐานข้อมูลเดียวซึ่งขณะนี้กำลังพยายามทำสิ่งนี้กับ Postgres / PostGIS

แทบจะไม่มีข้อมูลใด ๆ ที่ได้มาตรฐาน - หมายความว่ามันเป็นประเภทข้อมูลเดียวกันจำนวนมากแต่ชื่อ / ประเภทของแอตทริบิวต์เฉพาะไม่ตรงกัน

ฉันจะเริ่มแก้ไขปัญหานี้ได้ที่ไหน ฉันควรพัฒนาแบบจำลองมาตรฐานเพื่อโอนย้ายรูปร่างแต่ละไฟล์เป็นอันดับแรก (เช่น Hydro_line, transport_line, มาตรฐาน Hydro_poly ฯลฯ ) หรือไม่

อีกทางเลือกหนึ่งคือการนำเข้าแต่ละ Shapefile ลงใน Postgres แยกจากกันดังนั้น shp แต่ละอันจะกลายเป็นตารางในฐานข้อมูล แต่ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ในแง่ของประสิทธิภาพและการจัดระเบียบ รู้สึกถึงความล่าช้าอย่างหลีกเลี่ยงไม่ได้ ...

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

คำตอบ:


7

ลองดูที่ Spatial ETL softwares (Extract - Transform - Load) พวกเขาทุ่มเทให้กับงานดังกล่าว เป็นที่รู้จักกันมากที่สุดคือFMEจากปลอดภัย แต่บางคนมาเปิด (บางส่วน) ทางเลือกที่มีตอนนี้เช่นSDI (ข้อมูลเชิงพื้นที่ Integrator) และGeoKettle


2
ฉันถามถึงการเปรียบเทียบในคำถามก่อนหน้าดังนั้นถ้าคุณไปเส้นทางนี้โปรดเขียนบทความ gis.stackexchange.com/questions/5049/spatial-etl-comparisons
RyanKDalton

ฉันคว้า FME เวอร์ชั่นทดลองแล้วติดตั้งทั้ง SDI และ GeoKettle ฉันจะลองพวกเขาและดูว่าฉันสามารถทำให้พวกเขา FME ดูเหมือนโซลูชันซุปกับถั่ว แต่ฉันจะต้องข้ามช่วงการเรียนรู้ก่อน :)
โคลแมนมา

1
@ colemanm- คุณทำอะไรลงไปในเรื่องนี้? ผลิตภัณฑ์ใดที่คุณพบว่ามีประโยชน์มากที่สุด
RyanKDalton

6

สวัสดี

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

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

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

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

ใน FME และซอฟต์แวร์เช่นนั้นคุณสามารถบันทึกสิ่งที่คุณทำไว้ได้ แต่ข้างช้ามากเมื่อเทียบกับการสืบค้นฐานข้อมูลภายในไม่ใช่วิธีสากลของเอกสารที่ทำในรูปแบบ sql-query พวกมันจะสามารถใช้งานและอ่านได้ตราบใดที่มีไฟล์ข้อความและฐานข้อมูลเชิงสัมพันธ์

ฉันใช้เพื่อจบลงด้วย textfiles กำลังมองหาสิ่งที่ต้องการ:

-- A query to merge all roads in Norway

Create table road_tables.all_roads as
SELECT id as roadid, status, the_geom from original.big_roads
union all
SELECT rid as roadid, condition as status, the_geom from original.small_roads;

และอื่น ๆ สิ่งนี้บันทึกเป็นไฟล์ข้อความมีค่าอย่างมากหลังจากนั้นไม่กี่ปี

ขอแสดงความนับถือ Nicklas


1
+1 ฉันคิดว่านี่เป็นวิธีการที่ดีมาก ทุกอย่างเสร็จสิ้นภายใน Postgres โปร่งใสและทำซ้ำได้ง่ายหากจำเป็น
underdark

1
ไม่ใช่คำแนะนำที่ดีสำหรับ GIS จาก ESRI โอเพ่นซอร์ส "เท่านั้น" สิ่งนี้จะเป็นที่ยอมรับ ESRI มีการพึ่งพาจำนวนมากที่ไม่สามารถเข้าถึงได้ด้วยวิธีนี้ ไม่อนุญาตการเชื่อมต่อโดยตรงกับ postgis โดยไม่ต้องมีการเชื่อมต่อระหว่างกันเซิร์ฟเวอร์ gis หรือ arcsde
Brad Nesom

2
@Brad อืมฉันสงสัยว่านี่เป็นข้อโต้แย้งที่ทำให้สิ่งต่าง ๆ ในแบบที่ทำซ้ำได้อย่างรวดเร็วและโปร่งใสหรือมีข้อโต้แย้งกับการถูกล็อคโดยการใส่ sde ระหว่างฉันกับข้อมูลของฉัน ... ;-)
Nicklas Avén

1
@Brad: colemanm ไม่ได้พูดถึง ESRI ดังนั้นคำตอบน่าจะดี
underdark

ฉันทำงานคล้ายกับสิ่งนี้ด้วย ESRI Sde featureclasses และ SQL Server 2008 (w / เรขาคณิตท้องถิ่น) - ฉันสร้าง classclass ขึ้นก่อนจากนั้นโหลดด้วยชุดคำสั่งแทรก IIRC ฉันต้องส่งฟีเจอร์คลาสไปที่ฟีเจอร์คลาสใหม่เนื่องจากฉันไม่สามารถสร้างออบเจ็กต์ใหม่ได้อย่างถูกต้อง เมื่อฉันทำอย่างนั้นธุรกิจตามปกติ
Jay Cummins

4

ข้อเสนอแนะของฉันจะเลือก 2-5 ชั้นข้อมูลที่หนักกว่าที่คุณใช้ (รูปร่างไฟล์) และย้ายไปยัง rdbms
ตรวจสอบและใช้งานเวิร์กโฟลว์สำหรับข้อมูลเหล่านั้น ทำความคุ้นเคยกับ liimitations และข้อกำหนดของ rdbms vs data based file

ข้อ จำกัด รวมถึง: การส่งออกที่จำเป็น, โซนเชื่อมโยงไปถึง, coordsys, ประเภทไฟล์สำหรับการทำงานร่วมกัน

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

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

มีวิธีการภายใน arcgis (assupmtion ของฉัน: คุณไม่ได้ระบุระบบที่คุณต้องการ) เพื่อรวมข้อมูลที่แตกต่างกัน

คุณอาจลองใช้ข้อมูลนี้หากคุณสนใจที่จะเรียนรู้การออกแบบที่ดี ...

การออกแบบภาพรวมของ Geodatabase
geodatabase documentaion
มีบาง liinks คล้ายกันสำหรับอาร์ 10 นอกจากนี้ยังมี
Resource Center
arc10 geodatabase

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