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

คำย่อสำหรับภาษาของแบบสอบถามที่มีโครงสร้าง ไวยากรณ์สำหรับการดึงและจัดการข้อมูลจากฐานข้อมูลเชิงสัมพันธ์

2
รับความเร็วเหมือน ArcGIS ใน Postgis
ฉันใช้ Postgis 2.0 เป็นเวลา 3/4 ของปีแล้วและในขณะที่ฉันสนุกกับการใช้งานจริง ๆ เวลาที่ใช้ในการประมวลผลแบบสอบถามที่มากเกินไปทำให้มันใช้ไม่ได้กับกรณีการใช้งานของฉัน ฉันมักจะทำการประมวลผลทางภูมิศาสตร์อย่างหนักในชุดข้อมูลเทศบาลซึ่งมักจะมีหลายหมื่นหลายพัน รูปหลายเหลี่ยมเหล่านี้บางครั้งมีรูปร่างที่ผิดปกติมากและอาจแตกต่างกันจาก 4 คะแนนเป็น 78,000 จุดต่อหลายรูปหลายเหลี่ยม ตัวอย่างเช่นเมื่อฉันตัดชุดข้อมูลพัสดุภัณฑ์ด้วยชุดข้อมูลจำนวน 329,152 ชุดโดยมีชุดเขตอำนาจศาลที่ประกอบด้วยชุดข้อมูลจำนวน 525 ชุดฉันจะได้รับสถิติต่อไปนี้สำหรับเวลาทั้งหมดที่ใช้ไป: ArcGIS 10.0 (on same host with windows 7 OS): 3 minutes Postgis:56 minutes (not including geometry pre-processing queries) กล่าวอีกนัยหนึ่งมันต้องใช้เวลาในการทำจุดตัดนี้ใน Postgis มากกว่า 1500% กว่าใน ArcGIS - และนี่คือหนึ่งในข้อความค้นหาที่เรียบง่ายของฉัน! เหตุผลหนึ่งที่ ArcGIS คาดว่าจะทำงานได้เร็วกว่านั้นก็เนื่องมาจากดัชนีที่ดีขึ้น โปรแกรมเมอร์บางคนเพิ่งรู้ว่าดัชนีเหล่านี้ทำงานอย่างไรและฉันสงสัยว่าใครรู้วิธีสร้างดัชนีเหล่านี้ใน Postgis …

