คำถามติดแท็ก postgresql

PostgreSQL เป็นระบบฐานข้อมูลเชิงสัมพันธ์เชิงวัตถุแบบโอเพ่นซอร์ส

1
ความแตกต่างระหว่าง SpatialJoin กับ“ …ที่ไหน…” และ“ เข้าร่วม…บน…”
ฉันสงสัยว่าความแตกต่างระหว่างการรวมเชิงพื้นที่ทั้งสองนี้คืออะไรและหากมีความแตกต่างเมื่อใดควรใช้แบบใด SELECT * FROM points p, shapes s WHERE ST_Within(p.geom, s.geom); และ SELECT * FROM points p INNER JOIN shapes s ON ST_Within(p.geom, s.geom) เร็วกว่าในบางสถานการณ์หรือไม่?

1
ใช้อาร์เรย์ [] ประเภทข้อมูลใน QGIS จาก PostgreSQL
ฉันเป็นผู้เริ่มต้นใน GIS ดังนั้นฉันยินดีที่จะเห็นความคิดเห็นใด ๆ ที่นี่ ฉันมีตารางใน PostgreSQL ซึ่งฉันเชื่อมต่อกับ QGIS array[]มีคอลัมน์ในตารางที่มีประเภทข้อมูลเป็น แต่ผู้ใช้สามารถแทรกข้อมูลลงในคอลัมน์โดยใช้มุมมองเช่น {a, d, c} ไม่สะดวก มีวิธีง่าย ๆ ในการแก้ไขข้อมูลหรือไม่ ฉันมีความคิดที่จะใส่ข้อมูลใน QGIS เช่น 'a, b, c' และสร้างtriggerINSERT / UPDATE ก่อนที่จะใส่ข้อมูลลงในPostgresตารางอย่างถูกต้อง แต่มันก็ดูเหมือนจะไม่ใช่วิธีที่ดีที่สุด

2
วิธีการ ST_Split คุณสมบัติในตารางหนึ่งโดยคุณสมบัติในอื่น
ฉันต้องการแยกรูปหลายเหลี่ยม (เลเยอร์ 'pol') โดย linestrings ทั้งปิดและไม่ปิด (เลเยอร์ 'lin') น่าเสียดายที่ฉันไม่ได้รับผลลัพธ์ที่ถูกต้องในการใช้แบบสอบถาม CREATE VIEW splitted_pol AS SELECT g.path[1] as gid, g.geom::geometry(polygon, SRID) as geom FROM (SELECT (ST_Dump(ST_Split(pol.geom, lin.geom))).* FROM pol, lin ) as g; ในตัวอย่างของฉัน ST_Split ควรสร้างรูปหลายเหลี่ยมหกรูป (เลเยอร์ 'splitted_pol') ใครบ้างรู้วิธีใช้ ST_Split กับ QGIS / PostGIS

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

3
วิธีการแปลงไอโซลีนเป็นไอโซโทปกอนด้วยโพสต์จิส?
ฉันมีตารางหนึ่งตารางของ isolines ที่กำหนดไว้ดังนี้: CREATE TABLE myisolines ( gid serial NOT NULL, isotime timestamp without timezone, val numeric(10,4), geom geometry(LineString,4326) ); เห็นวัตถุ linestring นี้มีลักษณะดังนี้: ฉันรู้ขอบเขตของข้อมูลของฉันดังนั้นฉันสามารถเพิ่ม Bbox ได้ดังนั้น LineStrings จึงสามารถปิดได้ ฉันต้องการสร้างตารางของ isopolygons myisopolygonsจากmyisolinesตารางที่มีรูปหลายเหลี่ยมที่จะไม่ทับซ้อนกัน แต่สร้างพื้นผิวต่อเนื่องและมีคอลัมน์ที่valมีvalisolines ต่ำสุดซึ่งเป็นรูปหลายเหลี่ยมที่เกิดขึ้น ฉันเข้าใจว่ามันสามารถเกิดขึ้นได้จากตัวแยกไอโซ (เกาะ) หรือไอโซที่ปิดด้วย bbox ในกรณีนั้นvalควรนำมาจากไอโซนั้น มองเห็นควรมีลักษณะดังนี้: ฉันคิดว่าฉันสามารถสร้างโทโพโลยีแล้วเปลี่ยนรูปใบหน้าเป็นรูปหลายเหลี่ยมได้ แต่ฉันไม่เข้าใจวิธีการทำอย่างถูกต้อง สิ่งนี้สามารถทำได้? อีกทางเลือกหนึ่งคือการใช้ฟังก์ชั่นความแตกต่างระหว่าง bbox และรูปหลายเหลี่ยมที่สร้างขึ้นซ้ำ ๆ แต่ฉันคิดว่านั่นไม่ใช่วิธีที่ถูกต้องที่จะทำและไม่เร็วเลย

