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

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

2
การสร้างรูปทรงเรขาคณิตจาก lat / lon ในตารางโดยใช้ PostGIS?
ฉันมีตารางที่มีมากกว่า 800,000 รายการรวมทั้งคอลัมน์ lat และ long แหล่งข้อมูลไม่ได้สร้างรูปทรงเรขาคณิตดังนั้นฉันจึงดูวิธีการทำสิ่งนี้ ฉันรู้ว่ามี ST_MakePoint (x, y, SRID) แต่เอกสารทั้งหมดและเธรดอื่น ๆ แสดงวิธีสร้างจุดเดียว ฉันจะสร้างรูปทรงเรขาคณิตโดยใช้คอลัมน์เหล่านี้ได้อย่างไร
15 postgis  sql 

1
การเลือกกลุ่มเพื่อนบ้านที่ใกล้ที่สุดใน QGIS
ฉันมีรายการที่มีมากกว่า 100,000 คะแนนในรูปแบบ lat / long ซึ่งฉันได้นำเข้าสู่ qgis ตอนนี้สิ่งที่ฉันพยายามทำที่นี่คือจัดกลุ่มจุดทั้งหมดเหล่านี้เป็นกลุ่มกล่องและโดยที่ฉันหมายถึงว่าฉันต้องการแยกแผนที่เป็นกล่องขอบ ความต้องการของฉันมีดังนี้: ไม่ควรจัดกลุ่มที่มีกล่องน้อยกว่า 100 และไม่เกิน 200 คะแนน ไม่ควรมีจุดอยู่ในกลุ่มมากกว่าหนึ่งกลุ่ม คะแนนทั้งหมดควรขึ้นอยู่กับเพื่อนบ้านที่ใกล้ที่สุด ฉันจะทำสิ่งนี้ผ่าน qgis ได้อย่างไร? ฉันสมมติว่าสามารถส่งรหัสแบบสอบถามที่กำหนดเองและบันทึกผลลัพธ์หรือกล่องที่สร้างขึ้นเป็นรูปร่างไฟล์ที่ถูกต้องหรือไม่ มีคนช่วยอธิบายวิธีการนี้ให้สำเร็จและรหัสจะเป็นอย่างไร ตามที่กล่าวไว้วัตถุประสงค์ของฉันคือการแสดงกล่องสี่เหลี่ยมจำนวนหนึ่งเป็นเลเยอร์ shapefile โดยภายในแต่ละกล่องจะมีคุณสมบัติไม่น้อยกว่า 100 คุณสมบัติและไม่เกิน 200

3
การเลือกคุณสมบัติตามคุณสมบัติถ้าอยู่ในรายการ Python?
ฉันกำลังพยายามเลือกตามคุณลักษณะใน Python ให้เสร็จสิ้น แต่ขึ้นอยู่กับแบบสอบถามว่ามีแอตทริบิวต์อยู่ในรายการหรือไม่ แบบสอบถามที่ง่ายที่สุดควรเป็นดังนี้: qry = " \"OBJECTID\" in oid_list" arcpy.SelectLayersByAttribute_management(inft, "NEW_SELECTION", qry) แต่วิธีการนั้นจะส่งกลับข้อผิดพลาดการแสดงออกที่ไม่ถูกต้อง ก่อนหน้านี้ฉันต้องใช้ระบบที่ซับซ้อนมากขึ้นสำหรับการสืบค้นประเภทนี้เช่น: sqlQuery2 = "nid in (" + ','.join(["'"+x+"'" for x in delta_list]) +")" แต่การปรับตัวอย่างโค้ดนี้ก็ไม่ได้ผลสำหรับฉันเช่น: "OBJECTID_1 in (" + ','.join(["'"+str(x)+"'" for x in oid_list]) +")" ฉันหายไปนี่อะไร

