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

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

1
การกำหนดค่า Geoserver เพื่อใช้คอลัมน์รูปทรงเรขาคณิตเฉพาะของ Postgis เป็นค่าเริ่มต้น
ฉันมีตาราง PostGIS ที่มีคอลัมน์รูปทรงเรขาคณิตสองคอลัมน์ทั้งแบบรูปหลายเหลี่ยม แต่รูปแบบหนึ่งมี SRID 4326 ส่วนอีก 3857 เมื่อเผยแพร่ตารางใน Geoserver ฉันรู้ว่าค่าเริ่มต้นของ Geoserver คือการใช้คอลัมน์รูปทรงเรขาคณิตแรกในรายการของคอลัมน์ แต่ฉันสงสัย หากมีวิธีกำหนดค่า Geoserver ให้ใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจง ฉันไม่ได้พูดถึงการกำหนดค่า SLD ให้แสดงผลโดยใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจงเช่น: <se:PolygonSymbolizer> <se:Geometry> <ogc:PropertyName>geom3857</ogc:PropertyName> </se:Geometry> … </se:PolygonSymbolizer> ฉันกำลังพูดถึงการมี Geoserver ใช้คอลัมน์รูปทรงเรขาคณิตที่เฉพาะเจาะจงเป็น SRID ดั้งเดิมและเส้นโครงเริ่มต้น

1
จะนำเข้า GeoTIFF ผ่าน postGIS ไปยัง GeoServer อย่างไร
เป็นกรณีทดสอบอย่างง่ายฉันพยายามกำหนดค่าซอฟต์แวร์สแต็คของ OpenGeo เพื่อให้ฉันสามารถแสดง GeoTIFF เป็นภาพซ้อนทับไปยังแผนที่ปกติเช่น OSM ดังนั้นฉันทำตามขั้นตอนต่อไปนี้: สร้างฐานข้อมูลเชิงพื้นที่ด้วย postGIS โหลด GeoTIFF ลงในฐานข้อมูล นำเข้าฐานข้อมูลไปยัง GeoServer ดูตัวอย่างเป็นภาพซ้อนทับแผนที่ใน GeoServer (เช่นกับ GeoExplorer หรือ OpenLayers) ตรงกันข้ามกับการนำเข้าโดยตรงของ GeoTIFF ไปยัง Geoserver (ซึ่งทำงานได้ดีมาก) ตารางที่นำเข้าจากฐานข้อมูลจะถูกทำเครื่องหมายเป็น "ข้อมูลเวกเตอร์" และไม่ใช่ "ข้อมูลแรสเตอร์" ในเว็บแอปพลิเคชัน GeoServer ใน Layer Preview GeoExplorer ไม่แสดงอะไรจาก GeoTIFF และ OpenLayers ส่งคืนไฟล์ WMS ที่รายงาน a ServiceExeption: The requested Style can not be …

1
วิธีค้นหาสิ่งปลูกสร้าง (รูปหลายเหลี่ยม) ที่ผู้ใช้สามารถเห็นได้จากตำแหน่งที่ระบุ (จุด) และการวางแนว (ช่วงมุม)
ฉันต้องการเรียกคืนชุดอาคารที่ฉันสามารถดูได้จากตำแหน่งที่ระบุ (จุด -lat, lng) และการวางแนว (ช่วงเวลาของมุม) + แน่นอนด้วยความลึกที่กำหนด (เช่น 100 เมตร) โดยหลักการแล้วฉันต้องการส่งออกบางอย่างเช่น: จากมุม 1 ถึงมุม 2 ผู้ใช้สามารถเห็นสิ่งปลูกสร้าง 1 จากมุม 2 ถึงมุม 3 เราจะเห็นอาคาร 2 Data =รูปหลายเหลี่ยมแสดงถึงสิ่งปลูกสร้างของเมืองใน shapefile อินพุต:ตำแหน่งและการวางแนว (ช่วงมุม) เพื่อแสดงการรับรู้ภาพของบุคคล เอาท์พุท : รุ่น 1 - รายการ {BuildingID} รุ่น 2 (ดีกว่า) - รายการ {BuildingID, ชุดของส่วนที่มองเห็นได้สำหรับแต่ละอาคาร (ซุ้มอาคาร)} รุ่น 3 (ผลลัพธ์ในอุดมคติ) - รายการ …
10 qgis  postgis  r  viewshed 

