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

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


1
Postgis - ขับไล่รูปหลายเหลี่ยม
ฉันต้องการขับไล่รูปหลายเหลี่ยมใน postgis เพื่อสร้างเอฟเฟกต์หลอก 3 มิติ ด้วยเหตุนี้ฉันได้เขียนฟังก์ชั่นน้ำมันดิบเพื่อให้บรรลุมัน นี่คือรหัสทดสอบจำนวนมากและสร้างจุดยอด Y ใหม่สำหรับแต่ละจุดบนรูปหลายเหลี่ยมแล้วปิดโดยการกลับไปที่จุดเดิม: - CREATE OR REPLACE FUNCTION public.extrude_polygon(wkb_geometry_param geometry, height integer, simplify boolean DEFAULT false) RETURNS geometry AS $BODY$ DECLARE f int; ret_geom geometry; wkb_geometry geometry; BEGIN --convert polygon to linestring IF ST_GeometryType(wkb_geometry_param) != 'ST_Polygon' THEN RETURN NULL; END IF; IF simplify THEN …

1
วิธีการบรรลุเทียบเท่ากับละลายจาก ArcGIS สำหรับเดสก์ท็อปโดยใช้ ST_Union
ฉันพยายามที่จะบรรลุเทียบเท่ากับเครื่องมือละลายจาก ArcGIS สำหรับเดสก์ท็อปโดยใช้ ST_Union จาก PostGIS แต่ดูเหมือนว่าฉันไม่ได้รับผลลัพธ์ตามที่คาดไว้ ฉันมีตารางหนึ่งตารางที่มีคุณลักษณะบางอย่างที่มีรูปหลายเหลี่ยมเรขาคณิต (เช่น FID, Locstat, Loccnt, รูปร่าง) นี่คือคำถามของฉัน: SELECT c.fid, ST_Union(c.boundaryshape) FROM c Group by c.fid,c.boundaryshape;

2
Desktop GIS มีทางเลือกอื่นสำหรับ ArcGIS 10.X สำหรับทอพอโลยีและการรวมเวกเตอร์หรือไม่?
มีตัวเลือกอื่นนอกเหนือจาก ArcGIS สำหรับเดสก์ท็อปสำหรับกฎโทโพโลยีและโทโพโลยีความสมบูรณ์ของการบังคับใช้ใน Desktop GIS หรือไม่? ฉันกำลังมองหาบางสิ่งบางอย่างที่จะ snap คุณสมบัติโดยอัตโนมัติให้กับขอบเขตเลเยอร์ฐานบางส่วน (กำจัดช่องว่างและทับซ้อนในชุดข้อมูล) ฉันรู้เกี่ยวกับฟังก์ชันโทโพโลยีของ PostGIS แต่ฉันต้องการอะไรใน Desktop GIS QGIS 2 กำลังพยายามใช้กฎของทอพอโลยี แต่ไม่มีสิ่งใดที่จะล้างข้อมูลโดยอัตโนมัติ ArcGIS สำหรับเดสก์ท็อปของ Esri เป็นทางออกเดียวหรือไม่

1
เข้าร่วมตามการทับซ้อนสูงสุดใน PostGIS / PostGresQL
ฉันมีรูปหลายเหลี่ยมสองชุดในสองตาราง ชุดทับซ้อนกัน สำหรับรูปหลายเหลี่ยมแต่ละอันในชุด A ฉันต้องการรับ ID ของรูปหลายเหลี่ยมในชุด B ที่ซ้อนทับกันมากที่สุด ฉันใช้ PostgreSQL กับส่วนขยาย PostGIS ฉันรู้เพียงพอเกี่ยวกับ SQL ที่จะรู้ว่าคุณสามารถเข้าร่วมได้ตามเงื่อนไขจริง / เท็จเท่านั้น ดังนั้นสิ่งนี้จะไม่ทำงาน: SELECT a.id as a_id, b.id as b_id, FROM a JOIN b ON max(ST_Area(ST_Intersection(a.geom, b.geom))) เนื่องจาก max () ไม่สามารถอยู่ในอนุประโยค ON ST_Intersects()คือการทดสอบจริง / เท็จดังนั้นฉันสามารถเข้าร่วมในนั้น แต่รูปหลายเหลี่ยมในชุดมักจะทับซ้อนที่มีมากกว่าหนึ่งรูปหลายเหลี่ยมที่อยู่ในชุด B และฉันต้องการที่จะรู้ว่าที่หนึ่งซ้อนทับมากที่สุด ST_Intersects น่าจะแค่คืนค่า ID ที่ทับซ้อนกันแรกที่เจอโดยไม่คำนึงถึงขอบเขตของการทับซ้อน ดูเหมือนว่ามันควรจะเป็นไปได้ แต่มันเกินฉัน …