2
ฉันจะคำนวณระยะทางแมนฮัตตันด้วย PostGIS ได้อย่างไร
ฉันใช้ฟังก์ชัน ST_Distance เพื่อคำนวณระยะทางระหว่างรูปทรงเรขาคณิตสองแห่ง (สถานีรถไฟและอาคาร) เนื่องจากฉันรู้ว่าอาคารทุกหลังและสถานีรถไฟทั้งหมดอยู่ในชิคาโกซึ่งมีตารางถนนที่ยอดเยี่ยม / สมบูรณ์ฉันต้องการใช้แมนฮัตตัน (หรือรถแท็กซี่) ระยะทาง สูตรทั่วไปสำหรับสิ่งนี้คือความแตกต่างใน X บวกความแตกต่างใน Y ดังนั้น Abs (X1-X2) + Abs (Y1-Y2) แบบสอบถามใดของ PostgreSQL ที่จะใช้งานได้

1
คำนวณกราฟการมองเห็นบนทรงกลม
ฉันมีตาราง PostGIS พร้อมรูปหลายเหลี่ยม (จัดเก็บโดยใช้ชนิดข้อมูลภูมิศาสตร์) พวกเขาเป็นตัวแทนของภูมิภาคบนโลกทรงกลม สำหรับจุดยอดแต่ละคู่ที่เลือกจากรูปหลายเหลี่ยมทั้งหมดฉันต้องการคำนวณว่าจุดยอดสองจุดนั้นเป็น "มองเห็น" ซึ่งกันและกันหรือไม่ (มีn * ( n -1) / 2 คู่ดังกล่าวโดยที่nคือจำนวนจุดยอดรวมที่ไม่ซ้ำกันของรูปหลายเหลี่ยมทั้งหมดในตาราง) โดย "มองเห็นซึ่งกันและกัน" ฉันหมายความว่าเส้นทางวงกลมใหญ่ระหว่าง สองจุดยอดไม่ตัดรูปหลายเหลี่ยมใด ๆ ในตาราง วิธีที่เร็วที่สุดในการคำนวณคืออะไรโดยเฉพาะอย่างยิ่งใน PostgreSQL / PostGIS ฉันมีบางอย่างที่ใช้งานได้ แต่มันช้า ฉันเพียงแค่ทำซ้ำทุก ๆ คู่และดูว่า LineString ระหว่างพวกเขาตัดกันรูปหลายเหลี่ยมใด ๆ (ประเภทข้อมูลภูมิศาสตร์ของ PostGIS จัดการกับคณิตศาสตร์อย่างหนักทั้งหมดบนทรงกลมสำหรับฉัน) ดังนั้นฉันจึงสงสัยว่ามีโครงสร้างข้อมูลหรืออัลกอริทึมที่ชาญฉลาดที่อาจทำให้สิ่งต่าง ๆ เร็วขึ้น

2
ติดตั้ง PostGIS และ TIGER Data ใน Ubuntu 12.04
มีใครบางคนที่สามารถเขียนบทสรุปสั้น ๆ ได้จนทำให้คนงี่เง่าไม่พอใจที่จะติดตั้ง postgis และโหลดข้อมูล Tiger ระดับชาติบน Ubuntu ฉันได้ลองใช้แนวทางสองสามอย่างคือhttp://wiki.bitnami.com/@api/deki/pages/302/pdfแต่ฉันไม่มีโชคมาก ฉันขอโทษสำหรับลักษณะสิ้นสุดของคำถามนี้

