首页 > 其他分享 >简单的经纬度点聚类

简单的经纬度点聚类

时间:2023-09-07 09:55:16浏览次数:38  
标签:-% logging 经纬度 res 点聚类 flag flags 简单 pnts

import logging

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s-%(filename)s[line:%(lineno)d]-%(levelname)s:%(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S')

from geopy.distance import geodesic

def stop2label(pnts, near=300):
    # 基于300m的半径对位置进行合并
    # pnts [(lng,lat), (), *]
    res = []
    pfun = lambda p1, p2: round(geodesic(p1[::-1], p2[::-1]).m, 1)
    count = 1
    while pnts.__len__():
        ipnt = pnts[0]
        flags = [pfun(ipnt, _) < near for _ in pnts]
        for idx, flag in enumerate(flags):
            if flag:
                res.append((pnts[idx], count))
        logging.info((flags, len(pnts)))
        pnts = [pnts[_] for _, flag in enumerate(flags) if not flag]
        count += 1
    return res

 

标签:-%,logging,经纬度,res,点聚类,flag,flags,简单,pnts
From: https://www.cnblogs.com/ddzhen/p/17684038.html

相关文章

  • 简单1
    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。classSolution(object):......
  • 使用JavaScript计算两点经纬度之间的弧线点经纬度数组
    前言地球是一个近似于椭球体的三维物体,因此在计算两个经纬度点之间的距离时,不能简单地将其视为平面上的直线距离。相反,我们需要考虑地球的曲率,并使用球面三角法来计算两点之间的弧线距离及其中的插值点。通过本篇博客,我们将使用JavaScript来实现根据两个经纬度点返回两点之间的弧......
  • CloudQuery ✖️ PolarDB:让数据库管理更简单
    近日,CloudQuery数据操作管控平台与阿里云PolarDB数据库管理软件,完成产品集成认证测试。也在以下功能上完善了用户使用PolarDB的体验,使数据库的管理更加安全高效。1.支持在CloudQuery中创建连接,便于进行数据库管控。2.支持编辑连接、资源纳管、连接池管理以及连接设置,可设置......
  • 在vmware里安装ubuntu的简单过程(具体的见网址)
    在官网选择vmware版本为16,安装后,在vmware里升级到最新版。(这个可以解决蓝屏)在下面的这个文章里下载ubuntu的镜像文件iso,我下载的是16年的,内存为1.6GB,下载的时间用的少一点,有的要4个G,https://blog.csdn.net/m0_45834939/article/details/121386291  (下载ubuntu的iso文件的网......
  • 16协程的简单实现
      importasyncioimportrequests'''安装:pipinstallasynciopython使用协程会让程序并发能力得到提高,(只能说拥有一定的并发能力),协程是线程的升级版,比线程更高效、消耗更低。应用场景:1.在一些io密集型任务。2.异步程序设计。使用协程有一定的限制,函数、库要支持异......
  • Python开发实例(十一)单词记忆游戏:编写一个简单的游戏,测试用户对一组随机单词的记忆能力
    在这个实例中,我们将创建一个简单的单词记忆游戏。游戏的规则是随机展示一组单词,然后要求用户在一定时间内尽可能多地记住这些单词。时间到后,再询问用户输入这些单词。最后,计算并显示用户正确记住的单词数量。下面是单词记忆游戏的Python程序:pythonCopycodeimportrandomimport......
  • Java 三种IO实现一个简单聊天室
    目录Java三种IO实现一个简单聊天室同步阻塞IO同步非阻塞IO异步IOJava三种IO实现一个简单聊天室在Java平台,IO有三种模型.以TCP套接字为例三种不同模型实现简单聊天室服务端和客户端.启动服务端后,启动多个客户端,相互之间可以发消息.同步阻塞IO因为同步阻塞IO不能......
  • 15多处理的简单应用
      importmultiprocessing'''多处理最适合于有CPU约束任务的场景,这些任务可以划分为独立的子任务。以下是多处理可能有益的一些情况:CPU密集型计算:如果您有可以并行化的计算密集型任务,如数学计算、图像处理或模拟,多处理可以帮助在多个CPU核心之间分配工作负载,并可能减少......
  • swag简单示例
    packagemainimport( _"awesomeProject1/docs" "fmt" "github.com/gin-gonic/gin" swaggerFiles"github.com/swaggo/files" ginSwagger"github.com/swaggo/gin-swagger" "net/http" "os"......
  • 今天练习element组件的时候,引入element样式和脚本文件以及vue的组件之后,导入简单eleme
    2023-09-04今天练习element组件的时候,引入element样式和脚本文件以及vue的组件之后,导入简单element组件练习之后,查看组件的时候,样式一直出不来,经过我多次排查,终于发现,导入的三个内容是有顺序排序要求的。必须先导入vue,然后再导入其他的两个。<!DOCTYPEhtml><htmllang="en">......