2
วิธีการระบุและทำให้กลุ่มจุดง่ายขึ้นโดยคำนึงถึงเวลาใน PostGIS
ฉันเพิ่งเริ่มทำงานกับฐานข้อมูลเชิงพื้นที่และฉันต้องการเขียนแบบสอบถาม SQL (PostGIS) สำหรับการวางหลักเกณฑ์การติดตาม GPS แบบอัตโนมัติ (ด้วยความถี่การติดตามคงที่) โดยอัตโนมัติ สิ่งแรกที่ฉันตื่นคือแบบสอบถามที่ระบุจุดหยุดนิ่งในรูปแบบของแบบสอบถามเช่น "จุด x ภายในระยะทาง y เมตร" เพื่อแทนที่เมฆจุดใหญ่โดยจุดตัวแทน ฉันรู้แล้วว่าจะตะครุบคะแนนภายในระยะทางที่กำหนดและนับจำนวนที่หักออก ในภาพด้านล่างเราสามารถเห็นแทร็กตัวอย่างแบบดิบ (จุดสีดำเล็ก ๆ ) และศูนย์กลางของจุดที่จัดชิดเป็นวงกลมสี (ขนาด = จำนวนของจุดที่จัดชิด) CREATE table simplified AS SELECT count(raw.geom)::integer AS count, st_centroid(st_collect(raw.geom)) AS center FROM raw GROUP BY st_snaptogrid(raw.geom, 500, 0.5) ORDER BY count(raw.geom) DESC; ฉันค่อนข้างพอใจกับวิธีแก้ปัญหานี้ แต่มีปัญหาเวลา: การถ่ายภาพแทร็กแบบเต็มวันในเมืองคน ๆ …
11 postgis  point  time 

2
ข้อดี / ข้อเสียของการเติมฐานข้อมูล PostGIS ด้วยข้อมูล Raster คืออะไร
... เมื่อเทียบกับการเก็บแรสเตอร์เป็น GEOTIFF ที่จัดเก็บในท้องถิ่น? ฉันมีโครงการขนาดใหญ่ที่ต้องการให้มี GEOTIFF 50,000, 10mb เป็น WMS ให้กับแผนที่เว็บที่ใช้ OpenLayers โดยประมาณ จะแสดงเพียง 1 WMS ในเวลาที่กำหนดดังนั้นประสิทธิภาพจึงไม่เป็นปัญหา พิจารณา MapServer และ GeoServer สำหรับแอปพลิเคชันนี้ ฉันต้องการทราบว่าข้อดีและข้อเสียของการจัดเก็บข้อมูลประเภทนี้คืออะไร จะอัปเดตฐานข้อมูล PostGIS เมื่อข้อมูลแรสเตอร์เปลี่ยนแปลงได้ยากกว่าแทนที่ไฟล์แรสเตอร์เดียว (หรือชุด) เวลาในการโหลด WMS ดีขึ้นอย่างมากด้วย PostGIS
11 postgis  raster 

1
รวบรวมข้อมูลรูปร่างส่วนบุคคลของ Conflate (ผสาน) ด้วยข้อมูล OSM
พื้นหลัง ดาวน์โหลดข้อมูล Alberta OSM จากGeofabrikและให้มันทำงานบนเซิร์ฟเวอร์ Linux ส่วนตัวโดยใช้ PostgreSQL 9.1, PostGIS 2.0, Mapnik 2.1.0, osm2pgsql, Apache 2, mod_tile, renderd และ OpenLayers: ข้อมูลถูกนำเข้าโดยใช้osm2pgsqlดังนี้: osm2pgsql -W -K -S /usr/local/share/osm2pgsql/default.style -d osm alberta.osm.bz2 ปัญหา ข้อมูล OSM สำหรับ Alberta ไม่สมบูรณ์ ฉันได้รับชุดรูปร่างไฟล์ที่ปรับปรุงตามข้อมูล OSM: City.dbf, City.prj, City.sbn, City.sbx, City.shp, City.shp.xml, City.shx บวกรูปร่างเพิ่มเติมสำหรับหมู่บ้านพื้นที่เขตเมืองเขตเทศบาลและอื่น ๆ ผมได้นำเข้าสำเร็จเชปไฟล์ลงใน PostgreSQL ใช้ pgAdmin …

