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

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

2
การค้นหารูปทรงเรขาคณิตที่ใกล้เคียงที่สุดใน PostGIS
ฉันได้ดูฟังก์ชั่น PostGIS "API" และฉันสังเกตว่าส่วนใหญ่ใช้องค์ประกอบสองอย่างเพื่อเปรียบเทียบ ตัวอย่างเช่นฟังก์ชัน ST_Distance ใช้องค์ประกอบทางเรขาคณิต / ภูมิศาสตร์สององค์ประกอบเพื่อค้นหาระยะทาง ไม่มีฟังก์ชั่นที่จะทำสิ่งใดเช่น: "ให้รูปทรงเรขาคณิต G ให้รูปทรงเรขาคณิตที่ใกล้ที่สุดกับ GClosest ในตาราง T ที่ G.id <> GClosest.id" ฉันรู้ว่าฉันสามารถเขียนฟังก์ชั่น PL / PgSQL เพื่อย้ำตารางและเรียก ST_Distance ในแต่ละองค์ประกอบได้ แต่ฉันหวังว่าจะมีวิธีแก้ปัญหาที่ดีกว่าและมีประสิทธิภาพมากกว่า

2
วิธีทำความสะอาดเชพไฟล์ที่ไม่ดีสำหรับการจัดเส้นทาง?
ฉันกำลังพยายามทำความสะอาด Shapefile เพื่อให้สามารถใช้งานการเราต์ด้วย pgrouting, postgis, postgresql ที่นี่เป็นทางแยกดูเหมือนว่าจะมีการเชื่อมต่อ แต่เมื่อเราซูม ... มันไม่ใช่: กันที่นี่: ที่นี่ (ซูมได้สูงสุด) มี 2 วิธีเมื่อดูเหมือนเป็นวิธีเดียวและเชื่อมต่อเพียงวิธีเดียว: ฉันใช้ assign_vertex_id ที่มีค่าความคลาดเคลื่อนต่างกันและ QGIS และ PostGIS แต่ฉันไม่รู้ว่าจะใช้อะไร

2
ข้อกำหนดฮาร์ดแวร์สำหรับคลาวด์ที่โฮสต์ PostGIS & GeoServer คืออะไร
ฉันเล่นกับการติดตั้ง PostGIS & GeoServer ในเครื่องแล้ว ฉันต้องการย้ายงานออนไลน์ของฉันตอนนี้เพื่อแบ่งปันกับผู้ทำงานร่วมกันหลายคน การพิสูจน์แผนที่แนวคิดจะประกอบด้วยบริการ WMS และ WFS แบบง่ายที่แมปผ่าน OpenLayers และ GeoExt มันจะขึ้นอยู่กับแผนที่ของ ~ 3000 หน่วยการบริหาร ในขั้นต้นมันจะต้องให้บริการหลายคนเท่านั้น จากนั้นเราจะดำเนินการขัดมุมมองสุดท้ายและฟังก์ชันการทำงานของแอปพลิเคชัน มีคำแนะนำหลายคำตอบในคำถามนี้ ตัวอย่างเช่นNicklasใช้งานเว็บไซต์ของเขาบน 512MB Linode (ฉันคิดว่า ... ) ฉันกำลังคิดที่จะใช้เซิร์ฟเวอร์ Ubuntu บนคลาวด์ VPS ซึ่งส่วนใหญ่มีโฮสต์บนแร็คสเปซ คำถามของฉัน: ขนาดเซิร์ฟเวอร์ที่เล็กที่สุดที่ฉันจะต้องใช้ในการเริ่มเล่นกับข้อมูลนี้ออนไลน์คืออะไร? มีไม่กี่คนที่สามารถใช้ได้ เมื่อเราตัดสินใจที่จะเปิดบริการสู่พื้นที่สาธารณะแล้วสัญญาว่าจะเพิ่มขนาดของบริการได้อย่างราบรื่นดังนั้นฉันอยากรู้ว่า RAM ขั้นต่ำสุดที่ฉันต้องเริ่มต้นคืออะไร Update 1 : การอภิปรายที่คล้ายกันใน GeoServerฟอรั่ม การปรับปรุงที่ 2 : บทเรียนที่มีประโยชน์ในการตั้งค่าสแต็คใน AWS ไมโครอินสแตนซ์โดยใช้อูบุนตูและCentOS

