You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用scipy.spatial.distance.cityblock计算经纬度点的结果单位是什么?

经纬度曼哈顿距离的计量单位说明

你当前用cityblock计算出的结果,计量单位是经纬度的度数。

原因说明:

  • 你直接使用原始的十进制经纬度数值(比如纬度34.0522度、经度-118.2437度)进行曼哈顿距离计算,而曼哈顿距离的公式是|lat1 - lat2| + |lon1 - lon2|,所以结果的单位就是「度」。
  • 需要注意:这种基于度数的曼哈顿距离不能直接对应地面实际距离——纬度方向1度大约对应111公里,但经度方向1度的实际距离会随纬度变化(赤道附近约111公里,越靠近两极距离越短)。

你的示例代码:

import pandas as pd
from scipy.spatial import distance
from scipy.spatial.distance import cityblock

# Sample dataset with latitude and longitude
patient = {
    'Patient': ['pt1'],
    'lat': [34.0522],
    'lon': [-118.2437]
}

patient = pd.DataFrame(patient)

hospital = {
    'hospital': ['h1'],
    'LATITUDE': [35.0522],
    'LONGITUDE': [-133.2437]
}

hospital = pd.DataFrame(hospital)

distance = cityblock((patient['lat'], patient['lon']), (hospital['LATITUDE'], hospital['LONGITUDE']))

内容的提问来源于stack exchange,提问作者Sandra T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:22:11