คำถามติดแท็ก nearest-neighbor

เทคนิคในการสุ่มตัวอย่างข้อมูลแรสเตอร์ใหม่ซึ่งค่าของแต่ละเซลล์ในแรสเตอร์เอาต์พุตจะคำนวณโดยใช้ค่าของเซลล์ที่ใกล้ที่สุดในแรสเตอร์อินพุต

1
ปัญหาเพื่อนบ้านที่ใกล้ที่สุดใน Postgis 2.0 โดยใช้ GIST ดัชนี (<-> ฟังก์ชั่น)
ฉันพยายามใช้ฟังก์ชันใหม่ของ Postgis 2.0 &lt;-&gt; (Geometry Distance Centroid) เพื่อคำนวณสำหรับแต่ละแถวของตาราง (cosn1) ระยะทางของรูปหลายเหลี่ยมที่ใกล้เคียงที่สุดของชั้นเดียวกัน ฉันพยายามใช้รหัสต่อไปนี้: WITH index_query AS ( SELECT g1.gid As ref_gid, ST_Distance(g1.the_geom,g2.the_geom) As ENN FROM "cosn1" As g1, "cosn1" As g2 WHERE g1.gid &lt;&gt; g2.gid AND g1.class = g2.class ORDER BY g1.gid, g1.the_geom &lt;-&gt; g2.the_geom) SELECT DISTINCT ON (ref_gid) ref_gid, ENN FROM …

4
PostGIS จุดที่ใกล้ที่สุดด้วย ST_Distance, kNN
ฉันต้องการได้รับในแต่ละองค์ประกอบในหนึ่งตารางจุดที่ใกล้เคียงที่สุดของตารางอื่น ตารางแรกมีสัญญาณไฟจราจรและทางเข้าที่สองเป็นโถงทางเข้าของเมือง สิ่งหนึ่งคือฉันไม่สามารถใช้ฟังก์ชัน ST_ClosestPoint ได้และฉันต้องใช้ฟังก์ชัน ST_Distance และรับระเบียน min (ST_distance) แต่ฉันติดคำถามในการสร้าง CREATE TABLE traffic_signs ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT traffic_signs_pkey PRIMARY KEY (id), CONSTRAINT traffic_signs_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); CREATE TABLE entrance_halls ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT entrance_halls_pkey PRIMARY KEY (id), CONSTRAINT entrance_halls_id_key UNIQUE …

3
อัลกอริทึมเพื่อค้นหาจุดที่ใกล้ที่สุด
ฉันมีรายชื่อเมืองสองสามร้อยแห่งที่มีละติจูด / ลองจิจูดของพวกเขา ได้รับตำแหน่งอื่น (เช่น lat / long) ฉันต้องการค้นหาเมืองที่ใกล้ที่สุด ขณะที่ฉันไม่ได้ใช้ GIS ใด ๆ ตอนนี้อัลกอริทึมที่ชัดเจนคือการวนรอบเมืองทั้งหมดคำนวณระยะทางระหว่างจุด การทำลูปนั้นเป็นสิ่งที่ปฏิบัติได้จริงสำหรับฉัน แต่มีวิธีง่าย ๆ ในการใช้อัลกอริทึมเพื่อให้บรรลุผลนั้นมีประสิทธิภาพมากขึ้นหรือไม่ หรือไลบรารี่ไลต์บางตัวที่สามารถช่วยแก้ปัญหานั้นได้? หมายเหตุ : ฉันไม่ต้องการ / ต้องการโซลูชัน GIS ที่สมบูรณ์หรือไลบรารีที่หนัก / ซับซ้อน ฉันชอบโซลูชันที่ดีน้อยกว่า แต่ง่ายและเบากว่าเพราะนั่นเป็นสิ่งเดียวที่ฉันต้องแก้

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