1
ทำให้ POINT จากลองจิจูด / ละติจูดในตารางที่มีอยู่โดยใช้ PostGIS?
ผมอยากจะให้จุดโดยใช้เส้นรุ้งเส้นแวงและคอลัมน์ของตารางที่มีอยู่ นี่คือการเชื่อมโยงไปยังเอกสารของST_MakePoint นี่คือตารางของฉัน: CREATE TABLE sysinst.bio ( oid INTEGER PRIMARY KEY, longitude FLOAT, latitude FLOAT, geom GEOMETRY(POINT, 26913) ); การเพิ่มคอลัมน์รูปทรงเรขาคณิต: SELECT AddGeometryColumn ('sysinst', 'bio', 'geom', 26913, 'POINT', 2); นี่คือคำถามของฉัน: UPDATE sysinst.bio SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 26913); ไม่มีข้อผิดพลาดที่ส่งคืนแม้ว่า POINTS จะถูกวางแผนอย่างผิดพลาดเมื่อดูใน QGIS สำหรับ(-97.5959, 21.1922)ฉันได้รับ(-109.4896, 0.0002) ข้อเสนอแนะใด ๆ ฉันเปิดโอกาสให้ทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้น

4
กำลังแก้ไขเลเยอร์ PostGIS จากเดสก์ท็อป ArcGIS ที่ไม่มีฐานข้อมูลองค์กร (ArcSDE)?
ฉันทำงานกับ QGIS / PostGIS มาระยะหนึ่งแล้วโดยไม่มีปัญหา แต่ตอนนี้ฉันต้องเปลี่ยน QGIS สำหรับ ArcGIS Desktop 10.1 ฉันมีปัญหาในการเพิ่มเลเยอร์จาก PostgreSQL และสามารถแก้ไขเลเยอร์นั้นได้ ฉันต้องการทำงานโดยตรงกับฐานข้อมูลและถ้าฉันเปลี่ยนบางสิ่งในแผนที่มันควรจะสะท้อนให้เห็นในฐานข้อมูล ฉันสามารถทำได้โดยไม่ใช้ Geodatabase หรือไม่

1
Hibernate Spatial 4 และ PostGIS 2.0
ฉันมีปัญหาบางอย่างในการรวมเทคโนโลยีเหล่านี้: Hibernate Spatial 4.0-M1 PostGIS 2.0.2 (ด้วย JDBC 2.0.2 ที่คอมไพล์แล้ว) ไฮเบอร์เนต 4.1.1 ข้อผิดพลาดเฉพาะคือ: Caused by: org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of org.postgis.PGgeometry. Use setObject() with an explicit Types value to specify the type to use. หมายเหตุประกอบเอนทิตีคือ: @NotNull @Column(columnDefinition="Geometry") @Type(type="org.hibernate.spatial.GeometryType") private Point geom; และตัวอย่างการสร้างจุดคือ: Location …

1
การเพิ่มโทโพโลยีลงใน PostGIS
ฉันติดตั้ง PostGIS 2.0 และต้องการทอพอโลยีใหม่แล้ว แต่ไม่ได้ติดตั้งตามค่าเริ่มต้น ฉันพบบรรทัดคำสั่งจำนวนมากเพื่อติดตั้ง PostGIS 2.0 ด้วยทอปอโลยี แต่มีวิธีเพิ่มทอพอโลยีหรือไม่
10 postgis  topology 

