`
shaojiashuai123456
  • 浏览: 262712 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

python 计算曼哈顿距离和直线距离

 
阅读更多
    def clip(self, n, min, max):
        if n < min:
            n = min
        if n > max:
            n = max
        return n

    def longlat2tile(self, x1, y1, level):
        M_PI = 3.1415926
        EarthRadiusInMeters = 6378137
        PixelsPerTile = 256
        EarthCircumferenceInMeters = 2 * M_PI   * EarthRadiusInMeters
        rad_long = x1 * M_PI / 180
        rad_lat = y1 * M_PI / 180
        x_meters = EarthRadiusInMeters * rad_long
        sin_latitude = math.sin(rad_lat)
        i_log = math.log((1 + sin_latitude) / (1 - sin_latitude))
        y_meters = EarthRadiusInMeters / 2 * i_log
        num_pixels = long(PixelsPerTile << level)
        meters_per_pixel = EarthCircumferenceInMeters / num_pixels
        tile_long = int(self.clip((EarthCircumferenceInMeters / 2 + x_meters) / meters_per_pixel + 0.5, 0, num_pixels - 1))
        tmp = long((EarthCircumferenceInMeters / 2 - y_meters))
        tile_lat = int(self.clip(tmp / meters_per_pixel + 0.5, 0, num_pixels - 1))
        return tile_long, tile_lat

 

 

计算直线距离

    def getDistance(self, x1,y1,x2,y2):
        dx = x2 - x1
        dy = y2 - y1
        sx = math.cos(x1* 0.01745329252)
        dis = math.sqrt(dx*dx*sx*sx + dy*dy) * 111195.0
        return dis

 

 

  

分享到:
评论

相关推荐

    Python用户推荐系统曼哈顿算法实现完整代码

    # 定义计算曼哈顿距离的函数 def manhattan(rate1, rate2): distance = 0 for key in rate1: if key in rate2: distance += abs(rate1[key] - rate2[key]) return distance # 示例:计算用户Angelica和Bill的...

    机器学习距离计算公式及python实现

    明可夫斯基距离是欧氏距离和曼哈顿距离的推广,是一种度量空间中两点之间距离的公式。其公式中包含一个可变参数p,当p=1时为曼哈顿距离,当p=2时为欧氏距离。明可夫斯基距离在机器学习中用于度量样本间的差异,尤其...

    Python Numpy计算各类距离的方法

    # 使用 Numpy 的 sum 和 abs 函数计算曼哈顿距离 manhattan_distance = np.sum(np.abs(vector1 - vector2)) print(manhattan_distance) # 输出: 9 ``` #### 4. 切比雪夫距离 (Chebyshev Distance) 切比雪夫距离...

    python中的 各种距离和相似性度量_python_代码_下载

    在Python编程语言中,距离和相似性度量是数据分析、机器学习和模式识别等领域不可或缺的工具。这些度量用于量化两个对象之间的相似程度或差异程度。本篇文章将深入探讨Python中的一些常见距离和相似性度量,并提供...

    Python计算一个点到所有点的欧式距离实现方法

    欧式距离是一种衡量两个点之间“距离”的标准方式,它基于欧几里得空间中的直线距离概念。在这个场景下,每个点通常被表示为一个n维向量,其中n代表空间的维度。 欧氏距离公式定义为: \[ d(p, q) = \sqrt{(p_1 - ...

    数据挖掘中的距离度量和相似度度量及Python实现

    - 曼哈顿距离是计算在标准坐标系上,两点在各个坐标轴上的绝对轴距总和。它反映了在标准坐标系上,从一点到另一点所需向上或向下、向左或向右移动的总距离。 - 在Python实现中,曼哈顿距离是对两个点在每个维度上...

    关于距离计算的总结

    明氏距离(Minkowski distance)是欧氏距离和曼哈顿距离的一种泛化形式,是一种在n维空间中的距离度量,其计算取决于一个参数p。当p=1时,明氏距离变为曼哈顿距离;当p=2时,就变成了欧氏距离。明氏距离提供了一个...

    python距离测量的方法

    街区距离又称为曼哈顿距离,源自城市街道网格布局的想象。在二维平面上,两个点P1(x1, y1)和P2(x2, y2)的街区距离定义为: ``` distance = abs(x1 - x2) + abs(y1 - y2) ``` 这种距离测量方法沿着x轴和y轴的...

    python相似性度量完整代码以及结果图片

    欧几里得距离是两点之间的直线距离,计算公式为两向量元素平方差之和的平方根;曼哈顿距离则是在笛卡尔坐标系中,两点间沿水平和垂直方向的绝对距离之和;而切比雪夫距离是两个向量对应元素的最大差值。 接下来是...

    Python库 | distsim-0.2.2.tar.gz

    总之,distsim-0.2.2是一个强大的Python库,为开发者提供了多种距离和相似性计算方法。它在数据处理、机器学习和自然语言处理等领域的应用广泛,是提升项目效率的好帮手。熟练掌握并合理运用distsim,将有助于我们更...

    A*算法的Python实现-堆优化版

    A*算法的核心是启发式函数h(n),它估算从当前节点n到目标节点的直线距离。在二维网格地图中,常用曼哈顿距离或欧几里得距离。Python中可以表示为: ```python def heuristic(node1, node2): return abs(node1.x ...

    ASTAR.rar_Astar算法_a star_path planning_python 路径

    2. 定义启发式函数h(n):常见的启发式函数有曼哈顿距离和欧几里得距离,它们估算从当前节点到目标节点的直线距离。 3. 初始化搜索:设置起始节点、目标节点,以及空的开放列表和关闭列表。 4. 主循环:在开放列表...

    Python机器学习实验-聚类-sklearn模块中的KMeans算法

    3. CityBlock Distance:曼哈顿距离,也称为L1范数,计算每个维度上差值的绝对值之和。 在Python环境中,sklearn库提供了KMeans类,简化了聚类操作。实验中,我们可以按照以下步骤进行: 1. 数据预处理:导入数据...

    基于Python的推荐系统相似性分析和协同过滤.pdf

    其次是曼哈顿距离(Manhattan distance),也称为城市街区距离,指的是在标准坐标系中两点在各轴上的绝对轴距总和。此外,还有皮尔逊相关系数(Pearson correlation coefficient),它衡量的是两个变量之间的线性...

    MovemnetVSMovement.zip_month1i3_动态 距离 测量

    - **曼哈顿距离**:适用于城市街区网格环境,沿着水平和垂直方向计算距离。 - **切比雪夫距离**:在每个维度上取最大差值,适用于存在较大误差或不确定性的场景。 - **动态时间规整(DTW,Dynamic Time Warping)...

    基于Python实现并测试K-means聚类算法【100011717】

    - **曼哈顿距离**:各维度差值的绝对和,适用于各维度数据具有相同重要性的场景。 **4. 评估指标** 实验中采用NMI(Normalized Mutual Information)和目标函数J来评估聚类效果: - **NMI**:一种比较聚类结果和...

    python中层次聚类法.docx

    - **曼哈顿距离(Manhattan distance)**: 横纵坐标之和,适用于各特征尺度不同的情况。 - **余弦相似度(Cosine similarity)**: 测量向量方向的相似度,不考虑向量的长度。 以下是一个简单的使用...

    马氏距离matlab原代码-SODA_Python:SODA_Python

    Cityblock:两个向量只能以直角移动时的距离(出租车/曼哈顿); 切比雪夫(Chebyshev):沿任何坐标维度的两个向量之间的最大差异; Minkowski:取决于参数$ p $的其他距离的推广(在此代码中$ p = 1.5 $): p = 1...

    MachineLearning-相似度距离公式

    **计算公式**:设两个n维向量\( \mathbf{x} = (x_1, x_2, \ldots, x_n) \) 和 \( \mathbf{y} = (y_1, y_2, \ldots, y_n) \),那么它们之间的曼哈顿距离 \( d(\mathbf{x}, \mathbf{y}) \) 定义为: \[ d(\mathbf{x},...

Global site tag (gtag.js) - Google Analytics