3
ปรับการค้นหาเพื่อนบ้านที่ใกล้เคียงที่สุดบนจุดคลาวด์ 70 ล้านจุดบน SQL Server 2008
ฉันมีระเบียนประมาณ 75 ล้านระเบียนในฐานข้อมูล SQL Server 2008 R2 Express แต่ละรายการมีความยาว lat ที่สอดคล้องกับค่าบางค่า ตารางมีคอลัมน์ภูมิศาสตร์ ฉันกำลังพยายามหาเพื่อนบ้านที่ใกล้ที่สุดหนึ่งแห่งสำหรับละติจูดลองจิจูดที่ระบุ (จุด) ฉันมีข้อความค้นหาที่มีดัชนีเชิงพื้นที่อยู่แล้ว แต่ขึ้นอยู่กับตำแหน่งที่บันทึกในฐานข้อมูลพูดในไตรมาสแรกหรือไตรมาสที่แล้วแบบสอบถามอาจใช้เวลาประมาณ 3 ถึง 30 วินาทีในการค้นหาเพื่อนบ้านที่ใกล้ที่สุด ฉันรู้สึกว่าสิ่งนี้สามารถปรับให้เหมาะสมเพื่อให้ได้ผลลัพธ์ที่รวดเร็วยิ่งขึ้นด้วยการปรับการสืบค้นหรือดัชนีเชิงพื้นที่ ตอนนี้ใช้ดัชนีอวกาศด้วยการตั้งค่าเริ่มต้น นี่คือลักษณะตารางและข้อความค้นหาของฉัน CREATE TABLE lidar( [id] [bigint] IDENTITY(1,1) NOT NULL, [POINTID] [int] NOT NULL, [GRID_CODE] [numeric](17, 8) NULL, [geom] [geography] NULL, CONSTRAINT [PK_lidar_1] PRIMARY KEY CLUSTERED ([id] ASC) WITH …

3
การ Resampling ภาพเพื่อนบ้านที่ใกล้ที่สุดทำงานอย่างไรใน ArcGIS
ฉันพยายามที่จะเข้าใจว่าเพื่อนบ้านที่ใกล้ที่สุดสำหรับการ resampling ของชุดข้อมูลภาพทำงานใน ArcGIS ได้อย่างไร ค่าของเซลล์แรสเตอร์เอาท์พุทคือค่าของค่าเซลล์ที่ใกล้เคียงที่สุดในอินพุทแรสเตอร์: ในกรณีนี้ศูนย์กลางของแต่ละเซลล์ที่ส่งออกคือเซลล์กลางของเซลล์อินพุต 3x3 แต่ละเซลล์ จะเกิดอะไรขึ้นถ้าพวกมันอยู่ในระยะเดียวกัน? ถ้าเอาท์พุทมีครึ่งหนึ่งของมิติของสัญญาณที่จุดกึ่งกลางของเอาท์พุทจะมีระยะห่างเดียวกันกับ 4 เซลล์อินพุตใกล้เคียงที่สุด? InRas1=6x6 OutRas=3x3 เขาได้รับค่าส่วนใหญ่ของเซลล์หรือไม่ ไม่ หรือฉันกำลังพลาดบางสิ่งที่นี่

6
PostGIS: กำหนด ID ของจุดในเลเยอร์ A ไปยังจุดที่ใกล้เคียงที่สุดในชั้น B
นี่น่าจะเป็นสารตั้งต้นที่ชัดเจน (ที่ฉันไม่ได้ถาม) กับคำถามอื่น ๆ ของฉัน: วิธีสร้างไดอะแกรมเดอร์ (ฮับไลน์) ใน PostGIS ได้อย่างไร หากฉันไม่ทราบความสัมพันธ์ระหว่างจุดในเลเยอร์ A (ร้านค้า) และจุดในเลเยอร์ B (ลูกค้า) ฉันมักจะพูดว่า "ลูกค้า 1 เป็นร้านที่ใกล้ที่สุด" แม้ว่าฉันจะรู้ว่าความจริงข้อนี้อาจไม่เป็นความจริง แต่มันก็เป็นตัวแทนที่ดี การใช้ PostGIS เป็นวิธีที่มีประสิทธิภาพที่สุดในการกำหนด ID ของจุดที่ใกล้ที่สุดในชั้น A (ร้านค้า) ให้กับแต่ละจุดในชั้น B (ลูกค้า) ผลลัพธ์ที่ฉันกำลังมองหาเป็นดังนี้ Customer | Store 1 | A 2 | A 3 | B 4 | C

3
เพิ่มประสิทธิภาพการคำนวณเพื่อนบ้านที่ใกล้ที่สุดโดยใช้ PostGIS
ฉันใช้ PostGIS เพื่อคำนวณเพื่อนบ้านที่ใกล้เคียงที่สุดของรูปหลายเหลี่ยม สิ่งที่ฉันต้องการคำนวณคือระยะทางขั้นต่ำจากรูปหลายเหลี่ยมแต่ละรูปไปยังรูปหลายเหลี่ยมที่ใกล้ที่สุด จนถึงตอนนี้ฉันได้รับความช่วยเหลืออย่างมากจากคำตอบของ Mike Toews (ซึ่งฉันพูดด้วยการเปลี่ยนแปลงเล็กน้อย) ที่นี่: SELECT a.hgt AS a_hgt, b.hgt AS b_hgt, ST_Distance(a.the_geom, b.the_geom) AS distance_between_a_and_b FROM public."TestArea" AS a, public."TestArea" AS b WHERE a.hgt != b.hgt AND ST_Distance(a.the_geom, b.the_geom) &lt; 400 จากนั้นฉันคำนวณขั้นต่ำ: SELECT a_hgt, MIN(distance_between_a_and_b) FROM public."lon_TestArea" GROUP BY a_hgt อย่างไรก็ตามความท้าทายของฉันคือการคำนวณสิ่งนี้สำหรับรูปหลายเหลี่ยมจำนวนมาก (1,000,000) เนื่องจากการคำนวณข้างต้นเปรียบเทียบแต่ละรูปหลายเหลี่ยมกับรูปหลายเหลี่ยมอื่น ๆ ฉันสงสัยว่าฉันจะปรับปรุงการคำนวณได้อย่างไรเพื่อที่ฉันจะได้ไม่ต้องทำการคำนวณ …

2
ค้นหา lat lat ที่ใกล้เคียงที่สุดกับ lat lat Input (SQL Server 2008)
ฉันมีจุดเมฆในฐานข้อมูลของฉัน (SQL Server 2008 เชิงพื้นที่) นั่นคือประมาณ 6 ล้านบันทึก มี 3 คอลัมน์: id, value, geom เป็นวิธีที่ดีที่สุดในการรับ 'คุณค่า' ที่ lat lat นานอะไร? ฉันยังใหม่กับการสืบค้นเชิงพื้นที่ใน SQL Server 2008 ใครบางคนสามารถโพสต์ตัวอย่างง่ายๆในการค้นหาจุดในคอลัมน์ geom การจับคู่หรือใกล้เคียงที่สุดจาก lat lat อินพุทยาวได้หรือไม่

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

1
วิธีการหาจุดที่ใกล้ที่สุดใน dateline อย่างมีประสิทธิภาพ?
ฉันมีตาราง PostgreSQL 9.1 พร้อมจุด PostGIS นับแสนรายการ สำหรับแต่ละสิ่งเหล่านี้ฉันต้องการค้นหาจุดที่ใกล้ที่สุดในตาราง POINTs อื่น คะแนนในตารางที่สองแสดงตารางทั่วโลกดังนั้นฉันรู้ว่าจะมีการแข่งขันภายใน 1 องศาเสมอ นี่คือคำถามที่ฉันใช้จนถึงตอนนี้ซึ่งใช้ดัชนี GIST ดังนั้นมันจึงค่อนข้างเร็ว (รวมประมาณ 30 วินาที) SELECT DISTINCT ON (p.id) p.id, ST_AsText(p.pos) , ST_AsText(first_value(g.location) OVER (PARTITION BY p.id ORDER BY ST_Distance(p.pos, g.location::geography))) FROM point p JOIN grid g ON ST_DWithin(p.pos::geometry, g.location, 1) ปัญหาเดียวคือวันที่ จุดกริดนั้นมีละติจูด 180 เท่านั้นไม่ใช่ -180 เมื่อใช้รุ่นเรขาคณิตของ …

4
ค้นหาเพื่อนบ้านที่ใกล้ที่สุดระหว่างสองตารางที่มีตำแหน่งจุดใน SpatiaLite หรือไม่
ฉันเริ่มเล่นกับ SpatiaLite วันนี้และพบปัญหาแล้ว สำหรับตำแหน่งของจุดแต่ละจุดที่เก็บไว้ในตารางฉันต้องการเลือกหนึ่งจุดที่ใกล้ที่สุด (ระยะทางเชิงเส้น) จาก tableTwo จนถึงตอนนี้ฉันคิดวิธีแก้ปัญหาแบบเงอะงะที่ใช้ประโยชน์จาก VIEW: CREATE VIEW testview AS SELECT A.id , B.myValue, Distance(A.Geometry, B.Geometry) AS distance FROM tableOne AS A, tableTwo AS B WHERE distance &lt; 10000 ORDER BY A.Id, distance; แล้ว: SELECT * FROM testview WHERE distance = (SELECT MIN(distance) FROM testview AS t …

1
ค้นหาบรรทัดที่ใกล้เคียงที่สุดที่ให้ 2 คะแนนโดยใช้ PostGIS?
ฉันมีตาราง t ที่มีคอลัมน์line_positionsซึ่งเป็นประเภทบรรทัด ให้ 2 คะแนนฉันต้องการค้นหาเส้นที่ใกล้ที่สุดซึ่งอยู่ใกล้พอ (น้อยกว่า 10 กม.) และนั่นไม่ผ่านใกล้จุดที่ฉันต้องการหลีกเลี่ยง (ขั้นต่ำ 20 กม.) ปัจจุบันฉันใช้ SELECT t.* FROM path t WHERE ST_DWithin(ST_GeographyFromText('Point(69.835 22.596)'), t.line_positions, 10000, FALSE) AND ST_DWithin(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, 10000, false) AND NOT ST_DWithin(ST_GeographyFromText('Point(-79.804 9.141)'), t.line_positions, 20000, false) ORDER BY ST_Distance(ST_GeographyFromText('Point(69.835 22.576)'), t.line_positions, false) + ST_Distance(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, false) ASC …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.