2
มีซอฟต์แวร์การจัดการ GUI ที่รับรู้เชิงพื้นที่สำหรับ PostgreSQL / PostGIS คืออะไร
ประสบการณ์ส่วนใหญ่ของฉันกับ PostgreSQL นั้นเป็น pgAdminIII และ psql แต่ฉันสนใจที่จะรู้ว่าคนอื่นใช้อะไร มี PostgreSQL เทียบเท่ากับ SQL Server Management Studio (SSMS) และความสามารถในการแสดงผลในรูปแบบที่ จำกัด ผลลัพธ์ที่มีรูปทรงเรขาคณิต (ฟรีหรือจ่ายเงิน) หรือไม่ หรือคนส่วนใหญ่เพียงเรียกใช้ไคลเอนต์ GIS ที่ด้านข้างเพื่อจุดประสงค์นี้เนื่องจากคำถามนี้ดูเหมือนจะบ่งบอกถึง: เครื่องมือ GUI สำหรับ PostgreSQL / PostGIS ? ฉันดูในแคตตาล็อกซอฟต์แวร์ PostgreSQL แต่ฉันไม่พบสิ่งใด (นอกเหนือจากลิงก์ที่เสียหาย)

1
ประสิทธิภาพในการคำนวณสถิติแรสเตอร์ใน PostGIS
ฉันพยายามคำนวณสถิติแรสเตอร์ (ต่ำสุด, สูงสุด, ค่าเฉลี่ย) สำหรับแต่ละรูปหลายเหลี่ยมในเลเยอร์เวกเตอร์โดยใช้ PostgreSQL / PostGIS คำตอบ GIS.SE นี้อธิบายวิธีการทำเช่นนี้โดยการคำนวณจุดตัดระหว่างรูปหลายเหลี่ยมและแรสเตอร์แล้วคำนวณค่าเฉลี่ยถ่วงน้ำหนัก: https://gis.stackexchange.com/a/19858/12420 ฉันใช้ข้อความค้นหาต่อไปนี้ (ซึ่งdemเป็นแรสเตอร์topo_area_su_regionของฉันคือเวกเตอร์ของฉันและtoidเป็นรหัสเฉพาะ: SELECT toid, Min((gv).val) As MinElevation, Max((gv).val) As MaxElevation, Sum(ST_Area((gv).geom) * (gv).val) / Sum(ST_Area((gv).geom)) as MeanElevation FROM (SELECT toid, ST_Intersection(rast, geom) AS gv FROM topo_area_su_region,dem WHERE ST_Intersects(rast, geom)) foo GROUP BY toid ORDER BY toid; ใช้งานได้ แต่ช้าเกินไป …


3
PostGIS ข้อผิดพลาด: ไม่สามารถโหลดห้องสมุด“ /usr/lib/postgresql91/lib64/postgis-2.0.so”
ระบบปฏิบัติการคือ openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0 Postgre / PostGIS ถูกติดตั้งจาก Application: Geo repository หลังจากอัพเดตล่าสุดเมื่อฉันพยายามเชื่อมต่อกับฐานข้อมูลของฉันฉันได้รับข้อผิดพลาดต่อไปนี้: ERROR: could not load library "/usr/lib/postgresql91/lib64/postgis-2.0.so": /usr/lib/postgresql91/lib64/postgis-2.0.so: undefined symbol: pj_get_spheroid_defn ฉันค้นหาเว็บเพื่อหาข้อผิดพลาดนี้ ( hint-1 , hint-2 ) และดูเหมือนว่าอาจมีบางอย่างที่เกี่ยวข้องกับ ld.so.config (หรือคำสั่ง ldconfig) แต่ฉันไม่สามารถหาสิ่งที่ฉันต้องทำในกรณีของฉัน