3
มี CASE Tool สำหรับการสร้างแบบจำลองฐานข้อมูลเชิงพื้นที่หรือไม่?
ไม่มีใครรู้ว่ามี CASE Tool ซึ่งจะเป็นไปได้สำหรับการสร้างแบบจำลองตารางอวกาศ? ฉันต้องการสร้างแบบจำลองและส่งออกเป็น SQL หรือฐานข้อมูลโดยตรง ฉันใช้ PostGIS

5
ลดความซับซ้อนของรูปหลายเหลี่ยมเป็น linestring หรือไม่
ฉันต้องการลดความซับซ้อนของรูปหลายเหลี่ยมที่เป็นตัวแทนของแม่น้ำเข้าสู่การส่องสว่าง ฉันคิดว่าสามารถละเว้นรูในรูปหลายเหลี่ยมได้ ใครมีความคิดที่ดีว่าจะทำอย่างไร? มันจะดีถ้ามันเป็นไปได้ที่จะทำโดยตรงใน postgis หรือเครื่องมือโอเพนซอร์สอื่น แต่คำอธิบายอัลกอริทึมสั้น ๆ จะเพียงพอ

3
วิธีรับ centroid ของชุดคะแนนใน PostGIS
ฉันใช้ PostgreSQL กับส่วนขยาย PostGIS ฉันมีชุดของจุดในคอลัมน์จากตารางthe_geom myschema.myobjectsฉันต้องการสร้างคำสั่ง select เพื่อรับ centroid ของคลัสเตอร์นี้ดังนั้นจากคำสั่ง select ดังนี้: SELECT the_geom FROM myschema.myobjects ฉันต้องการค้นหาไวยากรณ์ที่ถูกต้องสำหรับคำสั่งเช่น: SELECT ST_AsText(ST_Centroid( (SELECT the_geom FROM myshema.myobjects) ));

3
รับค่า Lon Lat จากประเภทข้อมูล GEOGRAPHY ใน PostGIS
หลังจากจัดเก็บค่า lon lat เป็นชนิดข้อมูล GEOGRAPHY ฉันจะดึงค่า lat lon แต่ละรายการได้อย่างไร ความพยายามล้มเหลว: SELECT id, geog, ST_X(geog), ST_Y(geog) FROM locations; ข้อผิดพลาด: No function matches the given name and argument types. You might need to add explicit type casts.

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

1
รัศมีโลกเริ่มต้นใน ST_Distance_Sphere มาจากที่ใด
MySQL บอกในเอกสารสำหรับ ST_Distance_Sphere การคำนวณใช้ดินทรงกลมและรัศมีที่กำหนดค่าได้ อาร์กิวเมนต์รัศมีที่เป็นทางเลือกควรกำหนดเป็นเมตร หากไม่ระบุค่ารัศมีเริ่มต้นคือ 6,370,986 เมตร หากอาร์กิวเมนต์รัศมีมีอยู่ แต่ไม่เป็นบวกER_WRONG_ARGUMENTSจะเกิดข้อผิดพลาด PostGISกล่าวว่าในเอกสารของST_Distance_Sphere(แม้ว่าเอกสารจะไม่ถูกต้องอีกต่อไป ) ใช้โลกทรงกลมและรัศมี 6370986 เมตร พวกเขาได้รับค่าเริ่มต้น 6,370,986 เมตรจากที่ไหน WGS84กล่าวว่ารัศมีแกนหลักคือ 6,378,137.0 เมตร PostGIS ซึ่งตอนนี้ใช้รัศมีเฉลี่ยโดยพื้นฐานแล้วใช้ 6371008 มองไปที่รหัส #define WGS84_MAJOR_AXIS 6378137.0 #define WGS84_INVERSE_FLATTENING 298.257223563 #define WGS84_MINOR_AXIS (WGS84_MAJOR_AXIS - WGS84_MAJOR_AXIS / WGS84_INVERSE_FLATTENING) #define WGS84_RADIUS ((2.0 * WGS84_MAJOR_AXIS + WGS84_MINOR_AXIS ) / 3.0) นั่นหมายความว่า -- …

