我试图计算每个椭圆环内的给定数据点:
问题是我有一个函数来检查:所以对于每个椭圆,要确定一个点是否在其中,必须计算三个输入:
def get_focal_point(r1,r2,center_x):
# f = square root of r1-squared - r2-squared
focal_dist = sqrt((r1**2) - (r2**2))
f1_x = center_x - focal_dist
f2_x = center_x + focal_dist
return f1_x, f2_x
def get_distance(f1,f2,center_y,t_x,t_y):
d1 = sqrt(((f1-t_x)**2) + ((center_y - t_y)**2))
d2 = sqrt(((f2-t_x)**2) + ((center_y - t_y)**2))
return d1,d2
def in_ellipse(major_ax,d1,d2):
if (d1+d2) <= 2*major_ax:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
现在我正在通过以下方式检查它是否在椭圆形中:
for i in range(len(data.latitude)):
t_x = data.latitude[i]
t_y = data.longitude[i]
d1,d2 = get_distance(f1,f2,center_y,t_x,t_y)
d1_array.append(d1)
d2_array.append(d2)
if in_ellipse(major_ax,d1,d2) == True: …
Run Code Online (Sandbox Code Playgroud) dbscan
在包中使用fpc
我能够获得以下输出:
dbscan Pts=322 MinPts=20 eps=0.005
0 1
seed 0 233
border 87 2
total 87 235
Run Code Online (Sandbox Code Playgroud)
但我需要找到集群中心(具有大多数种子的集群的平均值).谁能告诉我如何继续这个?