4
เข้าร่วมรูปหลายเหลี่ยมขนาดเล็กจำนวนมากเพื่อสร้างรูปหลายเหลี่ยมที่มีขนาดใหญ่ขึ้นโดยใช้ PostGIS
ฉันมีเลเยอร์ต่อไปนี้ใช้ SRID 27700 ใน postgis: เป็นเขตการปกครองทุกแห่งในสหราชอาณาจักรและ (ตามที่คุณเห็นจากการจัดกลุ่มสี) แต่ละเขตข้อมูลมีเขตข้อมูลข้อความระบุเขตที่พวกเขาอยู่ สิ่งที่ฉันต้องการทำคือการทำให้รูปหลายเหลี่ยมของมณฑลใหญ่ขึ้นจากรูปเล็กในเขตที่กำหนดดังนั้น EG ในภาพด้านบนรูปหลายเหลี่ยมสีนกเป็ดน้ำจะกลายเป็นรูปหลายเหลี่ยมขนาดใหญ่หนึ่งรูปจากวงแหวนด้านนอกเดียวที่มี polys ทั้งหมดในนั้น สีเช่นสีม่วง, น้ำตาล, ชมพู, เทา ฯลฯ อย่างชาญฉลาดควรรวมกันเป็นหนึ่งเดียว ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: insert into parishesmerged (geometry) select astext(multi(ST_Union(the_geom))) as the_geom from parishes group by county_name แต่มันก็สร้างรูปทรงที่แตกซึ่งฉันมีปัญหาใหญ่ในการประมวลผลต่อไป ฉันกำลังพยายามทำแผนที่ระดับเคาน์ตีที่เรียบง่ายขึ้นด้วยพื้นที่เอาท์พุทหลักใน โซลูชันใด ๆ ก็ไม่จำเป็นต้องอยู่ใน Postgis เช่นกันฉันได้ติดตั้งสแต็ค OS4Geo เต็มเวอร์ชั่นล่าสุดของ QGis และอุปกรณ์อื่น ๆ มากกว่าที่ฉันสามารถจับได้ สิ่งเดียวที่ฉันไม่มีคือชายใหญ่อย่าง ArcGis (แม้ว่าฉันอาจมี Mapinfo …
47 postgis  sql  dissolve 

8
เลือกคุณสมบัติที่ไม่ตัดกันใน PostGIS
ดูเหมือนว่าฉันจะชอบคำถามง่ายๆ (และอาจเป็น) แต่ฉันก็ไม่สามารถหาตัวอย่างที่ให้คำตอบได้ ใช้ PostGIS ฉันแค่ต้องการเลือกจุดที่อยู่นอกรูปหลายเหลี่ยม ท้ายที่สุดนี่คือสิ่งที่ตรงกันข้ามของ ST_Intersects เท่าที่ฉันจะเห็น ตัวอย่าง: ฉันมีเลเยอร์ภาษีและชั้นที่อยู่ ฉันคิดว่าฉันควรใช้ ST_Intersects แต่ฉันจะบอกให้ทำการเลือกแบบย้อนกลับได้อย่างไร ฉันคิดว่าอาจเพิ่มคำสั่งNOTด้านหน้าโค้ดด้านล่าง แต่นั่นไม่ได้ผล CREATE table t_intersect AS SELECT hp.gid, hp.st_address, hp.city, hp.st_num, hp.the_geom FROM public.parcel as par, public.housepoints as hp WHERE ST_Intersects(hp.the_geom,par.the_geom);

21
กำลังเชื่อมต่อกับฐานข้อมูล PostGIS จาก ArcMap เพื่อแสดงและค้นหาโดยไม่ต้องใช้ ArcSDE?
ฉันจะเชื่อมต่อกับฐานข้อมูล PostGIS จาก ArcMap โดยใช้ ArcGIS Desktop 9.3 และใหม่กว่าได้อย่างไร ฉันต้องการที่จะสามารถดำเนินการสอบถามเชิงพื้นที่และได้รับผลตอบแทน (เช่นการเข้าร่วมเชิงพื้นที่และไม่เชิงพื้นที่การกรอง ฯลฯ ) แทนที่จะเพียงแค่ทิ้งเนื้อหาของตาราง ฉันไม่ต้องการใช้ส่วนขยายอวกาศ ArcSDE ฉันต้องการใช้ส่วนขยายอวกาศ PostGIS ในเดสก์ท็อป ArcGIS

4
แบบสอบถาม SQL เพื่อให้มีคุณสมบัติ geojson ที่สมบูรณ์จาก PostGIS?
ฉันต้องการได้รับคุณสมบัติ geojson พร้อมคุณสมบัติจาก PostGIS ฉันพบตัวอย่างเพื่อให้มีการรวบรวมฟีเจอร์ แต่ฉันไม่สามารถใช้งานได้กับฟีเจอร์ SELECT row_to_json(fc) FROM ( SELECT 'FeatureCollection' As type, array_to_json(array_agg(f)) As features FROM (SELECT 'Feature' As type , ST_AsGeoJSON(lg.geog)::json As geometry , row_to_json(lp) As properties FROM locations As lg INNER JOIN (SELECT loc_id, loc_name FROM locations) As lp ON lg.loc_id = lp.loc_id ) As f …

5
คอนโซล SQL ใน QGIS
ฉันรู้ว่า QGIS มาพร้อมกับเครื่องคำนวณภาคสนามซึ่งไม่เลว นอกจากนี้ยังมาพร้อมกับ ftools ที่อนุญาตการดำเนินการหลายอย่างเกี่ยวกับเรขาคณิตและคุณลักษณะ แต่บ่อยครั้งที่เราต้องการการควบคุมมากขึ้นและฉันไม่ได้เห็นเครื่องมือที่สะดวกสบายใน QGIS เพื่อดำเนินการดังกล่าว (ซึ่งคุณสามารถเลือกเขตข้อมูลที่คุณต้องการตัวอย่างหรือดำเนินการเกี่ยวกับคณิตศาสตร์ในขณะที่ทำการสืบค้นเชิงพื้นที่) โดยทั่วไปฉันต้องการทราบว่า SQL console (หน้าต่าง Mapinfo mapbasic ชนิดใดชนิดหนึ่ง) อยู่ในแผนงานของ QGIS หรือไม่ถ้ามันยากที่จะเขียนรหัสเป็นปลั๊กอิน หากยังมีอยู่โปรดแจ้งให้เราทราบฉันไม่ได้รับมัน! ;-)

3
การสร้างตารางเชิงพื้นที่ด้วย PostGIS
ในเอกสาร PostGIS มันบอกว่ามีสองขั้นตอนในการสร้างตารางเชิงพื้นที่ด้วย SQL: สร้างตารางที่ไม่ใช่เชิงพื้นที่ปกติ เพิ่มคอลัมน์เชิงพื้นที่ลงในตารางโดยใช้ฟังก์ชัน OpenGIS "AddGeometryColumn" ถ้าฉันทำตามตัวอย่างฉันจะสร้างตารางที่เรียกว่าterrain_points: CREATE TABLE terrain_points ( ogc_fid serial NOT NULL, elevation double precision, ); SELECT AddGeometryColumn('terrain_points', 'wkb_geometry', 3725, 'POINT', 3 ); หรือถ้าฉันดูตารางที่มีอยู่ในpgAdmin IIIดูเหมือนว่าฉันสามารถสร้างตารางเดียวกันดังนี้: CREATE TABLE terrain_points ( ogc_fid serial NOT NULL, wkb_geometry geometry, elevation double precision, CONSTRAINT terrain_points_pk PRIMARY KEY (ogc_fid), CONSTRAINT enforce_dims_wkb_geometry …


5
เลือกเค้าโครงที่ความสูงเป็นจำนวนเต็มหรือไม่
ฉันมีคุณลักษณะรูปทรงคลาสที่มีช่วงเวลา 0.2 เมตร ฉันต้องการเลือกเฉพาะ Contours เหล่านั้นซึ่งอยู่ที่ช่วง 1 m หรือไม่ ฉันได้ลองใช้รูปแบบต่อไปนี้ในกล่องโต้ตอบ 'เลือกตามคุณสมบัติ' (ใน ArcMap) แต่มันเลือกรูปทรงทั้งหมด: Mod("ELEVATION", 1)=0 ฉันควรเรียกใช้แบบสอบถามใด

4
กำลังรับรายการค่าที่แตกต่างจากฟิลด์รูปร่างไฟล์โดยใช้ QGIS?
ฉันมีรูปร่างไฟล์ที่คุณสมบัติฉันสามารถกรองได้โดยระบุส่วนคำสั่งที่ไหนในกล่องโต้ตอบแบบสอบถาม Fx ฉันมีฟิลด์ชื่อ 'city_name' และโดยระบุ 'city_name = "London"' ในตำแหน่งที่แสดงเฉพาะลอนดอนเท่านั้น สิ่งที่ฉันต้องการทำตอนนี้คือดึงค่าทั้งหมดใน 'city_name' จากตารางคุณลักษณะ อะไรแบบนั้น: select distinct city_name from [attribute table] ฉันพบเครื่องมือหลายอย่างใน QGIS ที่เห็นได้ชัดว่าเกี่ยวข้องกับ SQL และฉันก็ดูที่ปลั๊กอินต่าง ๆ อย่างรวดเร็ว แต่ฉันไม่สามารถเชื่อมต่อกับฐานข้อมูลหรือชื่อตาราง ... ฐานข้อมูลใดหรือตารางใดในกรณีนั้น ในที่สุดฉันต้องการส่งออกรายการผลลัพธ์และใช้เพื่อการประมวลผลเพิ่มเติม ฉันใช้ QGIS 1.8
18 qgis  shapefile  sql 

1
การเลือกคุณสมบัติตามคุณสมบัติโดยใช้ ogr2ogr?
ฉันกำลังเขียน shapefile หลังจากประมวลผลบางอย่าง; อย่างไรก็ตามในขั้นตอนสุดท้ายฉันต้องทำการเลือกบางอย่างโดยคุณสมบัติจาก Shapefile ฉันใช้คำสั่งในเชลล์โดยมีวัตถุประสงค์เพื่อใช้ในสคริปต์ Python เมื่อทำงาน ogr2ogr -f "ESRI Shapefile" -select * where ID="1" outfile.shp infile.shp ฉันได้รับข้อความแสดงข้อผิดพลาด: FAILURE: Unable to open datasource `Downloads' with the following drivers. ฉันทำอะไรผิดได้

3
แปลง MultiLinestring เป็น Linestring ด้วย PostGIS หรือไม่
ฉันมีสตริงหลายบรรทัดและต้องการแปลงเป็น linestring เพื่อใช้ฟังก์ชันบางอย่างที่ทำงานกับ linestrings เท่านั้น ฉันใช้ST_Dump()และได้รับรูปทรงเรขาคณิตของฉัน ถ้าฉันรวมพวกมันกลับมารวมกันฉันก็ยังได้ multilinestring ฉันควรหาจุดรวมและรวมเข้าด้วยกันหรือบางสิ่งเพื่อที่จะจบลงด้วยการใช้พลังงานแบบง่ายหรือไม่? ST_LineMerge()ยังใช้งานไม่ได้กับ multilinestring ของฉันมันกลับมาเหมือนเดิม ตัวอย่างของฉัน MULTILINESTRING ((- 3.16420835153456 55.9269166007097, -3.164222 55.926918), (- 55.9269296196706 3.1642070167833, -3.16421351659546 55.9268662214904), (- 3.16421351659546 55.9268662214904, -3.16421636372824 55.9268384509897), (- 3.16421636372824 55.9268384509897, -3.16422182573761 55.9267851753802), (- 3.16422182573761 55.9267851753802, -3.16422870102352 55.926718114886 ), (- 3.16422870102352 55.926718114886, -3.16423309121073 55.926675293667), (- 3.16423309121073 55.926675293667, -3.16423565148822 55.9266503211093), …
16 postgis  sql 

1
การระบุความสัมพันธ์ทอพอโลยีโดยใช้ PostGIS
ฉันกำลังพยายามวิเคราะห์แบบอักษรพื้นฐานโดยใช้ PostGIS จุดประสงค์ของฉันคือการค้นหารูปหลายเหลี่ยมที่สัมผัสรูปหลายเหลี่ยมอื่น ๆ เมื่อต้องการทำเช่นนี้ฉันคิดว่าST_GetFaceEdgesจะทำงานได้ ( อ้างอิง ) ฉันต้องการตรวจสอบทุกรูปหลายเหลี่ยมในฐานข้อมูลของฉันและรายการรูปหลายเหลี่ยมอื่น ๆ ทั้งหมดที่สัมผัส ในภาพด้านล่างฉันคาดหวังว่าผลลัพธ์จะบอกว่ารูปหลายเหลี่ยมสองอัน (ซึ่งเป็นอาคาร) แตะหนึ่งอาคารและผลลัพธ์ของอีก 4 รูปกล่าวว่าพวกเขาแตะ 0 รูปหลายเหลี่ยม อย่างไรก็ตามฉันมีปัญหาในการทำความเข้าใจว่าจะทำอย่างไร เมื่อฉันพยายามคัดลอกตัวอย่างมีบางส่วนที่ฉันไม่เข้าใจ -- Returns the sequence, edge id -- , and geometry of the edges that bound face 1 -- If you just need geom and seq, can use ST_GetFaceGeometry SELECT t.seq, …
16 postgis  sql  topology 

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) ) …

3
เข้าร่วมเส้นตัดกันกับ PostGIS
นี่คือสิ่งที่ฉันเกือบจะละอายใจที่จะถาม แต่ฉันดูเหมือนจะไม่สามารถทำงานให้กับชีวิตของฉันได้ ฉันมีเลเยอร์ถนนที่มีเซ็กเมนต์แต่ละเซกเมนต์มีRoad IDและเซกเมนtypeต์ ฉันต้องการที่จะเข้าร่วมทุกภาคส่วนร่วมกันสำหรับแต่ละRoad IDเป็นหนึ่ง LineString แต่เมื่อพวกเขาเป็นเดียวกันtypeและมีการสัมผัส (สายทั้งหมดจะ snaped กัน) Road ID - Type 1 L 1 L 1 T 1 L
15 postgis  sql 

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