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

PostGIS เป็นส่วนเสริมสำหรับฐานข้อมูลเชิงสัมพันธ์เชิงวัตถุของ PostgreSQL ที่เพิ่มการรองรับวัตถุทางภูมิศาสตร์

3
การระบุทางแยกถนนโดยใช้ PostGIS
ฉันพยายามระบุว่าถนนตัดกันซึ่งกันและกันและหาจุดที่สี่แยกนี้ด้วยจำนวนถนนที่เป็นจุดตัดของรายการ ฉันสงสัยว่ามีวิธีการใช้ST_NumPointsเพื่อให้บรรลุสิ่งนี้หรือไม่ แต่ฉันไม่สามารถเข้าใจได้ว่าฉันควรทำอะไร สิ่งที่ฉันทำคือการสร้างตารางคะแนนที่เส้นตัดกันโดยใช้รหัสต่อไปนี้: CREATE TABLE test_points as SELECT ST_Intersection(a.geom, b.geom), a.gid FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom); หากฉันเรียกใช้สิ่งนี้บนถนนตัวอย่างฉันจะได้รับตารางคะแนนต่อไปนี้ (ถนนจะแสดงเพื่อเป็นภาพประกอบ): หากฉันตรวจสอบจุดใดจุดหนึ่งฉันเห็นว่ามีหลายจุดซ้อนกันอยู่ด้านบนของกันและกัน: GID ที่นี่เป็นรหัสถนน แต่ฉันไม่เข้าใจว่าทำไมมีหลายจุด ฉันสามารถเข้าใจ 4 คะแนนที่นับเป็นจุดตัดถนนกลาง แต่มี 12 จุดที่ระบุไว้ที่นี่ มีวิธีที่ดีกว่าในการคำนวณใน PostGIS หรือไม่

3
การแสดงรูปร่างของไฟล์ 3 มิติด้วย Mapserver และ Postgis
ฉันสงสัยว่ามีวิธีในการมองเห็นข้อมูล 3 มิติด้วย mapserver หรือไม่? ไฟล์ 3D .shp อยู่ในฐานข้อมูล postgis และฉันได้เชื่อมต่อ mapserver กับฐานข้อมูลแล้ว แต่มีเลเยอร์เรียบง่ายใน mapfile
17 postgis  mapserver  3d 

2
วิธีการนำเข้ารูปแบบฐานข้อมูล ESRI Geodatabase .gdb ลงใน PostGIS
ฉันพบปัญหาเมื่อโหลดรูปแบบ ESRI Geodatabase .gdb ลงใน PostGIS ฉันมีไฟล์ข้อมูล 2.5GB GDB ฉันติดตามบทเรียนบางอย่างบนอินเทอร์เน็ต แต่ดูเหมือนว่าไม่ได้ผล ฉันสร้างฐานข้อมูล "SampleNY" ฉันทำสิ่งนี้จากคอนโซล: ogr2ogr -f "PostgreSQL" PG: "dbname = SampleNY user = postgres" NYPluto / Pluto.gdb แต่ไม่มีอะไรเกิดขึ้นฉันไม่ได้มีข้อผิดพลาดหรือการดำเนินการที่ประสบความสำเร็จ ฉันพลาดขั้นตอนใดบ้าง

3
การเพิ่ม GeoPandas Dataframe ไปยังตาราง PostGIS?
ฉันมี GeoPandas Dataframe ง่าย ๆ : ฉันต้องการอัปโหลด GeoDataframe นี้ไปยังตาราง PostGIS ฉันมีการตั้งค่าฐานข้อมูลพร้อมส่วนขยาย PostGIS แล้ว แต่ไม่สามารถเพิ่ม Dataframe นี้เป็นตารางได้ ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: engine = <> meta = MetaData(engine) eld_test = Table('eld_test', meta, Column('id', Integer, primary_key=True), Column('key_comb_drvr', Text), Column('geometry', Geometry('Point', srid=4326))) eld_test.create(engine) conn = engine.connect() conn.execute(eld_test.insert(), df.to_dict('records'))

