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

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

12
เรียกใช้สร้างส่วนขยาย postgis ให้ ERROR ไม่สามารถเปิดไฟล์ควบคุมส่วนขยายได้หรือไม่
ฉันได้ติดตั้ง PostgreSQL 9.x และ PostGIS 1.5 / 2.0 หลายครั้งและไม่เคยมีปัญหานี้ ฉันเพิ่งได้รับ CentOS 6.3 เซิร์ฟเวอร์ใหม่และทำงานและฉันมี Postgres 9.3 ทำงานตามที่คาดไว้ ฉันวิ่งแล้ว yum install postgis2_93 และฉันสามารถดูไฟล์ใน /usr/pgsql-9.3/share/contrib/ อย่างไรก็ตามเมื่อฉันวิ่ง CREATE EXTENSION postgis; ฉันได้รับ ERROR: could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory บทช่วยสอน ( # 1 , # 2 ) ฉันเคยใช้ไม่แสดงขั้นตอนใด ๆ …

1
ปัญหาเพื่อนบ้านที่ใกล้ที่สุดใน Postgis 2.0 โดยใช้ GIST ดัชนี (<-> ฟังก์ชั่น)
ฉันพยายามใช้ฟังก์ชันใหม่ของ Postgis 2.0 &lt;-&gt; (Geometry Distance Centroid) เพื่อคำนวณสำหรับแต่ละแถวของตาราง (cosn1) ระยะทางของรูปหลายเหลี่ยมที่ใกล้เคียงที่สุดของชั้นเดียวกัน ฉันพยายามใช้รหัสต่อไปนี้: WITH index_query AS ( SELECT g1.gid As ref_gid, ST_Distance(g1.the_geom,g2.the_geom) As ENN FROM "cosn1" As g1, "cosn1" As g2 WHERE g1.gid &lt;&gt; g2.gid AND g1.class = g2.class ORDER BY g1.gid, g1.the_geom &lt;-&gt; g2.the_geom) SELECT DISTINCT ON (ref_gid) ref_gid, ENN FROM …

2
หน่วยที่ใช้ใน ST_Distance () คืออะไร
ST_Distanceฉันสงสัยว่าหน่วยเป็นของลอยที่ถูกส่งกลับมาจาก ในเอกสารอธิบายว่า: ... ระยะทางขั้นต่ำของคาร์ทีเซียน (ขึ้นอยู่กับการอ้างอิงเชิงพื้นที่) ระหว่างรูปทรงเรขาคณิตทั้งสองในหน่วยที่คาดการณ์ไว้ หน่วยที่คาดการณ์เหล่านี้คืออะไร? รูปทรงเรขาคณิตถูกเก็บไว้ในเขตข้อมูล: geometry(Point,4326).

1
เข้าร่วมเลเยอร์กับองค์ประกอบที่เกี่ยวข้องกับ PostGIS Topology
ขณะนี้ฉันใช้ส่วนขยายโทโพโลยีของ PostGIS แต่ฉันมีปัญหาในการทำความเข้าใจว่าโครงสร้างทำงานอย่างไร: หนึ่งในประเด็นสำคัญคือการใช้ "เลเยอร์" s: สิ่งที่ฉันเข้าใจคุณลักษณะคุณลักษณะควรเก็บไว้ในตารางจากสคีโครงสร้างของโทโพโลยี (หนึ่งชื่อtopo_actualname) และลงทะเบียนเป็นเลเยอร์ของโทโพโลยีAddTopoGeometryColumnนั้น แต่มีวิธีง่าย ๆ ที่จะเข้าร่วมแอตทริบิวต์ (เก็บไว้ในตารางชั้น) ที่มีคุณสมบัติตามลำดับ (องค์ประกอบในnode, faceหรือedge_data)? ตอนนี้สิ่งที่ฉันทำคือ: SELECT whatever FROM layer_tb l JOIN topo_topologyname.edge_data e ON (l.topo).id=edge_id; แต่ฉันคิดว่าlayerแนวคิดทั้งหมดนั้นค่อนข้างไร้ประโยชน์ถ้าฉันต้องรู้ทั้งชื่อสคีโทโพโลยีและเลเยอร์ชื่อเพื่อรับข้อมูลที่ฉันต้องการ ในความเป็นจริงฉันคิดว่าฉันเข้าใจว่าtopoคอลัมน์บนเลเยอร์มีข้อมูลเพียงพอที่จะรู้ว่าโทโพโลยีนั้นเกี่ยวข้องกันที่ไหนและยิ่งกว่านั้นtopologyสคีมาก็เก็บการอ้างอิงไปยังแต่ละตารางเลเยอร์สำหรับแต่ละโทโพโลยี มีวิธีสั้น ๆ / ง่าย / เหมาะสมในการเข้าร่วมข้อมูลด้วยกันไหม? ฉันกำลังมองหาบางอย่างในฟังก์ชั่นการขยายโทโพโลยีแต่ไม่พบสิ่งที่มีประโยชน์

2
เผยแพร่ PostGIS Rasters ใน GeoServer?
ฉันจะเผยแพร่ PostGIS rasters โดยใช้ GeoServer ได้อย่างไร ฉันใช้เวลามากมายในการพยายามสร้างแหล่งข้อมูล Raster โดยใช้ Image Mosaic JDBC แต่ไม่มีโชค ขั้นตอนที่ดำเนินการ: 1. ดาวน์โหลดและติดตั้งส่วนขยาย JDBC Image Mosaic (ทำงานได้ดี) 2. สร้างไฟล์ "พารามิเตอร์การเชื่อมต่อ": connect.postgis.xml.inc: &lt;connect&gt; &lt;dstype value="DBCP"/&gt; &lt;username value="postgres" /&gt; &lt;password value="password" /&gt; &lt;jdbcUrl value="jdbc:postgresql://localhost:5432/db1" /&gt; &lt;driverClassName value="org.postgresql.Driver"/&gt; &lt;maxActive value="10"/&gt; &lt;maxIdle value="0"/&gt; &lt;/connect&gt; mapping.postgis.xml.inc: &lt;spatialExtension name="postgis"/&gt; &lt;mapping&gt; &lt;masterTable name="mosaic" &gt; …

1
การเปรียบเทียบโซลูชันการเข้ารหัสภูมิศาสตร์ (เช่น Gisgraphy & PostGIS 2.0) [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว เนื่องจากผมมั่นใจว่าพวกคุณหลายคนทราบดีว่า PostGIS ได้เปิดตัวเวอร์ชัน 2.0 ในที่สุดและรวมอยู่ในรุ่นนี้พวกเขายังได้สร้าง geocoder (ดู: http://postgis.net/docs/Extras.html ) แม้ว่าฉันจะรู้ว่า V2 เพิ่งเปิดตัว แต่ฉันอยากรู้ว่าใครมีโอกาสเปรียบเทียบโซลูชันโอเพนซอร์สอื่น ๆ เช่น gisgraphy.com ฉันสนใจที่จะเข้าใจความแตกต่างในแง่ของความเร็วคุณสมบัติ / ตัวเลือกความถูกต้องและความง่ายในการใช้ชุดข้อมูลของตัวเอง

3
ความแม่นยำของ SELECT DISTINCT บนคอลัมน์เรขาคณิตของ PostGIS คืออะไร
ฉันสงสัยว่าความแม่นยำของSELECT DISTINCTผู้ปฏิบัติงานบนเรขาคณิตของ PostGIS เป็นอย่างไร ในระบบของฉันเคียวรีต่อไปนี้ให้ฉันนับ 5 ซึ่งหมายความว่าจุดแทรกจะถือว่าเท่ากันถ้าแตกต่างกันน้อยกว่า 1e-5 และฉันไม่แน่ใจว่าเป็นคุณลักษณะของ PostGIS ปัญหาการติดตั้งของฉัน หรือบั๊ก ไม่มีใครรู้ว่านั่นเป็นพฤติกรรมที่คาดหวังหรือไม่? CREATE TEMP TABLE test (geom geometry); INSERT INTO test VALUES (St_GeomFromText('POINT (0.1 0.1)')), (St_GeomFromText('POINT (0.001 0.001)')), (St_GeomFromText('POINT (0.0001 0.0001)')), (St_GeomFromText('POINT (0.00001 0.00001)')), (St_GeomFromText('POINT (0.000001 0.000001)')), (St_GeomFromText('POINT (0.0000001 0.0000001)')), (St_GeomFromText('POINT (0.00000001 0.00000001)')), (St_GeomFromText('POINT (0.000000001 0.000000001)')); SELECT COUNT(*) FROM …

1
เราสามารถสร้างมุมมองผ่านตารางแรสเตอร์ใน Postgis2.0 ได้ไหม?
เป็นไปได้ไหมที่จะสร้างมุมมอง PostgreSQL บนตารางที่มีข้อมูลแบบแรสเตอร์? ฉันประสบความสำเร็จในการสร้างมุมมอง แต่รายการraster_columnsไม่ถูกต้อง (ข้อมูล raster ทั้งหมดหายไป) นอกจากนี้ฉันไม่สามารถเปิดมุมมอง SQL โดยใช้ QGIS (ส่วนใหญ่อาจเป็นเพราะ raster_columns ไม่ถูกต้อง) มันเป็นสถานการณ์เดียวกันกับคำถามนี้ที่gemetry_columns &amp; viewsแต่สำหรับคอลัมน์แรสเตอร์ฉันไม่สามารถหาไวยากรณ์ที่ถูกต้องเพื่อบังคับ typemod ในระหว่างการสร้างมุมมอง ทั้งหมดที่ฉันสามารถหาได้คือ: แรสเตอร์ (ARRAY ['8BUI', '8BUI', '8BUI'], 4326,0.5, -0.5, ... ); แต่สิ่งที่ตามมาหลังจาก "... " เป็นเรื่องลึกลับ มีใครจัดการเพื่อสร้างมุมมองที่มีรายการที่ถูกต้องใน raster_columns? ตัวอย่างสั้น ๆ จะได้รับการชื่นชมอย่างมาก

3
การโหลดแรสเตอร์ลงในฐานข้อมูล PostGIS 2.0 บน Windows
ฉันพยายามหาวิธีโหลดแรสเตอร์ลงในฐานข้อมูล PostGIS2.0 (ฉันได้ถามคำถามก่อนหน้านี้ในหัวข้อนี้ที่นี่และที่นี่ ) ฉันกำลังพยายามใช้raster2pgsql.exeโปรแกรมที่ให้มาพร้อมกับ PostGIS2.0 หลังจากทราบว่าต้องใช้พรอมต์คำสั่งใน windows ในฐานะผู้ดูแลระบบ (ใน Windows 7 เพื่อเรียกใช้บรรทัดคำสั่งในฐานะผู้ดูแลระบบให้พิมพ์cmdลงในแถบค้นหาแล้วกดctrl+ shift+ enter) เพื่อเปิดใช้raster2pgsql.exeงานฟังก์ชันที่ฉันจัดการ โหลดแรสเตอร์ลงในฐานข้อมูลของฉัน ฉันมีไฟล์แรสเตอร์เรียกras_test.tifว่าฉันวางไว้ชั่วคราวในbinโฟลเดอร์ของpostgresqlการติดตั้งของฉัน ใช้รหัสต่อไปนี้ฉันแปลงและโหลดแรสเตอร์นี้: C:\Program Files (x86)\PostgreSQL\9.1\bin&gt;raster2pgsql -s 102003 ras_test.tif -t&gt; elev.sql Processing 1/1: ras_test.tif C:\Program Files (x86)\PostgreSQL\9.1\bin&gt;psql.exe -p 5434 -U postgres -d test2 -f elev.sql BEGIN psql:elev.sql:2: NOTICE: CREATE TABLE will create implicit sequence …

3
เพิ่มฟังก์ชัน Spatial ของ PostGIS ให้กับสคีมาที่กำหนดเองนอกเหนือจาก“ สาธารณะ” ใน PostgreSQL
เมื่อเร็ว ๆ นี้ฉันสร้างฐานข้อมูล PostGIS 2.0.3 บนเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL 9.1 โดยใช้ pgAdmin พบส่วนขยาย "PostGIS" ที่ติดตั้งใน "ส่วนขยาย" ฟังก์ชันเชิงพื้นที่อัลถูกเพิ่มเข้าไปในสคีมา "สาธารณะ" ไม่เป็นไร. ตอนนี้ฉันต้องการเก็บข้อมูลทั้งหมดของฉันลงในรูปแบบใหม่ที่เรียกว่า "gc" อย่างไรก็ตามฉันจะสร้างฟังก์ชั่นอวกาศทั้งหมดใน schema "gc" นั้นได้อย่างไร ไม่มีฟังก์ชั่นเดียวในสคีมา อย่างไรก็ตามเมื่อฉันพยายามที่จะนำเข้า / ใหม่คลาสฟีเจอร์จาก ESRI ArcCatalog 10.1 ไปที่สคีมามันก็ใช้ได้! คลาสคุณสมบัติสามารถนำเข้าและแสดงใน QGIS ใครช่วยบอกเคล็ดลับหรือความคิดเกี่ยวกับมันให้ฉันได้บ้าง ฉันยังใหม่กับ PostgreSQL และ PostGIS

3
การตัดแรสเตอร์ด้วยรูปหลายเหลี่ยมโดยใช้ PostGIS - ข้อผิดพลาดของสิ่งประดิษฐ์
ฉันใช้PostGIS2.0ทำทางแยก raster / polygon ฉันมีปัญหาในการทำความเข้าใจการทำงานที่ฉันควรใช้และวิธีที่เร็วที่สุดในการแสดงคืออะไร ปัญหาของฉันเป็นดังนี้: ฉันมีรูปหลายเหลี่ยมและแรสเตอร์ ฉันต้องการค้นหาพิกเซลทั้งหมดที่อยู่ในรูปหลายเหลี่ยมและได้รับผลรวมของค่าพิกเซล และ (ปัญหาที่อัปเดต): ฉันได้รับค่าจำนวนมากสำหรับบางพิกเซลที่ไม่มีอยู่ในแรสเตอร์ดั้งเดิมเมื่อฉันทำการค้นหา ฉันมีความเข้าใจความยากลำบากไม่ว่าฉันควรใช้หรือST_Intersects() ST_Intersection()ฉันยังไม่รู้ด้วยว่าวิธีที่ดีที่สุดในการรวมพิกเซลของฉันคืออะไร นี่เป็นวิธีแรกที่ฉันได้ลอง (# 1): SELECT r.rast FROM raster as r, polygon as p WHERE ST_Intersects(r.rast, p.geom) ส่งคืนรายการของrastค่าซึ่งฉันไม่แน่ใจว่าจะทำอย่างไร ฉันพยายามคำนวณสถิติสรุปโดยใช้ST_SummaryStats()แต่ฉันไม่แน่ใจว่านี่คือผลรวมถ่วงน้ำหนักของพิกเซลทั้งหมดที่อยู่ในรูปหลายเหลี่ยม SELECT (result).count, (result).sum FROM ( SELECT ST_SummaryStats(r.rast) As result FROM raster As r, polygon As p WHERE ST_Intersects(r.rast, p.geom) ) …

1
วิธีรับความยาวของบรรทัดภายในรูปหลายเหลี่ยม
ฉันจะรับความยาว (ส่วนที่มีเครื่องหมายสีน้ำตาล) ของ "ถนน 7" ในรูปหลายเหลี่ยมสีแดงได้อย่างไร จุดเริ่มต้นของฉัน: SELECT ST_Length(way) FROM lines WHERE road = "Road 7" AND ST_Intersects(line, polygon)? ด้วยสิ่งนี้ฉันได้รับแค่ความยาวทั้งหมด :( ใครบางคนมีความคิดเหรอ?

1
สามารถใช้ Zonal Statistics ใน PostGIS2 ได้หรือไม่
ขณะนี้มี postgis2 ซึ่งรองรับ rasters โดยค่าเริ่มต้นแล้วมันเป็นไปได้ไหมที่จะทำการวิเคราะห์ทางสถิติแบบโซน? ฉันเป็น google มัน แต่ฉันไม่พบอะไรที่เป็นของแข็ง? มีบทช่วยสอนที่จะเริ่มต้นให้ฉันได้ไหม ทุกคนสามารถให้ฉันเป็นตัวอย่าง sql ในการทำมันได้หรือไม่ แก้ไข: ข้อความค้นหาที่อัปเดต (ง่าย) ตามบล็อกของ Aragon กล่าวถึง: CREATE TABLE sum_pop3 AS SELECT gid, SUM((ST_SummaryStats(ST_Clip(rast,1,geom))).sum) FROM perez_grid, ls_den WHERE ST_Intersects(geom,rast) GROUP BY gid;

2
ทำไม vaules วันที่แสดง 'Z' ต่อท้ายเมื่อเลเยอร์ถูกเผยแพร่ด้วย Geoserver และที่เก็บข้อมูล PostGIS
ฉันได้เผยแพร่เลเยอร์ต่างๆโดยใช้ Geoserver 2.2.x พร้อมที่เก็บข้อมูล PostGIS 2.0.1 (PostgreSQL 9.1.x) ฟิลด์ที่มีค่าวันที่เท่านั้นและไม่ใช่ค่าที่เกี่ยวข้องกับเวลา / การประทับเวลาจะถูกเก็บไว้เป็นวันที่ หลังจากเผยแพร่เลเยอร์ของฉันเป็น wfs / wms และเปิดตารางในวันที่เบราว์เซอร์ vlues แสดงขึ้นพร้อมกับ 'Z' ต่อท้าย นี่เป็นผลิตภัณฑ์ของ api data store ของ geotools ที่ geoserver ใช้อยู่หรือไม่? ฉันคิดว่า api data store ของ geotools กำลังโยนผ้าห่มเหนือวันที่อ่านข้อมูลในรูปแบบ datetime, timestamp เป็นต้นและ 'z' จะปรากฏขึ้นตามเวลาของ zulu ฉันสามารถปิดโดยสิ้นเชิงกับสมมติฐานทางภูมิศาสตร์ของฉัน แต่ใน PostgreSQL 'z' หมายถึงซูลูหรือ utc หากค่าแหล่งข้อมูลถูกเก็บไว้เป็นวันที่และไม่มีส่วนประกอบเวลาทำไมจึงมี 'Z' …

2
กำลังทำความสะอาดรูปทรงเรขาคณิตใน PostGIS หรือไม่
ฉันพยายามทำการประมวลผลบางอย่างบนเลเยอร์รูปหลายเหลี่ยมที่มีขนาดใหญ่มาก อย่างไรก็ตามฉันพบข้อผิดพลาดทางเรขาคณิตหลายอย่างเช่น: NOTICE: Ring Self-intersection at or near point 470396.52017068537 141300.52235257279 CONTEXT: PL/pgSQL function st_intersection(geometry,raster,integer) line 10 at RETURN QUERY SQL function "st_intersection" statement 1 NOTICE: Ring Self-intersection at or near point 504154.61769969884 140782.04115761846 CONTEXT: PL/pgSQL function st_intersection(geometry,raster,integer) line 10 at RETURN QUERY SQL function "st_intersection" statement 1 NOTICE: Ring …

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