2
การออกแบบที่ดีที่สุดสำหรับต้นแบบ Open Source Python / PostGIS
ฉันกำลังเขียนเว็บแอปพลิเคชั่นที่เน้นข้อมูลที่ส่งผ่าน apache คำถามของฉันเกี่ยวกับวิธีจัดการการประมวลผลที่ดีที่สุดเนื่องจากมีหลายตัวเลือก ฉันมี OpenLayers / JQuery / Javascript, PostGIS / Postgresql (พร้อม pgsql), python / psycopg2, php ฐานข้อมูลมีแถวประมาณ 3 ล้านแถวและต้นแบบปัจจุบันทำงานดังนี้: ผู้ใช้คลิกที่จุดบนหน้าต่าง OpenLayers พิกัดถูกส่งเป็นการร้องขอ AJAX ไปยังฟังก์ชัน python บนเซิร์ฟเวอร์ ขณะนี้ใบสมัครของฉันไม่มีสัญชาติ psycopg2 ของ Python ใช้เพื่อเรียกโพรซีเดอร์ที่เก็บไว้ pgsql และชุดค่า WKT ที่ยอดเยี่ยม (และฟิลด์ข้อมูล) จะถูกส่งกลับไปยังโมดูลหลาม ฟิลด์ข้อมูลใช้เพื่อจัดหมวดหมู่เรคคอร์ด WKT ในไพ ธ อนดังนี้: ค่า WKT ทั้งหมดถูกจัดหมวดหมู่เป็นหนึ่งใน 5 กลุ่ม ประมาณ …

1
วิธีดูแรสเตอร์ 155 MB ที่จัดเก็บใน PostGIS
ฉันใช้คำสั่งต่อไปนี้เพื่อโหลดแรสเตอร์ลงในฐานข้อมูล postgres: raster2pgsql -I -C -e -Y -F -s 3086 -I -C -M myraster.tif myraster -F -t 30x30 | psql -U postgres -d database -h localhost -p 5432 myraster.tifคือ 155M เมื่อฉันพยายามใช้ปลั๊กอินแรสเตอร์ใน QGIS มันใช้เวลาโหลดนานมาก (15-20 นาที) ฉันไม่แน่ใจว่ามีอะไรที่ฉันสามารถทำได้เพื่อเร่งความเร็วนี้หรือหากมีวิธีอื่นในการรับชม rasters ทั้งหมดที่ฉันต้องการจะทำคือการดูแรสเตอร์อย่างรวดเร็วและตรวจสอบว่าสอดคล้องกับข้อมูลเวกเตอร์ที่เก็บไว้ในฐานข้อมูล (ข้อมูลเวกเตอร์แสดงในทางตรงกันข้ามอย่างรวดเร็ว) ในขณะนี้ QGIS จะหยุดทำงานและเมื่อมันแสดงแรสเตอร์ เพียงแสดงสี่เหลี่ยมสีดำและเปลี่ยน colorcale เป็นไปไม่ได้เนื่องจากความจริงที่ว่าการโต้ตอบใด ๆ ทำให้โปรแกรมหยุดทำงาน ฉันไม่คุ้นเคยกับรายละเอียดปลีกย่อยที่เกี่ยวข้องกับการโหลดแรสเตอร์ดังนั้นอาจมีการตั้งค่าสถานะและอาร์กิวเมนต์ต่าง ๆ ที่ฉันควรใช้ …

1
ใช้ PostgreSQL กับ QGIS และ ArcGIS?
เป็นไปได้ไหมที่จะใช้ PostgreSQL กับ QGIS และ ArcGIS? ie หนึ่งฐานข้อมูลสำหรับไคลเอนต์ที่แตกต่างกัน มันเป็นอะไรที่ฉันกังวลหรือมีปัญหาใด ๆ ที่จะใช้ DBMS จากซอฟต์แวร์ที่แตกต่างกันสองอัน? ฉันรู้ว่าฉันต้องการ PostGIS และ ArcSDE และฉันไม่สามารถจัดการหรือเก็บข้อมูลแรสเตอร์ด้วย PostGIS 1.5 ใน PostgreSQL จาก QGIS คุณจะแนะนำอะไรหรือจะหลีกเลี่ยงอะไร

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