คำถามติดแท็ก postgis-2.0

PostGIS เวอร์ชัน 2.0 ได้นำส่วนขยายใหม่จำนวนมากมาใช้สำหรับฐานข้อมูลเชิงวัตถุเชิงสัมพันธ์ของ PostgreSQL ซึ่งเป็นการเพิ่มการสนับสนุนที่มากขึ้นสำหรับวัตถุเชิงพื้นที่

1
ข้อกำหนดการตั้งชื่อสำหรับฐานข้อมูล PostGIS หรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา เรากำลังเริ่มสร้างฐานข้อมูลด้วย PostGIS ฐานข้อมูลควรจะเป็นทีมงานวิจัยประมาณ 5-8 คนที่ทำงานกับ geodata และสถิติบ่อยครั้ง มีใครเคยมีประสบการณ์ในการตั้งชื่ออนุสัญญาเมื่อตั้งค่าฐานข้อมูลหรือไม่ สิ่งสำคัญบางอย่างที่ฉันคิดได้แล้วคือ: ใช้ตัวพิมพ์เล็กเท่านั้น use_underscores ไม่ใช่ช่องว่าง อย่าใช้อักขระพิเศษเช่นä, éเป็นต้น ใช้ภาษาเดียวเท่านั้น (อาจดูเล็กน้อย แต่เราเป็นสากล) ตารางชื่อและคอลัมน์ในเอกพจน์เสมอ หาวิธีที่ได้มาตรฐานในการตั้งชื่อวัตถุในฐานข้อมูลเช่น topic_year_source_format โดยเฉพาะอย่างยิ่งจุดสุดท้ายนั้นยุ่งยาก การจัดเก็บข้อมูลของฉันฉันรู้ว่าบางครั้งคุณจะได้รับชื่อมากมาย ดังนั้นจะเป็นการดีกว่าหรือไม่ที่จะเก็บข้อมูลนี้ไว้ในเมทาดาทาที่เข้าถึงได้ง่ายแทนที่จะสร้างชื่อขนาดใหญ่ที่น่ารำคาญ

3
ใช้ ST_Difference เพื่อลบคุณลักษณะที่ทับซ้อนกันหรือไม่
ฉันกำลังพยายามใช้ ST_Difference เพื่อสร้างชุดรูปหลายเหลี่ยม (การประมวลผล trimmedparcelsnew) ที่ไม่มีพื้นที่ใด ๆ ที่ครอบคลุมโดยรูปหลายเหลี่ยมชุดอื่น (test.single_geometry_1) โดยใช้ PostGis 2.1 (และ Postgres SQL 9.3) นี่คือคำถามของฉัน: CREATE TABLE processing.trimmedparcelsnew AS SELECT orig.id, ST_Difference(orig.geom, cont.geom) AS difference FROM test.single_geometry_1 cont, test.multi_geometry_1 orig; แต่รูปหลายเหลี่ยมที่เกิดขึ้นยังไม่ได้ถูกตัดแต่ง แต่ดูเหมือนว่าจะถูกแยกออกจากกันโดยที่พวกมันตัดกับเลเยอร์อื่น ฉันลองใช้ตัวเลือกโดยไม่ใส่ผลลัพธ์ลงในตารางและทุกอย่างอื่นที่ฉันสามารถนึกได้ แต่ดูเหมือนว่าฉันจะไม่สามารถใช้ฟังก์ชันนี้ได้ ฉันแนบรูปภาพผลลัพธ์แล้ว หลังจากความคิดเห็นฉันได้ลองเพิ่มส่วนคำสั่ง WHERE แล้ว ฉันต้องการพัสดุที่ไม่มีทางแยกและบริเวณที่ตัดกันของพัสดุอื่นถูกลบ (layer test.single_geometry แสดงถึงการปนเปื้อนที่ฉันต้องการลบออกจากพัสดุของฉัน) ฉันลองทางแยก แต่แน่นอนว่าฉันต้องการทางแยกที่ไม่ใช่จริงดังนั้นตอนนี้ฉันจึงลองแยกกัน ฉันได้ลองเพิ่มต้นกำเนิดลงในตารางของฉันแล้ว แต่เอกสารสำหรับ ST_Difference ( …

1
สร้างรูปหลายเหลี่ยมบนพื้นที่ที่เข้าถึงได้
ฉันกำลังทำงานในด้านของไอโซนีและอัลกอริธึมพื้นฐาน ตอนนี้สิ่งที่ทำให้เกิดปัญหาไม่ใช่การคำนวณถ้า isochrone ตัวเอง แต่การสร้างภาพของผลลัพธ์ ผลลัพธ์ของอัลกอริทึม isochrone ของฉันคือจุดและขอบ ในความเป็นจริงฉันมีวิธีแก้ปัญหาการทำงาน แต่สำหรับ 3873 edge และสำหรับ 1529 nodes สิ่งต่าง ๆ ดูเหมือนจะใช้ตลอดไป (ประมาณ 2.0 วินาทีบนแล็ปท็อป Lenovo T440 ของฉันซึ่งมี CPU Core i7 และ SSD ความเร็วสูง) แทนที่จะวินาทีฉันต้องการอะไรมากกว่าเช่น msec :-) บางทีใครบางคนสามารถช่วยฉันในการลดเวลาการคำนวณที่จำเป็นในการสร้างรูปหลายเหลี่ยมซึ่งมองเห็นพื้นที่ที่สามารถเข้าถึงได้ แต่รอ ... สิ่งแรกก่อน! นี่คือการมองเห็นของขอบที่ฉันเป็นผลการคำนวณของ isochrone ของฉัน: ขอบเหล่านี้จะถูกเก็บไว้ในตารางฐานข้อมูล PostGIS และเป็น linestrings ง่าย สิ่งที่ฉันต้องการแสดงต่อผู้ใช้มีลักษณะดังนี้: สังเกตบริเวณที่ไม่ได้เชื่อมต่อในทิศใต้และทิศตะวันออกของภาพ สิ่งเหล่านี้ควรวาดเป็นพื้นที่แยกต่างหาก (ดังนั้นจึงไม่อนุญาตการรวมที่นี่ :-)) …