1
สร้างรูปหลายเหลี่ยมจากบรรทัดใน PostGIS
ฉันพยายามแบ่งรูปหลายเหลี่ยมในรูปหลายเหลี่ยมที่เล็กกว่าจากบรรทัด แต่ฉันคิดว่าฉันไม่สามารถใช้ฟังก์ชัน st_split ได้ สิ่งที่ฉันต้องการคือการสร้างรูปหลายเหลี่ยมขนาดเล็กภายในชิ้นส่วนขนาดใหญ่โดยใช้ตาราง linestring ฉันลองมาหลายวิธีแล้ว แต่ไม่สามารถรับผลลัพธ์ได้ สิ่งที่ฉันได้ลอง: แบ่งรูปหลายเหลี่ยมหนึ่งรูปจาก LineString โดยใช้ st_split () จากรูปหลายเหลี่ยมขอบเขต และตาราง Linestring: ฉันต้องการรูปหลายเหลี่ยมต่อไปนี้: ปัญหา : ฉันไม่สามารถแบ่งรูปหลายเหลี่ยมออกจากหลาย ๆ เส้นไม่ได้รูปหลายเหลี่ยมจาก Multilinestring วิธีอื่นที่ฉันพยายามคือการสร้างรูปหลายเหลี่ยมจากบรรทัดที่มี st_polygonize () SQL ที่ฉันพยายามคือ: SELECT g.path[1] as gid, g.geom::geometry(polygon, 22033) as geom FROM (SELECT (ST_Dump(ST_Polygonize(geom))).* FROM linestable ) as g; แยกจากการสร้างรูปหลายเหลี่ยมจากส่วนของบรรทัดโดยใช้ PostgreSQL และ PostGIS ปัญหา …
13 postgis  sql  topology 

1
คีย์ / ค่า Hstore แบบรวมและการสืบค้นเชิงพื้นที่ช้าเกินไปที่จะจัดการสารสกัด OSM ที่ใหญ่กว่า
ฉันพยายามคำนวณสถิติของข้อมูล OSM โดยใช้ PostgreSQL 9.3.5 และ PostGIS 2.1.4 ฉันเริ่มต้นด้วยสารสกัดบาวาเรียขนาดเล็กซึ่งฉันดาวน์โหลดจาก Geofabrik db schema เป็น API แบบปกติ 0.6 0.6 ข้อมูลจะถูกนำเข้าผ่านวิธีการถ่ายโอนข้อมูลไปยัง Postgres (โดยใช้สคริปต์ pgsnapshot_schema_0.6 * .sql ซึ่งมาพร้อมกับ osmosis) ทำการวิเคราะห์สูญญากาศด้วย สิ่งเดียวที่ทำเองที่ฉันใช้อยู่คือตารางรูปหลายเหลี่ยมซึ่งมีมัลติโพลิกอนสำหรับความสัมพันธ์ด้านการดูแลระบบทั้งหมด เรขาคณิตของรูปหลายเหลี่ยมนั้นไม่ได้ทำให้ง่ายขึ้น แต่อย่างใด สิ่งที่ฉันพยายามจะทำคือการนับจำนวนโหนดทั้งหมดที่อยู่ใน admin = 6 ขอบเขตของบาวาเรีย นี่คือแบบสอบถาม SQL ของฉัน: SELECT relpoly.id, count(node) FROM bavaria.relpolygons relpoly, bavaria.nodes node WHERE relpoly.tags @> '"boundary"=>"administrative","admin_level"=>"6"'::hstore AND …

