首页 > 解决方案 > 通过不同大小的矩形区域对坐标进行有效分类

问题描述

我有一组坐标,我想根据它们是否在几个具有不同大小的矩形区域之一中进行分类。这是它们的外观示例。

在此处输入图像描述

以下是我想要分类的一些坐标:

X
-2210 -3
-2220 8
-2215 0

每个区域由其左上角 XY 位置和右下角 XY 位置定义在名为“zone_df”的数据框中。

区域名称 XCoordTopLeft Y坐标左上角 XCoordBotRight YCoordBotRight
1 -2225 -11 -2208 -2
2 -2225 -1 -2208 6
3 -2225 7 -2216 13

我目前这样做的方式可能根本不是有效的并且非常错误:

def get_zone_by_coordinates(zone_df,x,y):
  result = zone_df.loc[(zone_df.XCoordTopLeft < x) & ((zone_df.XCoordBotRight) >= x) 
    & ((zone_df.YCoordTopLeft) < y) & ((zone_df.YCoordBotRight) >= y)]['ZonesDesignation'].values
  if len(result)== 1:
    return result[0]
  else:
    return 0

使用 Pandas,我遍历坐标数据帧的每一行并应用此函数,返回结果。但这真的是我所希望的最好的吗?

标签: pythonpandasclassificationcoordinates

解决方案


推荐阅读