3
กำลังแก้ไขข้อมูล PostGIS / GeoServer ผ่านเว็บ?
ฉันได้ติดตั้ง PostGIS แล้วและต้องการสร้างเว็บแอปพลิเคชันเพื่อทำการแก้ไขง่ายๆ: วาดด้วยตนเอง (ผ่าน Basemap) จุดเส้นและ polylines โดยใช้จุดหักเห (จุด, จุดสิ้นสุดของบรรทัด, จุดตัด, จุดศูนย์กลางวงกลม) ลบจุดเส้นและ polylines หมุนเส้นหรือกลุ่มของเส้นรอบจุด ย้ายบรรทัดหรือกลุ่มของบรรทัดด้วยจุดฐาน ย้าย polylines และจุด (ด้วยตนเองและไปยังจุดที่กำหนดโดยพิกัด) แก้ไขตำแหน่งของจุดยอด polylines และเส้น (ด้วยตนเองและไปยังจุดที่กำหนดโดยพิกัด) สร้างบัฟเฟอร์รอบจุดเส้นและ polylines วิธีใดที่ดีที่สุดในการทำสิ่งนี้ผ่านเว็บ มีห้องสมุด JavaScript ที่สร้างไว้แล้วหรือไม่?

1
Simple PostGIS ST_ แบบสอบถามระยะทางสองจุดจากตารางเรขาคณิตเดียวกันหรือไม่
หมายเหตุ: คำถามนี้ถูกตีพิมพ์ใน Stackoverflow ที่แรก ฉันมีตารางเรขาคณิตpoints_tableด้วยSRID 4326และมีจุดอยู่สองสามจุด ฉันต้องการค้นหาระยะทางระหว่างคู่ของจุด (คุณสมบัติ) จากตารางนี้ ฉันต้องการเลือกจุดหนึ่งด้วยid = Xและอีกจุดด้วยid = Yแล้วหาระยะห่างระหว่างพวกเขาด้วยST_Distanceฟังก์ชั่น ฉันรู้วิธีค้นหาทั้งสองจุดจากฐานข้อมูล: select * from points_table where id = X or id = Y; แต่เคียวรีนี้ส่งคืนผลลัพธ์ซึ่งฉันไม่รู้ว่าจะผ่านไปได้ST_Distanceอย่างไรเนื่องจากST_Distanceรับพารามิเตอร์ 2 ตัว ฉันเหนื่อย Select ST_Distance(select the_geom from points_table where id = X or id = Y); แต่เห็นได้ชัดว่ามันผิด ฉันจะหาระยะห่างระหว่างจุดเรขาคณิตสองจุด (คุณสมบัติ) จากตารางได้อย่างไร ป.ล. ตัวอย่างทั้งหมดที่ฉันได้ค้นพบแสดงให้เห็นถึงการใช้งาน …

3
ซอฟแวร์การทำแผนที่เว็บสำหรับชุดเวลาแรสเตอร์ขนาดใหญ่?
ฉันเป็นผู้ใช้ ArcGIS Desktop ที่ก้าวเข้าสู่โลกแห่งการทำแผนที่เว็บเป็นครั้งแรก ตามคำแนะนำของผมพบว่าที่นี่ใน GIS.SE ผมเริ่มต้นด้วยบทแนะนำฟรีจากOpenGeo อย่างไรก็ตามฉันเริ่มตระหนักว่าการสาธิตและตัวอย่างส่วนใหญ่มุ่งเน้นไปที่ข้อมูลเวกเตอร์ โครงการหลักของฉันเกี่ยวข้องกับการแสดงซีรีส์กรอบเวลา 300 ภาพด้วย 5,000 x 5,000 พิกเซลแรสเตอร์ บนคอมพิวเตอร์เดสก์ท็อปของฉันจะถูกเก็บไว้ในไบนารี BIP จำนวนเต็ม 5000x5000x300 16 บิตซึ่งมีขนาดประมาณ 8GB เป้าหมายของฉันคือสามารถคลิกที่เซลล์ (ของแรสเตอร์เดียวในอนุกรมเวลา) และให้กราฟแสดงค่าของพิกเซลนั้นในซีรีย์เวลา 300 องค์ประกอบ ข้อมูลแรสเตอร์ที่ใช้สำหรับกราฟอนุกรมเวลาแต่ละครั้งจะต้องถูกเก็บไว้อย่างไม่สูญเสียแม้ว่าแผนที่ซ้อนทับที่คลิกจะเป็นแคชที่สูญเสียไป มีสิ่งใดบ้างที่เหมาะกับโครงการนี้ (สำหรับนักพัฒนาเว็บ GIS มือใหม่) ดีกว่า OpenGeo หรือไม่ หรือฉันควรจะไปกับการตั้งค่านี้หรือไม่ สำหรับการอ้างอิงฉันมีประสบการณ์การเขียนโปรแกรมใน Python, Java และ PHP ฉันไม่มีประสบการณ์มากกับ SQL นี่เป็นโครงการปลายเปิดดังนั้นฉันมีเวลามากมายในการเรียนรู้ภาษาใหม่หากจำเป็น ฉันมีเว็บเซิร์ฟเวอร์อยู่แล้วแม้ว่าฉันจะต้องเปลี่ยนโฮสต์เพราะ GoDaddy ดูเหมือนจะไม่สนับสนุน PostgreSQL โดยไม่ได้รับ VPS …