10
แพ็คเกจที่ใช้งานไม่ได้และการติดตั้งที่ไม่พึ่งพา QGIS, PostgreSQL และ postgis Ubuntu 14.04
ฉันรู้ว่านี่อาจเป็นหัวข้อที่ซ้ำกัน แต่ฉันดิ้นรนเป็นเวลาหลายวัน ฉันอัพเกรด QGIS จาก 2.8 เป็น 2.18 และหลังจากนั้นทุกอย่างก็พัง ฉันไม่สามารถใช้ส่วนขยาย PostGIS บน pgadmin3 ฉันพบว่ามีข้อขัดแย้งกับ a libgdal1h: หากติดตั้งแล้วมันจะลบไลบรารีอื่น ๆ ที่ PostGIS ใช้และในทางกลับกัน ฉันพยายามสอนหลายวิธีเกี่ยวกับวิธีการติดตั้ง QGIS เช่น: ฉันจะรับและติดตั้ง QGIS เวอร์ชันล่าสุดใน Ubuntu ได้อย่างไร ติดตั้ง QGIS 2.14 Essen บน Ubuntu 16.04 Xenial ฉันลองทุกข้อเสนอแนะที่รายงานทางออนไลน์เช่น: /ubuntu/351899/qgis-quantum-gis-install-fails-unmet-dependencies /ubuntu/621406/dist-upgrade-in-ubuntu-14-04-uninstalled-qgis-and-results-in-unmet-dependencies จะหาเวอร์ชั่นของ libgeos-c1 ที่รองรับกับ libgeos-3.5.0 ได้ที่ไหน? การติดตั้ง QGIS บน Ubuntu 14.04 …

3
จะสร้างบรรทัดเพื่อให้เห็นความแตกต่างระหว่างคุณลักษณะรูปหลายเหลี่ยมใน PostGIS ได้อย่างไร
ฉันมีตาราง PostGIS polygon_bพร้อมคุณสมบัติรูปหลายเหลี่ยม นอกจากนี้ยังมีตารางpolygon_aที่มีรูปหลายเหลี่ยมเหมือนกันpolygon_bแต่มีการเปลี่ยนแปลงเล็กน้อย ตอนนี้ฉันต้องการสร้างเส้นเพื่อให้เห็นความแตกต่างระหว่างคุณลักษณะรูปหลายเหลี่ยม ฉันคิดว่าST_ExteriorRingและST_Differenceจะทำงาน แต่ประโยคที่ดูเหมือนว่าจะค่อนข้างยุ่งยาก CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, yourSRID) AS geom FROM (SELECT (ST_Dump(COALESCE(ST_Difference(ST_ExteriorRing(polygon_a.geom), ST_ExteriorRing(polygon_b.geom))))).geom AS geom FROM polygon_a, polygon_b WHERE -- ? ) AS g; มีใครช่วยฉันบ้าง แก้ไข 1 ตามที่โพสต์โดย 'เอียง' ฉันได้ลองแล้วST_Overlaps(polygon_a.geom, polygon_b.geom) AND NOT ST_Touches(polygon_a.geom, polygon_b.geom)แต่ผลลัพธ์ไม่เป็นไปตามที่คาดไว้ CREATE VIEW line_difference AS …