2
นับคะแนนในรูปหลายเหลี่ยมด้วย Postgis
ฉันมีปัญหาง่ายๆ: ฉันต้องการนับจำนวนคะแนนภายในชุดรูปหลายเหลี่ยม ฉันมี SQL อยู่แล้ว แต่เพียงคืนค่า gid ของรูปหลายเหลี่ยมที่มีคะแนนอยู่จริง ตารางของฉัน: ชั้นรูปหลายเหลี่ยมที่มี 19,000 แถวและชั้นจุดที่มี 450 แถว SQL ต่อไปนี้ select grid.gid, count(*) AS totale FROM grid, kioskdhd3 WHERE st_contains(grid.geom,kioskdhd3.geom) GROUP BY grid.gid; ส่งคืนเฉพาะรูปหลายเหลี่ยม 320 รูปที่มีคะแนน แต่ฉันต้องการให้รูปหลายเหลี่ยมคืนทั้งหมดแม้จะคิดว่าจำนวนคะแนนเป็น 0 แน่นอนว่ามันเกี่ยวข้องกับ WHERE-clause ของฉันด้วย ฉันต้องใส่ st_contain ของฉันที่ไหน? ขอบคุณ Carsten

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

3
วิธีเพิ่มความเร็วการสืบค้นสำหรับฐานข้อมูลแรสเตอร์?
ฉันมีฐานข้อมูลแรสเตอร์ใน postgresql / postgis ด้วยคอลัมน์เหล่านี้: (ID, Rast, data_of_data) 'rast'คือคอลัมน์ที่มีไฟล์แรสเตอร์ในรูปแบบ WKT ตัวอย่างแบบสอบถามเพื่อค้นหาค่า DN ของจุดในระบบ WGS84 (30.424, -1.66) และสำหรับ 2002-01-09 มีดังต่อไปนี้: SELECT st_value(rast,(st_GeomFromText('POINT(30.424 -1.66)', 4326))) as val FROM my_table WHERE date_of_data='2002-01-09' มีวิธี (เช่นดัชนีเชิงพื้นที่) เพื่อเพิ่มความเร็วของคำค้นหาเหล่านั้นหรือไม่

6
ติดตั้ง PostGIS บน Windows ได้อย่างไร
ฉันต้องการสร้างแพลตฟอร์มแอปพลิเคชันตามข้อมูล PostGIS ฉันอ่านเอกสารที่ฉันเห็นข้อกำหนดเบื้องต้นเพื่อติดตั้ง GEOS, GDAL และ Proj4 ปัญหาหลักคือฉันใช้แพลตฟอร์ม windows ใครสามารถดูฉันที่ฉันสามารถรับเอกสารเต็มรูปแบบในการติดตั้ง PostGIS, GDAL, GEOS, Proj4 บน windows พร้อมห้องสมุดทั้งหมดของพวกเขา หรือเป็นไปได้ไหมที่จะติดตั้งไลบรารี่ทั้งหมดบน windows?

4
เว็บไซต์ที่มีโปรไฟล์ระดับสูงคืออะไรที่ใช้ OpenLayers และ PostGIS
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันคิดว่ามีข้อโต้แย้งที่น่าเชื่อถือมากมายสำหรับการใช้ PostGIS แต่ฉันสนใจที่จะแสดงตัวอย่างบุคคลของเว็บไซต์ที่ใช้ PostGIS และ OpenLayers ตัวอย่างที่ฉันได้เห็นคือ: foursquare CartoDB Vizzuality (ตัวอย่างมากมาย) WalkScore (เท่าที่ฉันสามารถบอกได้) มีตัวอย่างอื่นที่แสดงตัวอย่างที่ดีของชุดค่าผสมนี้หรือไม่ ฉันไม่แน่ใจว่ามีเว็บไซต์ใดที่ฉันอยู่ในรายการกำลังใช้ OpenLayers เป็นส่วนสำคัญของการทำงานของพวกเขา แต่ฉันเชื่อว่าพวกเขาทั้งหมดใช้ PostGIS