1
Postgis 2.0 - มุมมอง public.geometry_columns ไม่มีข้อมูลที่ถูกต้องสำหรับมุมมอง
เราเพิ่งปรับปรุงฐานข้อมูลของเราเป็น Postgis 2.0 ในระบบของเราเราใช้ในการสร้างมุมมองสำหรับตารางที่มีคอลัมน์รูปทรงเรขาคณิต หลังจากสร้างมุมมองเรายังปรับปรุงตาราง geometry_columns ด้วยตนเองด้วยข้อมูลที่จำเป็น มุมมองใช้เพื่อสร้างเลเยอร์ Geoserver และฟีดข้อมูลสำหรับ ogr2ogr ปัญหาใน Postgis 2.0 คือตาราง geometry_columns ถูกแทนที่ด้วยมุมมองที่ดึงข้อมูลจากแคตตาล็อกระบบ ในกรณีของเราสำหรับมุมมองที่สร้างขึ้นเราจะไม่ดึงข้อมูลที่ถูกต้องในคอลัมน์ 'coord_dimension', 'srid' และ 'type' ข้อมูล : หลังจากการวิจัยบางอย่างฉันพบว่ามุมมอง geometry_columns กำลังใช้ตาราง pg_constraint เพื่อเติมคอลัมน์เหล่านั้น แต่สำหรับมุมมองนั้นไม่มีข้อ จำกัด ที่กำหนดไว้ ไม่มีใครมีความคิดใด ๆ ว่าเราจะแก้ไขปัญหานี้ได้อย่างไร? เราจะบังคับให้มุมมอง gemetry_columns ดึงข้อมูลที่จำเป็นได้อย่างไร มีวิธีแก้ปัญหาหรือวิธีอื่นในการทำเช่นนี้?

5
จะแบ่งถนน OSM ออกเป็นส่วน ๆ ได้ที่ทางแยกได้อย่างไร
ฉันต้องการสร้างเครือข่ายถนนสำหรับใช้กับ pgRouting โดยใช้ข้อมูล OpenStreetMap ฉันโหลด shapefile จาก GeoFabrik ลงในตาราง Postgres (โดยเปิดใช้งาน PostGIS) อย่างไรก็ตามปัญหาหนึ่งที่ฉันมีคือถนนมักจะไม่จบที่สี่แยกดังนั้นฉันจึงตัดสินใจแยกพวกเขาทุกครั้งที่สี่แยกหรือข้าม ในการระบุการแยกทั้งหมดที่ข้ามถนนหรือทางแยกฉันใช้สิ่งต่อไปนี้SQL(คล้ายกับคำถามก่อนหน้า ): CREATE TABLE split_points as SELECT DISTINCT ST_GeometryN(ST_Intersection(a.geom, b.geom),1) as geom FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom) OR ST_Crosses(a.geom, b.geom) AND a.gid != b.gid GROUP BY ST_Intersection(a.geom, b.geom); ตอนนี้ฉันต้องการแยกถนนโดยใช้จุดเหล่านี้ ฉันใช้วิธีการต่อไปนี้: CREATE TABLE …