3
ฉันจะทำให้พื้นที่ของรูปหลายเหลี่ยม WGS84 เป็นตารางเมตรได้อย่างไร
ต่อไปนี้เป็นพื้นที่ของรูปหลายเหลี่ยมในหน่วยสี่เหลี่ยมจัตุรัส: SELECT ST_Area(ST_GeomFromText('POLYGON((871325.790874952 6105405.3261047,871418.748307692 6105359.72944624,871346.22022442 6105215.141258,871254.85408906 6105261.72007212,871325.790874952 6105405.3261047))',4326)) As sqm; ผลลัพธ์: 16586.2319335938 ฉันจะหาพื้นที่เป็นตารางเมตรได้อย่างไร ฉันพยายามต่อไปนี้: SELECT ST_Area(ST_Transform(ST_GeomFromText('POLYGON((871325.790874952 6105405.3261047,871418.748307692 6105359.72944624,871346.22022442 6105215.141258,871254.85408906 6105261.72007212,871325.790874952 6105405.3261047))',4326)),31467) As sqm; แต่ดูเหมือนว่า ST_Transform จะไม่ทำงาน ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: ERROR: function st_transform(geometry) does not exist LINE 1: SELECT ST_Area(ST_Transform(ST_GeomFromText('POLYGON((871325... ^ HINT: No function matches the given name and argument types. You might …
10 postgis  area  wgs84 

2
อัปเดตแถวฐานข้อมูลด้วยคะแนนที่อยู่ในรูปหลายเหลี่ยม
ฉันมี PostGIS / Postgresql DB ที่มีสองตารางอยู่ในนั้น หนึ่งที่มีรูปทรงเรขาคณิตจุดและอื่น ๆ ที่แสดงถึงขอบเขตของประเทศเป็นรูปหลายเหลี่ยม ฉันต้องการเพิ่มชื่อประเทศที่แต่ละจุดตัดกับแต่ละแถวในตารางพอยต์ของฉัน อาจเป็นแบบสอบถามแบบใช้ปรับปรุงที่มีขนาดใหญ่ ฉันคิดว่านี่เป็นไปได้ที่จะใช้ SQL แบบตรง แต่ไม่รู้ว่าจะเริ่มต้นตรงไหน คำแนะนำใด ๆ เกี่ยวกับเรื่องนี้จะได้รับการชื่นชมอย่างมาก ...

2
วิธีเพิ่มจุดยอดนิยมไปยัง linestrings ที่มีอยู่
ถ้าฉันมี Linestring(1 2, 1 5, 1 9) และ Point(1 3) มีฟังก์ชั่นใด ๆ ที่สามารถรวมการคืนค่าและการเก็บรักษาจุดของคำสั่งเอาท์พุทดังนั้นจะเป็น: Linestring(1 2, 1 3, 1 5, 1 9)

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 …

2
เป็นไปได้ไหมที่จะระบุตำแหน่งทางแยกถนนด้วยการใช้ Nominatim?
เป็นไปได้หรือไม่ที่จะระบุตำแหน่งของทางแยกถนนโดยใช้ Nominatim ตัวอย่างแบบสอบถาม geocode Commonwealth Ave at Washington Street, Boston, MA Geocode ที่ประสบความสำเร็จโดย Google https://maps.google.com/maps?q=Commonwealth+Avenue+at+Washington+street,+Boston,+MA&hl=en&sll=42.351351,-71.118573&sspn=0.054868,0.132093&t=h&hnear=Commonwealth+Ave+%26+Washington+St,+Boston,+Suffolk,+Massachusetts+02135&z=17 Geocode ที่ล้มเหลวโดย Nominatim http://nominatim.openstreetmap.org/search.php?q=Commonwealth+Ave+at+Washington+Street%2C+Boston%2C+MA&viewbox=-337.5%2C85.34%2C337.5%2C-80.5

3
เลือกเฉพาะ Spatial tables จากฐานข้อมูล PostgreSQL หรือไม่
ฐานข้อมูลของฉันมีทั้งตาราง Spatial และ Non-Spatial แต่ฉันต้องการดึงเฉพาะ Spatial table จากแบบสอบถาม ข้อเสนอแนะใด ๆ เพื่อเลือกตารางเชิงพื้นที่เท่านั้น 'the_geom' คือคอลัมน์รูปทรงเรขาคณิตในตารางอวกาศ มิฉะนั้นเป็นไปได้หรือไม่ที่จะเลือกตารางจากชื่อคอลัมน์ ฉันพยายามที่มีรหัสนี้select relname from pg_stat_user_tables WHERE schemaname='public'; แต่จากนี้เราจะได้รับชื่อตารางทั้งหมด

2
วิธีการจับข้อผิดพลาด PostgreSQL / PostGIS ในการผูก GDAL / OGR Python?
เป็นไปได้หรือไม่ที่จะจับข้อความแสดงข้อผิดพลาดเอาต์พุต PostgreSQL ใน OGR หลังจากแบบสอบถามล้มเหลว ตัวอย่างเช่น conn.ExecuteSQL('SELECT * FROM non_existing_table;') ใน Postgres สิ่งนี้จะส่งคืนข้อความแสดงข้อผิดพลาด: "Error: relation 'non_existing_table' does not exist." ใน ogr เราได้มาตรฐาน: "Error: current transaction is aborted, commands ignored until end of transaction block" มันจะเป็นโบนัสถ้าเราสามารถจับ / แยกวิเคราะห์ข้อความแสดงข้อผิดพลาดของ Postgres ได้ ฉันสงสัยว่านี่เป็นช็อตเล็กน้อยที่ได้รับจากสิ่งที่ฉันได้อ่านเกี่ยวกับ SWIG / CPL แต่ก็คุ้มค่าที่จะถามว่าใครมีไอเดียไหม เป็นการดีที่จะเป็น Python แต่ฉันจะแสดงความคิดเห็น C / C …

3
การเติบโตรูปทรงเรขาคณิตของ PostGIS เป็นเปอร์เซ็นต์
ฉันกำลังมองหาวิธีเพิ่มบัฟเฟอร์รอบ ๆ เรขาคณิตของ PostGIS แต่ขนาดของบัฟเฟอร์ควรขึ้นอยู่กับขนาดของเรขาคณิต นั่นคือฉันต้องการให้แต่ละเรขาคณิตขยายใหญ่ขึ้นโดยพูดว่า 5% แนวคิดคือฉันกำลังมองหารูปทรงเรขาคณิตที่ตัดกัน แต่อาจมีข้อผิดพลาดสูงถึง 5% ที่เกี่ยวข้องกับแต่ละรูปแบบที่ฉันต้องการนำมาพิจารณา ใครรู้วิธีที่ดีที่สุดในการทำเช่นนี้? ฐานข้อมูลมีจำนวนล้านแถวดังนั้นฉันต้องการให้มันเร็วพอสมควร

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