6
ค้นหาโหนดหลอกในซอฟต์แวร์ GIS ฟรีหรือไม่
ซอฟต์แวร์ gvSIG OA Digital Edition 2010 มีเครื่องมือในการค้นหาโหนดหลอกในเรขาคณิตเชิงเส้น ฉันตั้งค่าความคลาดเคลื่อนที่ยอมรับได้ของคลัสเตอร์ 0.00002 และจำนวนข้อผิดพลาดสูงสุด -10000 สำหรับการเชื่อมโยงเชิงเส้นนับ 20,000 เรขาคณิต แต่ผลลัพธ์ไม่สำเร็จ มีวิธีแก้ไขปัญหาใดบ้างที่ค้นหาโหนดปลอมในซอฟต์แวร์ GIS ฟรี ฉันต้องการเลเยอร์โหนด pseudo (วิธีหนึ่งในการแก้ไขปัญหานี้ - เพื่อใช้ทอพอโลยีเครื่องมือของ ArcInfo แต่สิ่งสำคัญสำหรับฉันคือการใช้ซอฟต์แวร์ฟรี) เรขาคณิตเชิงเส้นสร้างผู้ใช้หลายคนใน QGIS 1.8.0 ในฐานข้อมูล PostGIS (v. 2.0.1) เพิ่มภาพใหม่: คุณลักษณะเชิงเส้น 12 คุณลักษณะพร้อมโหนดหลอกสามรายการใน A (บรรทัด 4/5), B (บรรทัด 6/7), C (บรรทัด 9/10) โหนดเทียมควรเป็นจุดแทน - คุณลักษณะเชิงเส้นสองจุดพร้อมจุดตัดในจุดเดียว (โหนด) ควรเป็นลักษณะเชิงเส้นเดียว …

2
คุณจะปกป้องข้อมูลรับรอง PostGIS ของคุณได้อย่างไรเมื่อใช้ QGIS 1.7
ฉันค่อนข้างแน่ใจว่านี่ควรเป็นวิกิของชุมชน แต่ฉันไม่รู้ว่าจะทำอย่างไร ดังนั้นหากผู้ดูแลระบบเห็นสิ่งนี้โปรดเปลี่ยนตามความเหมาะสม ดังนั้น ... คุณจะปกป้องข้อมูลฐานข้อมูล PostGIS ของคุณได้อย่างไรเมื่อใช้ QGIS 1.7 (ฉันใช้ QGIS 1.7 และ PostGIS 1.5) เหตุผลที่ฉันถามคือฉันเปิดไฟล์โครงการ QGIS ใน notepad ++ เพื่อเปลี่ยนค่าโฮสต์ในสตริงแหล่งข้อมูลของฉันเนื่องจากเราเพิ่งเปลี่ยนชื่อเซิร์ฟเวอร์ เมื่อฉันแก้ไขไฟล์โครงการใน notepad ++ ฉันเห็นข้อความธรรมดาเป็นวันที่ชื่อผู้ใช้และรหัสผ่านไปยังฐานข้อมูลตามที่แสดงด้านล่าง <datasource>dbname='spatialdb' host=gis port=9999 user='generaluser' password='gisv13wer' sslmode=disable key='gid' table="gisprod"."aq_pipeline" (the_geom) sql=</datasource> สิ่งนี้ดูเหมือนจะเป็นดาบสองคมเพราะฉันชอบความจริงที่ว่าฉันสามารถแก้ไขค่าโฮสต์ในสตริงแหล่งข้อมูลของฉันได้อย่างง่ายดายดังนั้นฉันจึงไม่สูญเสียโครงการของฉัน แต่ฉันไม่สบายใจกับข้อเท็จจริงที่ว่าข้อมูลรับรองฐานข้อมูลนั้น นั่งอยู่ที่นั่นโดยไม่เข้ารหัสและให้โลกได้เห็นเพื่อพูด ในกรณีที่เกิดขึ้นฉันได้วางไฟล์โครงการทั้งหมดของฉันซึ่งใช้บัญชีผู้ดูแลระบบของฉันลงในโฟลเดอร์ซึ่งตอนนี้ฉันเท่านั้นที่สามารถเข้าถึงได้ แต่ฉันไม่คิดว่านี่จะเหมาะ ในฐานะผู้ดูแลระบบ GIS ฉันมีความรับผิดชอบต่อความสมบูรณ์ของฐานข้อมูลเชิงพื้นที่และฉันกังวลว่าฉันได้เปิดเผยฐานข้อมูลทั้งหมดของฉันให้กับทุกคนที่อยากรู้อยากเห็นพอที่จะเข้ามาฉันรู้สึกแย่มากเมื่อฉันประเมิน QGIS ดังนั้นคุณจะจัดการความเสี่ยงนี้อย่างไรถ้าคุณอยู่ในสถานการณ์ที่คล้ายคลึงกัน? ความเป็นไปได้ของฉันนั้นดีพอสำหรับสภาพแวดล้อมการผลิตหรือฉันควรที่จะใช้คุณสมบัติ QGIS เพื่อแก้ไขปัญหาหรือไม่

