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

PostgreSQL เป็นระบบฐานข้อมูลเชิงสัมพันธ์เชิงวัตถุแบบโอเพ่นซอร์ส

1
วิธีสร้างตารางจากตารางที่มีอยู่ (ใช้ schema ใหม่) ใน postgis DB
ฉันมีตารางที่เปิดใช้งานทางภูมิศาสตร์ ที่มีพรมแดนโลก ฉันต้องการที่จะทำลายมันลงไปใน schemas ที่แตกต่างกัน (ทั่วโลกยุโรป ฯลฯ .. ) ความคิดของฉันคือการใช้สิ่งที่มีลักษณะเช่นนี้: CREATE TABLE europe.borders AS (SELECT * FROM wo_borders WHERE admin_lvl2='eu' ); //just an example! อะไรคือสิ่งที่ถูกต้องในการสร้างตารางจากตารางที่มีอยู่ซึ่งพิจารณาสคีมาใหม่ ฉันต้องสร้างตารางใหม่ล่วงหน้าโดยใช้เทมเพลต postgis ที่เป็นค่าเริ่มต้นหรือไม่

1
ฉันจะค้นหาแบบใกล้ชิดกับ Postgis ได้อย่างไร
ฉันดาวน์โหลดฐานข้อมูล Geonames (เมือง 1,000) และเขียนโปรแกรม Ruby ขนาดเล็กเพื่อนำเข้ามาในตารางของฉัน ( geo_cities) geogจากนั้นผมก็เพิ่มคอลัมน์ภูมิศาสตร์ที่เรียกว่า จากนั้นฉันแปลงหมายเลข lat / lon ทั้งหมดลงในคอลัมน์ geog โดยใช้: update public.geo_cities set geog = st_GeogFromText('SRID=4326;POINT(' || longitude || ' ' || latitude || ')'); สิ่งที่ดูดี ตอนนี้สิ่งที่ฉันต้องการจะทำคือค้นหาเมืองทั้งหมดที่อยู่ภายใน 100 ไมล์จากปราก ดังนั้นฉันจะได้รับปรากเช่น: select * from geo_cities where asciiname = 'Prague' and countrycode = 'CZ'; ฉันยังคงเรียนรู้ …

4
วิธีแก้ไขปัญหาประสิทธิภาพใน PostGIS ST_Intersects
ฉันเป็นมือใหม่ใน postgis และฉันมีปัญหาในการค้นหา นี่แบบสอบถามของฉัน: SELECT DISTINCT ON (userid) userid ,ST_AsText(position), timestamp FROM table1 WHERE ST_Intersects ( ST_GeomFromText('a multiypolygon geom goes here',4326),position) ORDER BY userid, timestamp desc และปัญหาก็คือรูปหลายเหลี่ยมของฉันมีรูปหลายเหลี่ยมขนาดใหญ่มาก (หน้ายาว 600 หน้าใน word word!) และใช้เวลาดำเนินการนานกว่า 2 ชั่วโมง! มีวิธีเพิ่มประสิทธิภาพข้อความค้นหาของฉันหรือใช้วิธีอื่นได้หรือไม่ กรุณาช่วยให้คุณชื่นชมอย่างมาก!

4
เปลี่ยนชื่อตาราง postGIS และอัปเดต GeoServer หรือไม่
ฉันต้องการเปลี่ยนชื่อหนึ่งในตาราง postGIS ของฉัน อย่างไรก็ตามเมื่อฉันทำเช่นนี้โดยใช้ง่าย ALTER TABLE old_name RENAME TO new_name; ข้อมูลเชิงพื้นที่อย่างที่ฉันเข้าใจไม่มีการอัปเดตด้วยชื่อใหม่ ก่อนสามารถอ้างอิงเหล่านี้สามารถแก้ไขได้โดยการเรียกใช้ฟังก์ชัน: SELECT probe_geometry_columns() โต๊ะตัวเองตกลงหลังจากนี้หรือไม่ หรือควรใช้มาตรการอื่น ๆ ด้วย? ประการที่สองฉันจะอัปเดต GeoServer เพื่อให้พบตารางใหม่ได้อย่างไร ณ ตอนนี้ถ้าฉันใช้คำสั่งข้างต้นและแก้ไขข้อมูลเลเยอร์บน GeoServer ให้ชี้ไปที่ชื่อใหม่ ... ฉันยังคงได้รับข้อผิดพลาด (GeoServer ยังคงพยายามค้นหาภายใต้ชื่อเก่า) ตรงที่ชื่อเลเยอร์ควรเปลี่ยนใน GeoServer ที่ไหน?

1
ทางแยกหลายชั้นใน PostGIS
ฉันต้องเขียนขั้นตอนการเก็บ PL / pgSQL สำหรับการคำนวณจุดตัดของหลายชั้น ตัวอย่างเช่นสำหรับสามเลเยอร์ A, B, C ฟังก์ชั่นนี้ควรคืนค่า ABC เบื้องต้น: ฟังก์ชั่นรับอินพุต id ของเลเยอร์ที่ต้องตัดกัน ทุกคนสามารถให้คำแนะนำในการสร้างฟังก์ชั่นนี้ได้หรือไม่? ความคิดของฉันเกี่ยวกับเรื่องนี้ฉันต้องตัดชั้นหนึ่งและชั้นสองจากนั้นผลลัพธ์ของจุดตัดนี้ตัดกับชั้นที่สามเป็นต้น

1
วิธีรับผู้สนับสนุนบน OpenStreetMap
ฉันใส่ไฟล์ osm ของฉันไว้ที่ฐานด้วย osm2pgsql และฉันกำลังมองหาวิธีที่จะได้รายชื่อผู้มีส่วนร่วม ฉันค้นหาในฐานข้อมูลของฉันและไม่พบมาก ... และ osm wiki เกี่ยวกับ schmosm2pgsql ไม่มีรายละเอียดมากมาย ... เป็นไปได้ไหม?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.