0

在从一组纬度/经度点生成 Voronoi 镶嵌时,我收到一个错误,当某个点用作输入的一部分时似乎会发生错误。

为了隔离问题,我将这些点一一删除并添加到输入中,并发现在添加回“问题点”时错误完全可重现。

ip = [[31.249566 , 30.0458139],
       [31.2496667, 30.0460511],
       [31.2497362, 30.0462148],
       [31.2498083, 30.0463844],
       [31.2499063, 30.0466152],
       [31.2497861, 30.0457439],
       [31.2493217, 30.0458917],
       [31.249051 , 30.0459779],
       [31.2485747, 30.0461295],
       [31.2487919, 30.0460604],
       [31.2494149, 30.0461318],
       [31.2491506, 30.0462165],
       [31.249482 , 30.0463046],
       [31.2495479, 30.0464743],
       [31.2496453, 30.0467251],
       [31.2488556, 30.0467515],
       [31.2489719, 30.047009 ],
       [31.2493148, 30.0466096],
       [31.2492253, 30.0463954],
       [31.2492947, 30.0465617],
       [31.2494044, 30.0468267],
       [31.2497576, 30.0466778],
       [31.2500132, 30.0465702], # PROBLEM POINT
       [31.2495429, 30.0470592],
       [31.2497817, 30.0474367],
       [31.2490658, 30.0472466]]

代码:

import libpysal
from libpysal.cg.voronoi  import voronoi, voronoi_frames
regions_s, vertices_s = voronoi(ip)

错误跟踪:

libpysal/cg/voronoi.py in voronoi_regions(vor, radius)
     97             continue
     98 
---> 99         ridges = all_ridges[p1]
    100         new_region = [v for v in vertices if v >= 0]
    101 

KeyError: 5

这里会发生什么?就上下文而言,这些都是埃及的投影点(“EPSG:4326”),我确保没有重复。在引擎盖下,图书馆使用 scipy。 from scipy.spatial import Voronoi

4

0 回答 0