2
ประโยชน์ของการใช้ ArcGIS กับ PostgreSQL เพียงแค่ ArcSDE คืออะไร
ผมเข้าใจว่าเพื่อที่จะได้รับประโยชน์จาก ArcGIS ประเภทข้อมูลเชิงพื้นที่ (ST_GEOMETRY, versioned geodatabases ฯลฯ ) ArcSDE จะต้องติดตั้ง - และมีลูกค้า 10.1 มีการติดตั้งโดยอัตโนมัติ (ไคลเอนต์สองชั้น >> DBMS ดูที่นี่ อย่างไรก็ตามฉันยังคงพยายามหาประโยชน์ของการเชื่อมต่อส่วนหน้า Esri กับ PostgreSQL (หรือ Oracle) มันเป็นข้อดีของ back-end อย่างแท้จริงหรือไม่เช่น scalability / performance / redundancy / DBAability หรือมีฟีเจอร์ front-end เพิ่มเติมจาก PostgreSQL / PostGIS setup? ความช่วยเหลือของ Esri ดูเหมือนจะไม่ซับซ้อน FYI, ฉันเป็นมือใหม่มากฐานข้อมูลที่ออกแบบวิทยานิพนธ์ GIS เพื่ออธิบายว่าทำไม Postgresql / …

3
วิธีการสอดแทรกตำแหน่ง GPS ใน PostGIS
ฉันมีตารางตำแหน่ง GPS ของ PostGIS ทุกห้าวินาที: 2011-01-01 00:00:05, POINT(x1,y1) 2011-01-01 00:00:10, POINT(x2,y2) 2011-01-01 00:00:15, POINT(x3,y3) ... ฉันกำลังค้นหาข้อความค้นหาที่จะคืนค่า (เวลาและจุด) ทุกวินาที มันก็โอเคที่จะคิดว่าจุดเชื่อมต่อกันเป็นเส้นตรง ฉันกำลังมองหาวิธีการทำเช่นนี้โดยเฉพาะในฐานข้อมูลและไม่ได้โดยการเขียนสคริปต์ภายนอก

2
รับเรขาคณิตจากหลาย ๆ ตารางโดยใช้ PostGIS
ฉันยังใหม่กับ PostGIS, PostgreSQL และ SQL โดยทั่วไป ฉันมีตาราง 44 ตารางในฐานข้อมูล PostGIS ของฉันและแต่ละตารางแสดงเลเยอร์ข้อมูลเวกเตอร์ที่แตกต่างกัน แต่ละไฟล์ถูกโหลดจากรูปร่างที่แยกต่างหากและแต่ละคอลัมน์จะมีคอลัมน์ที่อธิบายถึงรูปทรงเรขาคณิตสำหรับชั้นที่เรียกว่าwkb_geometry ฉันต้องการเลือกรูปหลายเหลี่ยมที่เฉพาะเจาะจงในชั้นหนึ่งแล้วเรียกรูปทรงเรขาคณิตทั้งหมดจากชุดย่อยของชั้นที่ซ้อนทับกล่องขอบเขตของรูปหลายเหลี่ยมนั้น ฉันไม่รู้สึกจู้จี้จุกจิกเกี่ยวกับการออกคำสั่ง แต่มันจะมีประโยชน์ถ้ามันถูกจัดระเบียบโดยตารางแต่ละกลุ่มของรูปทรงเรขาคณิตมาจาก นี่คือตัวอย่างของคำสั่ง SQL ของฉัน: SELECT ST_AsEWKT(wkb_geometry) /* Some of this data has z values, hence the EWKT */ FROM table2, table3, table4, table5 WHERE wkb_geometry && ( SELECT wkb_geometry FROM table1 WHERE ogc_fid = 25 ); …
13 postgis  sql 

1
จะใช้ ST_DelaunayTriangles เพื่อสร้างไดอะแกรม Voronoi ได้อย่างไร
(แก้ไข 2019) ST_VoronoiPolygonsมีให้ตั้งแต่ PostGIS v2.3 ! ด้วย PostGIS 2.1+ เราสามารถใช้ST_DelaunayTriangles ()เพื่อสร้างDelaunay triangulationซึ่งเป็นกราฟคู่ของแผนภาพ Voronoiและในทางทฤษฎีพวกเขามีการแปลงที่แน่นอนและย้อนกลับได้ มีสคริปต์มาตรฐาน SQL ที่ปลอดภัย พร้อมอัลกอริธึมที่เหมาะสมสำหรับการแปลง PostGIS2 Delaunay-to-Voronoi นี้หรือไม่? อ้างอิงอื่น ๆ : 1 , 2

1
คำนำหน้า ST_ เหมาะสมสำหรับฟังก์ชั่นที่ไม่รวมอยู่ใน SQL / MM ตอนที่ 3 หรือไม่?
ผมอ่านกระทู้ในเชิงพื้นที่ส่วนขยายสำหรับ Presto ในปัญหา Github นี้ซึ่งเป็นฟังก์ชั่นline_locate_pointได้รับการแนะนำ มันขึ้นอยู่กับST_LineLocatePointฟังก์ชั่นของ PostGIS ซึ่งจะส่งกลับทุ่นที่เป็นตัวแทนของเศษส่วนตามเส้นของจุดที่ใกล้ที่สุดในบรรทัดนั้นไปยังตำแหน่งที่กำหนด คำถามเกิดขึ้นเพราะเหตุใดจึงตั้งชื่อline_locate_pointและไม่ST_LineLocatePointเหมือนรุ่น PostGIS การตอบสนองเป็นว่าการทำงานนี้ไม่ได้อยู่ใน SQL / MM ส่วนที่ 3 ST_มาตรฐานและดังนั้นจึงไม่ควรเริ่มต้นด้วย การอ่านผ่านมาตรฐานอย่างรวดเร็วฉันไม่เห็นความคิดเห็นใด ๆ เกี่ยวกับวิธีจัดการกรณีที่คุณแนะนำฟังก์ชันเชิงพื้นที่ให้กับฐานข้อมูลของคุณที่ไม่ได้อยู่ในมาตรฐาน จิตวิญญาณของST_คำนำหน้าเพื่อแยกความแตกต่างของฟังก์ชั่นเชิงพื้นที่จากฟังก์ชั่นที่ไม่ใช่เชิงพื้นที่ (ดูเหมือนจะเป็นกรณีที่มี PostGIS) หรือมันคือการระบุว่าฟังก์ชั่นเป็นไปตามฟังก์ชั่นที่เทียบเท่าใน SQL / MM ตอนที่ 3? เมื่อมองถึงสถานะปัจจุบันของ API ของ Prestoฉันต้องบอกว่าวิธีการหลังดูสะอาดน้อยลงและทำให้เกิดความสับสนว่าทำไมชื่อไม่สอดคล้องกัน แต่บางทีนี่อาจแก้ไขได้ด้วยข้อความง่ายๆที่ด้านบน จากนั้นคำถามของฉันคือว่ามีบางส่วนของมาตรฐานที่ฉันมองเห็นหรือไม่ซึ่งอนุญาตให้ส่วนขยายเกินกว่าชุดวัตถุเชิงพื้นที่ที่กำหนดไว้หรืออีกวิธีหนึ่งหากเป็นสิ่งต้องห้ามอย่างชัดแจ้งโดยกฎบางข้อที่เป็นลายลักษณ์อักษรหรือไม่ได้เขียน .

3
การสร้างแผนภาพ Voronoi ใน PostGIS
ฉันพยายามที่จะสร้างแผนภาพ Voronoi จากตารางของจุดใช้รหัสดัดแปลงมาจากที่นี่ นี่คือแบบสอบถาม SQL หลังจากแก้ไขของฉัน: DROP TABLE IF EXISTS example.voronoi; WITH -- Sample set of points to work with Sample AS (SELECT ST_SetSRID(ST_Union(geom), 0) geom FROM example."MeshPoints2d"), -- Build edges and circumscribe points to generate a centroid Edges AS ( SELECT id, UNNEST(ARRAY['e1','e2','e3']) EdgeName, UNNEST(ARRAY[ ST_MakeLine(p1,p2) , ST_MakeLine(p2,p3) , …

2
นำเข้าไฟล์ CSV ขนาดใหญ่ไปยัง PostGIS
ฉันกำลังพยายามนำเข้าไฟล์ CSV ไปยัง PostGIS ติดตามโพสต์นี้ฉันได้สร้างตารางก่อน ฉันพบข้อเสนอแนะอื่น ๆ ที่บอกว่าฉันสามารถเรียกใช้คำสั่งคัดลอก ถ้าฉันใช้คำสั่งนี้: COPY table FROM '/Users/macbook/file.csv' DELIMITERS ',' CSV HEADER; มันไม่ได้คัดลอกตารางเลย มันบอกว่า "ตาราง" ไม่เป็นที่รู้จัก ฉันลองสิ่งนี้: COPY moulding (Borough,Block,Lot,CD,CT2010,CB2010,SchoolDist,Council,ZipCode,FireComp,PolicePrct,Address,ZoneDist1,ZoneDist2,ZoneDist3,ZoneDist4,Overlay1,Overlay2,SPDist1,SPDist2,LtdHeight,AllZoning1,AllZoning2,SplitZone,BldgClass,LandUse,Easements,OwnerType,OwnerName,LotArea,BldgArea,ComArea,ResArea,OfficeArea,RetailArea,GarageArea,StrgeArea,FactryArea,OtherArea,AreaSource,NumBldgs,NumFloors,UnitsRes,UnitsTotal,LotFront,LotDepth,BldgFront,BldgDepth,Ext,ProxCode,IrrLotCode,LotType,BsmtCode,AssessLand,AssessTot,ExemptLand,ExemptTot,YearBuilt,BuiltCode,YearAlter1,YearAlter2,HistDist,Landmark,BuiltFAR,ResidFAR,CommFAR,FacilFAR,BoroCode,BBL,CondoNo,Tract2010,XCoord,YCoord,ZoneMap,ZMCode,Sanborn,TaxMap,EDesigNum,APPBBL,APPDate,PLUTOMapID,Version) FROM '/Users/macbook/file.csv' DELIMITERS ',' CSV HEADER; แต่ก็ไม่ได้ผลเหมือนกัน ตัวอย่างของชุดข้อมูลดังกล่าวสามารถดาวน์โหลดได้จากลิงค์นี้: ฉันควรสร้างแบบจำลองและเรียกใช้งานหรือไม่

1
จะติดตามการสืบค้น SQL ที่ส่งโดย ArcGIS Server (ArcSDE) ไปยังฐานข้อมูล Oracle ได้อย่างไร
ฉันต้องการสร้างไฟล์บันทึกที่มีคำสั่ง SQL ทั้งหมดที่ส่งโดย ArcGIS Server (ArcSDE) ไปยังฐานข้อมูล Oracle มีวิธีทำเช่นนั้นหรือไม่? ฉันใช้ Oracle 11g และ ArcGIS Server 10.0 บน Windows ArcSDE ใช้ในการเชื่อมต่อโดยตรง

1
เลือกคำถามยอดนิยมใน ArcGIS Desktop หรือไม่
มีวิธีการใช้ SELECT TOP (n) ในเดสก์ท็อป ArcGIS หรือไม่? ปรากฏว่าเนื่องจากตัวสร้างแบบสอบถาม ArcGIS สร้างคำสั่ง SQL ได้อย่างมีประสิทธิภาพหลังจากส่วนคำสั่ง WHERE ซึ่งอาจเป็นไปไม่ได้ นี่คือตัวอย่างการใช้งานSQL ทั่วไป : SELECT TOP 3 * จาก Layer

1
กำลังอัปเดตฟิลด์เพื่อนับจำนวนจุดเป็นรูปหลายเหลี่ยมโดยใช้ STIntersects
ฉันมีเลเยอร์แต้ม (dbo.ptLayer) ประมาณ 1 ล้านคะแนน ประเภทเรขาคณิตเชิงพื้นที่ (dbo.ptLayer.geom) ยังไม่มีดัชนีเชิงพื้นที่ แต่จะสร้างหนึ่งครั้งเมื่อการรวบรวมข้อมูลเสร็จสมบูรณ์ ฉันมีเลเยอร์หลายเหลี่ยม (dbo.polygonLayer) ประมาณ 500 รูปหลายเหลี่ยม ประเภทเรขาคณิตเชิงพื้นที่ (dbo.polygonLayer.geom) ทั้งสองมีเขตข้อมูลที่เรียกว่า ID ฉันจะเติมฟิลด์จำนวนเต็มว่างในเลเยอร์รูปหลายเหลี่ยมด้วยการนับจำนวนคะแนนรวมภายในแต่ละรูปหลายเหลี่ยมได้อย่างไร แม้ว่าฉันจะสามารถเข้าถึงผลิตภัณฑ์ซอฟต์แวร์อื่น ๆ ได้ แต่ฉันสนใจที่จะเรียนรู้สิ่งที่สามารถทำได้อย่างหมดจดภายใน SQL และ SQL Server ฉันเชื่อว่าฉันควรใช้ประโยชน์จากSTIntersectsแต่ต้องการทราบว่าวิธีใดที่ดีที่สุดในการอัปเดตเพื่อเติมข้อมูลในฟิลด์นี้

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