# geocoding **Repository Path**: zhan_xiaobai/geocoding ## Basic Information - **Project Name**: geocoding - **Description**: 本项目旨在将不规范(或者连续)的文本地址进行尽可能的标准化, 以及对两个地址进行相似度的计算 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-01 - **Last Updated**: 2024-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # geocoding #### 介绍 * 本项目旨在将不规范(或者连续)的文本地址进行尽可能的**标准化**, 以及对两个地址进行**相似度的计算**。 * 该模块为 [bitlap/geocoding](https://github.com/bitlap/geocoding) 项目的Python实现,原项目为Kotlin开发 * 安装命令 pip install geocoding 地理编码技术, 主要分为如下步骤 * 地址标准库 * 地址标准化 * 相似度计算 # 1. 数据测试 方法调用: `Geocoding` 类 * normalizing: 标准化 * analyze: 解析成分词文档 * similarity: 相似度计算 * similarityWithResult: 相似度计算, 返回包含更多丰富的数据 ## 1.1 标准化 ```markdown >> 输入: 上海上海宝山区宝山区【新沪路58弄11-802 水韵华庭 】 (水韵华庭附近)号大都会3号楼2单元1303 >> 输出: Address( provinceId=310000000000, province=上海, cityId=310100000000, city=上海市, districtId=310113000000, district=宝山区, streetId=None, street=None, townId=None, town=None, villageId=None, village=None, road=新沪路, road_num=58弄, building_num=11-802, text=水韵华庭水韵华庭附近 ) ``` * 返回的对象解释 * province相关: 省 * city相关: 市 * district相关: 区、县 * street相关: 街道 * town相关: 乡镇 * village相关: 村 * road: 道路 * roadNum: 路号 * buildingNum: 建筑物号 * text: 标准化后为匹配的地址。一般包含小区, 商场名称等信息 > 注: 如果对text的结果不是很满意, 比如出现重复或不准确, 可以通过分词的手段解决 ```java >> 输入: 浙江金华义乌市南陈小区8幢2号 浙江金华义乌市稠城街道浙江省义乌市宾王路99号后面南陈小区8栋2号 >> 输出: 0.6795216660765248 ``` ```java >> 输入: 山东省沂水县四十里堡镇东艾家庄村206号 浙江金华义乌市南陈小区8幢2号 >> 输出: 0.0 ``` ## 感谢 * 感谢[原作者](https://github.com/bitlap/geocoding)的辛苦付出!