4
กล่อง“ บริการ” ในกล่องโต้ตอบการเชื่อมต่อ PostGIS มีไว้เพื่ออะไร
บางคนสามารถอธิบายสิ่งที่ฉันต้องเขียนในกล่อง "บริการ" เมื่อเชื่อมต่อกับฐานข้อมูลท้องถิ่น ติดตั้ง QGIS Lisboa และ Postgres

1
PostGIS: วิธีผสานคุณสมบัติที่ต่อเนื่องกันซึ่งใช้ค่าคุณลักษณะเดียวกัน
ฉันมีตาราง PostGIS ขนาดใหญ่ที่จัดเก็บคุณสมบัติของเส้น ฉันต้องการรวมคุณสมบัติที่เชื่อมต่อซึ่งกันและกันและให้ค่าคุณลักษณะเหมือนกัน นี่คือตัวอย่างด้านล่างของสิ่งที่ฉันต้องการบรรลุ ฟีเจอร์ outmost (สีดำและสีน้ำเงิน) ไม่ได้ถูกผสานเพราะไม่มีที่อยู่ติดกันแม้ว่าค่าคุณลักษณะจะเหมือนกัน มีการรวมกันของคุณสมบัติสีเขียวและสีแดงเนื่องจากตรงกับเงื่อนไขทั้งสอง คุณสมบัติสีเหลืองถูกทิ้งไว้เหมือนเดิม คุณจะทำให้สำเร็จด้วยแบบสอบถาม SQL ได้อย่างไร

1
PostGIS [โทโปโลยี] มีเครื่องมือใดบ้างที่สามารถใช้ในการประกันคุณภาพข้อมูล
ฉันเรียนรู้เกี่ยวกับเทคนิคต่าง ๆ เพื่อรับรองคุณภาพข้อมูล GIS ฉันพบเอกสารสองสามฉบับเกี่ยวกับทฤษฎีและแนวทางปฏิบัติที่ดีที่สุด ( ที่นี่และที่นี่ ) และการนำเสนอสั้น ๆ เกี่ยวกับหัวข้อโดยใช้เครื่องมือ ESRI ( ที่นี่และที่นี่ ) ตัวอย่างเช่นแนวคิดของ "การยอมรับ" และ "ความแม่นยำ" ถูกกำหนดไว้ทั่วโลกใน ArcGIS (ฉันไม่รู้) และฉันคิดว่า Oracle ทั่วโลกจัดการแนวคิดเรื่อง "ความอดทน" ด้วยเช่นกัน ในทางกลับกันเท่าที่ฉันรู้ PostGIS จะไม่เปิดเผยรูปแบบความแม่นยำที่ผู้ใช้กำหนดเองซึ่งสนับสนุนโดย GEOS และใช้ความแม่นยำทั้งหมดของตัวเลขจุดลอยตัว ดังนั้นคำถามของฉันคือเครื่องมือ PostGIS [topology] ที่มีให้อาจใช้เพื่อประกันคุณภาพข้อมูลได้อย่างไร มีใครเคยสัมผัสกับหัวข้อนี้บ้างไหม? หรือบางทีฉันแค่เลือกเครื่องมือที่ผิดสำหรับเรื่องนี้

