如何在python中对纬度和经度数据进行聚类(或删除不需要的数据)?

问题描述 投票:1回答:1

我在pandas df中有一个大小(34000 * 2)的纬度和经度数据

df =

Index       Latitude            Longitude
0           66.36031097267725   23.714807357485936
1           66.36030099322495   23.71479548193769
2
.
.
.
.
34000       66.27918383581169   23.568631229948359

重要说明:上述Lat&Long路线已被覆盖两次,这意味着如果我只覆盖路线一次,那么我的纬度和经度数据的大小(例如34000/2,2)。

Problem

我只想要特定选定区域的Lat和Long数据。所以我使用我的df中的起点和终点Lat和Long点进行过滤。在这样做时,该区域的另一部分也被选中。 (See picture below after filtering)enter image description here

Requirement

如何删除附加区域?我相信这个问题会有一些简单的方法。注意:过滤后的Lat&Long数据也包括两次。

Filtered

def apply_geofence_on_data(interpolated_data, min_latitude=66.27832887852133, max_latitude=66.37098470528755, min_longitude=23.568626549485927,
                               max_longitude=23.71481685393929):

    interpolated_data = interpolated_data[interpolated_data['Latitude'] > min_latitude]
    interpolated_data = interpolated_data[interpolated_data['Latitude'] < max_latitude]
    interpolated_data = interpolated_data[interpolated_data['Longitude'] < max_longitude]
    interpolated_data = interpolated_data[interpolated_data['Longitude'] > min_longitude]

    return interpolated_data
python-3.x pandas machine-learning scipy geopy
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.