3
วิธีการเป็นสัญลักษณ์ของคุณสมบัติด้วยค่า NULL ใน symbology ที่สำเร็จการศึกษาแล้ว
ฉันมีชุดข้อมูลคุณลักษณะรูปหลายเหลี่ยมและแอตทริบิวต์จากตารางอื่นที่ฉันเข้าร่วม (หนึ่งต่อหนึ่ง) ภายใน QGIS เพื่อเป็นสัญลักษณ์ของแอตทริบิวต์เป็นแผนที่ที่เป็นนักแสดง อย่างไรก็ตามไม่ได้มีเขตข้อมูลรูปหลายเหลี่ยมทั้งหมดที่มีเขตข้อมูลที่ตรงกันในตารางของคุณลักษณะตัวเลขดังนั้นจึงมีค่า Null บางส่วนเมื่อสร้างสัญลักษณ์ที่จบการศึกษา จากการวิจัยของฉันคำแนะนำที่พบบ่อยที่สุดในสถานการณ์นี้คือการรวมสำเนาของชุดข้อมูลรูปหลายเหลี่ยม (หรือพื้นหลังอื่น ๆ ) ที่กำหนดสัญลักษณ์เริ่มต้น สิ่งนี้ได้ผลเพราะค่า Null ไม่ได้จัดอยู่ใน symbology ที่สำเร็จการศึกษาดังนั้นจึงสามารถเห็น "ใต้" ค่าเหล่านั้นได้ ฉันได้แนบภาพของสิ่งนี้ คุณสมบัติสีเทาเข้มไม่มีอยู่ในตารางการเข้าร่วม ( mb_percentile_isochrones_all) แต่มีอยู่ในตารางรูปหลายเหลี่ยมขอบเขต ( mb2013_wgtn) ดังนั้นฉันต้องการสองอินสแตนซ์ของmb2013_wgtnตารางเพื่อแสดงคุณลักษณะ "ไม่มีข้อมูล" อย่างไรก็ตามนี่ดูเหมือนจะไม่หรูหราสำหรับฉัน สัญชาตญาณที่มากขึ้นคือการกำหนดสัญลักษณ์ค่า Null บางทีสิ่งนี้อาจโปร่งใสอย่างสมบูรณ์เพื่อให้สอดคล้องกับสิ่งที่มีอยู่ในปัจจุบันหรือบางทีมันอาจเป็นสีเทาที่ไม่ออกเสียง - สิ่งที่ผู้ใช้ต้องการ ประเด็นคือในปัจจุบันหนึ่งต้องการเลเยอร์ที่แตกต่างกันสองชั้นในเนื้อหาเพื่อจัดการสัญลักษณ์ของค่า Null ซึ่งหมายความว่าการเปลี่ยนสัญลักษณ์ของคุณลักษณะทั้งหมดของคุณในเวลาเดียวกัน (พูดถ้าคุณต้องการเพิ่มความกว้างของเส้นขอบทั้งหมด ) สิ่งนี้จะต้องได้รับการจัดการสองครั้ง: หนึ่งครั้งในคุณสมบัติสำหรับคุณสมบัติที่มีสัญลักษณ์จบการศึกษาและ หนึ่งครั้งสำหรับเลเยอร์ "พื้นหลัง" ที่จัดการสัญลักษณ์ว่าง เป็นไปได้หรือไม่ที่จะกำหนดสัญลักษณ์ค่า "null" โดยไม่ใช้ "copy" ของเลเยอร์เดียวกันที่ใช้สำหรับ …

1
วิธีการแยก sublinestring จาก linestring ด้วยส่วนที่ทับซ้อนกัน
คำแถลงปัญหา: กำหนดเส้นทางรถบัส (กำหนดเป็น linestring ln.the_geom) และชุดของตำแหน่งป้ายรถเมล์ (pt1.the_geom, pt2.the_geom, ... ptn.the_geom) แบ่งเส้นทางรถประจำทางออกเป็นส่วน ๆ ระหว่างป้ายรถเมล์ . ฉันใช้สองฟังก์ชัน postgis ST_line_substring(ln.the_geom,ST_line_locate_point ln.the_geom,pt1.the_geom),ST_line_locate_point(ln.the_geom,pt2.the_geom)) ด้านบนใช้งานได้ดีหากเส้นทางรถเมล์ไม่มีส่วนที่ทับซ้อนกัน อย่างไรก็ตามหากมีส่วนที่ทับซ้อนกัน ST_line_locate_point จะถ่ายจุดหนึ่งไปยังอีกปลายหนึ่งของ linestring ตัวอย่างเช่น: รถบัสเดินทางจาก A ถึง B สร้าง loop จากนั้นเดินทางจาก B ถึง A "A ถึง B" และ "B to A" เป็นเส้นทางคู่ขนานที่มีจุดทั้งหมดซ้อนทับกัน ในกรณีที่ป้ายหยุดรถ P1 และ P2 P2 จะถูกจับคู่กับจุด P2 แทน …

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

2
เครื่องมือ GUI สำหรับ PostgreSQL / PostGIS
ในฐานะนักเขียนแผนที่ฉันทำงานกับ TileMill เพื่อให้เห็นภาพภูมิศาสตร์ ฉันติดตั้งเซิร์ฟเวอร์ PostgreSQL ท้องถิ่นด้วย PostGIS และ osm2pgsql ทุกอย่างทำงานได้ดี ยังไงก็ตามฉันยังใหม่กับการทำงานกับเซิร์ฟเวอร์และแนวทางบรรทัดคำสั่ง ดังนั้นในการเรียนรู้พื้นฐานของการจัดการฐานข้อมูลเครื่องมือ GUI บางอย่างจะช่วยได้มาก ตัวอย่างเช่นฉันสามารถรันแอพ PgAdmin ได้อย่างปลอดภัยถัดจากการติดตั้ง PostgrSQL ( http://postgresapp.com/ ) บน Mac OS X Mavericks ของฉันหรือไม่ คำแนะนำใด ๆ ยินดีต้อนรับมากที่สุด

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