3
เหตุใดฟังก์ชันการกำหนดเส้นทาง pgr_ * จึงใช้งานตลอดไปโดยอ้างอิงจากข้อมูล OSM ในฐานข้อมูลที่เปิดใช้งาน pgrouting
ฉันโหลดชุดข้อมูล OSM ของเยอรมันลงใน pgrouting DB โดยใช้ osm2po 4.7.7 ทุกอย่างใช้งานได้ดีฉันมีการตั้งค่า osm2po ผ่านทางมันและมันทำงานเหมือนมีเสน่ห์ผ่านส่วนของ Java ฉันมีตาราง * _2po_4pgr ที่นำเข้าโดยไม่มีปัญหาใด ๆ แม้แต่ตาราง * 2po_v ก็ถูกนำเข้าแม้ว่าฉันจะไม่เข้าใจความสัมพันธ์ทั้งหมดของตารางนี้ ฉันเรียกใช้ฟังก์ชัน pgr_createTopology ซึ่งใช้เวลาสักครู่ (12000secs) ในขณะที่คำนวณขอบ 6m ทั้งหมด ฉันคิดว่านี่จะทำข้อตกลง แต่ก็ยังช้าไปไม่ได้ ฉันอยากจะรู้ว่าฉันลืมบางสิ่งบางอย่าง ฉันกำลังคิดที่จะใช้ pgRouting แทนที่จะเป็นไลบรารี java แต่ในขณะนี้ประสิทธิภาพของมันฉลาดกว่าการเปรียบเทียบ

3
การสแนปเริ่มต้นและสิ้นสุดโหนดของบรรทัดไปยังบรรทัดอื่น ๆ ใน PostGIS
มีตัวอย่างมากมายที่แสดงวิธีการจัดเรียงบรรทัดไปยังจุด แต่ฉันไม่สามารถหาวิธีใด ๆ (เร็ว!) ของการหักล้างจุดเริ่มต้นและจุดสิ้นสุดของสายสตริงไปยังโหนดของสายอื่น ๆ โดยพื้นฐานแล้วฉันต้องการ "ล้าง" เลเยอร์ของฉันใน postgis (2.0) ย้ายจุดที่คล้ายกันมารวมกันและตัดเย็บช่องเล็ก ๆ ระหว่างสตริงบรรทัด มันจะไม่สำคัญมากนักถ้าฉันเพิ่มโหนดอื่นย้ายโหนดแรก / โหนดสุดท้ายของทั้งสองบรรทัดหรือย้ายจุดทั้งสองไปที่ศูนย์กลาง ฉันพบสองตัวเลือก แต่ฉันไม่แน่ใจว่าจะเริ่มต้นอย่างไรกับตัวเลือกใดตัวเลือกหนึ่ง: ใช้โทโพโลยี: http://lists.osgeo.org/pipermail/postgis-users/2012-May/034024.html สายระเบิด, โหนดสแน็ป, รวมโหนด http://www.mail-archive.com/postgis-users@lists.osgeo.org/msg00174.html ตัวเลือกที่สองเป็นไปได้ แต่ความช่วยเหลือใด ๆ เกี่ยวกับวิธีการปฏิบัติตามวิธีนี้จะได้รับการชื่นชมอย่างมาก

3
วิธีค้นหาค่า lat / lon สำหรับทุกพิกเซลในไฟล์ GeoTIFF
ฉันต้องการเก็บไฟล์ GeoTIFF พิกเซลเป็นพิกเซลในฐานข้อมูล ฉันต้องการเก็บค่าพิกเซลพร้อมกับ lat / lon ของพิกเซลนั้นในภาพ GeoTIFF เป็นไปได้ไหมที่จะทำเช่นนั้น?

2
บังคับใช้ SRID ในมุมมองใน Postgis 2.0
ฉันมีปัญหาที่ยุ่งยากมาก: ฉันมีฐานข้อมูล Postgis 2.0 ใช้เป็นที่เก็บข้อมูลสำหรับ Geoserver 2.1.3 ฉันมีตารางที่มีคอลัมน์รูปทรงเรขาคณิต (ชื่อรูปร่าง) ด้วย SRID 4326 ฉันได้สร้างมุมมองเช่นนี้: CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events จากนั้นฉันก็เผยแพร่มุมมองโดยใช้ geoserver ทุกอย่างทำงานได้ยกเว้นการร้องขอ GetFeatureInfo ที่ล้มเหลวด้วยข้อผิดพลาด 'การดำเนินการกับรูปแบบ SRID ผสมแบบง่าย select * from geometry_columns ส่งคืนว่า SRID ของ pippo.geom เป็น 0 (แต่ควรเป็น 4326) ฉันพยายามด้วยคำจำกัดความนี้สำหรับมุมมอง CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.