3
แปลง MultiLinestring เป็น Linestring ด้วย PostGIS หรือไม่
ฉันมีสตริงหลายบรรทัดและต้องการแปลงเป็น linestring เพื่อใช้ฟังก์ชันบางอย่างที่ทำงานกับ linestrings เท่านั้น ฉันใช้ST_Dump()และได้รับรูปทรงเรขาคณิตของฉัน ถ้าฉันรวมพวกมันกลับมารวมกันฉันก็ยังได้ multilinestring ฉันควรหาจุดรวมและรวมเข้าด้วยกันหรือบางสิ่งเพื่อที่จะจบลงด้วยการใช้พลังงานแบบง่ายหรือไม่? ST_LineMerge()ยังใช้งานไม่ได้กับ multilinestring ของฉันมันกลับมาเหมือนเดิม ตัวอย่างของฉัน MULTILINESTRING ((- 3.16420835153456 55.9269166007097, -3.164222 55.926918), (- 55.9269296196706 3.1642070167833, -3.16421351659546 55.9268662214904), (- 3.16421351659546 55.9268662214904, -3.16421636372824 55.9268384509897), (- 3.16421636372824 55.9268384509897, -3.16422182573761 55.9267851753802), (- 3.16422182573761 55.9267851753802, -3.16422870102352 55.926718114886 ), (- 3.16422870102352 55.926718114886, -3.16423309121073 55.926675293667), (- 3.16423309121073 55.926675293667, -3.16423565148822 55.9266503211093), …
16 postgis  sql 

1
มีฟังก์ชั่น PostGIS ในการพิจารณาว่า linestring ตัดกันหรือไม่?
ฉันกำลังมองหาฟังก์ชั่นที่สามารถบอกฉันได้ว่า LineString ตัดกันหรือไม่ ฉันได้ลองโทรst_intersectsด้วย LineString เดียวกันสองครั้ง แต่ linestrings ที่เหมือนกันชัดเจนจะตัดกัน แผนของฉันถ้าไม่มีฟังก์ชั่นจะได้รับคะแนนทั้งหมดในสตริงบรรทัดและสร้างการคืนค่าแต่ละรายการจากนั้นตรวจสอบการเชื่อมต่อใหม่แต่ละรายการต่อกันด้วย st_intersects ฉันไม่ต้องการให้มันมาถึงที่นี่ แต่ฉันกลัวว่ามันจะ ดังนั้นจะมีฟังก์ชั่น PostGIS สำหรับตรวจสอบว่า linestring ตัดกันตัวเองหรือไม่? มันควรจะคล้ายกับการค้นหาว่ารูปหลายเหลี่ยมนั้นซับซ้อนหรือไม่
16 postgis 


1
การระบุความสัมพันธ์ทอพอโลยีโดยใช้ PostGIS
ฉันกำลังพยายามวิเคราะห์แบบอักษรพื้นฐานโดยใช้ PostGIS จุดประสงค์ของฉันคือการค้นหารูปหลายเหลี่ยมที่สัมผัสรูปหลายเหลี่ยมอื่น ๆ เมื่อต้องการทำเช่นนี้ฉันคิดว่าST_GetFaceEdgesจะทำงานได้ ( อ้างอิง ) ฉันต้องการตรวจสอบทุกรูปหลายเหลี่ยมในฐานข้อมูลของฉันและรายการรูปหลายเหลี่ยมอื่น ๆ ทั้งหมดที่สัมผัส ในภาพด้านล่างฉันคาดหวังว่าผลลัพธ์จะบอกว่ารูปหลายเหลี่ยมสองอัน (ซึ่งเป็นอาคาร) แตะหนึ่งอาคารและผลลัพธ์ของอีก 4 รูปกล่าวว่าพวกเขาแตะ 0 รูปหลายเหลี่ยม อย่างไรก็ตามฉันมีปัญหาในการทำความเข้าใจว่าจะทำอย่างไร เมื่อฉันพยายามคัดลอกตัวอย่างมีบางส่วนที่ฉันไม่เข้าใจ -- Returns the sequence, edge id -- , and geometry of the edges that bound face 1 -- If you just need geom and seq, can use ST_GetFaceGeometry SELECT t.seq, …
16 postgis  sql  topology 

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