3
จุดในอัลกอริทึมรูปหลายเหลี่ยมสำหรับหลายเหลี่ยม
ฉันมีแผนที่ Google พร้อมโพลิกอนมากมาย นี่คือปัญหาที่ฉันสนใจ: เนื่องจาก lat, lng point เป็นวิธีที่ดีที่สุดในการกำหนดรูปหลายเหลี่ยมทั้งหมดที่จุดนี้อยู่ วิธีที่ชัดเจนคือการเรียกใช้อัลกอริทึม "จุดในรูปหลายเหลี่ยม" ซ้ำ ๆ กันสำหรับรูปหลายเหลี่ยมแต่ละอัน แต่ฉันสงสัยว่าถ้ามีอัลกอริทึมที่มีประสิทธิภาพในการตอบคำถามเหล่านี้โดยเฉพาะอย่างยิ่งถ้าคุณมีรูปหลายเหลี่ยมหลายพัน

1
จัดเลเยอร์บรรทัดไปยังเครือข่ายใน QGIS หรือ PostGIS
ฉันมีข้อมูลจีพีเอสที่ฉันนำมาจากเส้นทางรถประจำทางและตอนนี้ฉันต้องการถ่ายมันให้กับเครือข่ายถนนของฉัน ทั้งสองเลเยอร์เป็นเลเยอร์บรรทัดใน PostGIS DB ฉันต้องการใช้ QGIS หรือ PostGIS แต่ถ้าฉันต้องใช้ GRASS หรือ ArcMap ก็ใช้ได้เช่นกัน ขอบคุณ! เพื่อความกระจ่างแจ้งฉันพยายาม snap สายไปที่บรรทัดไม่ใช่ชี้ไปที่บรรทัด
11 postgis  qgis  snapping 

1
ST_ClosestPoint (เส้น, จุด) ไม่ตัดกันเส้น
ในฐานข้อมูล PostGIS ของฉัน (PostGIS 1.5 บน Postgres 8.4.1) ฉันมีตารางสองตาราง: ถนน (ประกอบด้วย linestrings) และข้อขัดข้อง (ประกอบด้วยคะแนน) ฉันพยายามเชื่อมโยงการชนกันของแต่ละครั้งกับถนน แต่ฉันมีปัญหาในการทำงานต่อไปนี้: SELECT ST_ClosestPoint(road.the_geom, crash.the_geom), ST_Intersects(ST_ClosestPoint(road.the_geom, crash.the_geom), road.the_geom) ST_Distance(ST_ClosestPoint(road.the_geom, crash.the_geom), crash.the_geom) AS distance FROM --Table crashes is already in SRID 4326 (SELECT the_geom FROM crashes WHERE gid = 360) as crash, (SELECT ST_SetSrid(the_geom, 4326) as the_geom …
11 postgis  query 

2
ชี้แจงของตัวเลือก“ 25D” ใน ogr2ogr
[แก้ไข: ในโพสต์ต้นฉบับของฉันฉันได้รับข้อผิดพลาดที่มาจากการพิมพ์ผิดดังนั้นฉันจึงทิ้งคำถามส่วนนั้น แต่ทิ้งคำถามที่ยังใช้อยู่] ในเอกสาร ogr2ogrมันบอกว่า: -nlt type: Define the geometry type for the created layer. One of NONE, GEOMETRY, POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT, MULTIPOLYGON or MULTILINESTRING. Add "25D" to the name to get 2.5D versions. ส่วนนี้: Add "25D" to the name to get 2.5D versionsนำไปใช้กับทั้งการโหลดสิ่งต่างๆลงใน postgres เช่นเดียวกับการส่งออกข้อมูลจาก postgres ไปยังไฟล์. …
11 postgis  gdal  3d 

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