当前位置:首页 > 技术分享

GEO 定位,根据地理坐标获取所在城市信息,城市逆地址解析 根据城市名称获取中心坐标 开源免费

admin2个月前 (03-10)技术分享164

当前三大地图太贵,有些时候不需要太精准的信息,可以考虑使用本接口,实现根据经纬度坐标获取所在城市信息,根据城市名称获取城市中心点坐标,多种坐标系转换

GeoLocator 是一个基于经纬度坐标获取城市信息的 PHP 库,支持多种坐标系转换,提供高性能的地理定位功能。

a.JPEG

演示地址:https://tool.bitefu.net/geo/ apikey:关注公众号回复【坐标】获取 

qrcode.jpg

仓库地址

https://gitee.com/web/city_geo

主要功能

  • 根据经纬度坐标获取所在城市信息

  • 根据城市名称获取城市中心点坐标

  • 支持多种坐标系转换(GCJ02、WGS84、BD09LL)

  • 高性能设计,使用单文件 JSON 数据

  • 提供 RESTful API 接口

目录结构

city_geo/
├── data/
│   └── geojson/        # 原始 GeoJSON 数据文件
├── GeoLocator.php      # 主类文件(单文件 JSON 版本)
├── GeoLocatorJson.php  # 旧版本(多文件 JSON 版本)
├── index.php           # API 接口入口
├── geo.json            # 合并后的压缩 JSON 数据
├── merge_geojson.php   # JSON 文件合并脚本
├── benchmark.php       # 性能对比脚本
├── demo.php            # 使用示例
├── API_DOCS.md         # API 文档
├── README.md           # 中文项目说明
└── README_en.md        # 英文项目说明

安装使用

1. 环境要求

  • PHP 5.6 及以上版本

  • 支持 gzip 扩展(用于读取压缩的 JSON 文件)

2. 数据准备

运行 JSON 文件合并脚本,生成 geo.json 文件:

php merge_geojson.php

3. 基本使用

// 引入类文件
require_once 'GeoLocator.php';

// 创建实例
$geoLocator = new GeoLocator();

// 根据坐标获取城市
$city = $geoLocator->getCityByCoordinates(31.310623, 120.592528);
echo "城市: " . $city['name'] . " (" . $city['code'] . ")\n";

// 根据城市名称获取中心点坐标
$center = $geoLocator->getCityCenterByCityName("北京市");
echo "中心点坐标: " . $center[0] . ", " . $center[1] . "\n";

详细的 API 文档请参考 https://gitee.com/web/city_geo/blob/master/API_DOCS.md 文件。

支持的坐标系

  • gcj02: 高德/腾讯坐标系

  • wgs84: GPS 坐标系

  • gps: 等同于 WGS84

  • bd09ll: 百度坐标系

数据来源

GeoJSON 数据来源于公开的地理信息数据,包含了中国的省份、城市和区县边界信息。

数据更新:https://geojson.cn/data/atlas/china

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/739.html

分享给朋友:

“GEO 定位,根据地理坐标获取所在城市信息,城市逆地址解析 根据城市名称获取中心坐标 开源免费” 的相关文章

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

在此环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢,我所遇到的php-cgi进程占用cpu资源过多的原因有: 1. 一些php的扩展与php版本兼容存在问题,实践证明 e…

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

随着 2021 年的到来,Adobe Flash Player 也迎来了告别,Adobe 在 2020 年 12 月 31 日后将不再支持 Flash Player。其实早在 2017 年,Adobe 公司就已宣布,计划在 2020 年底逐…

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不宜分享,请大家自行查找激活相关的内容。准…

python调用WinRAR暴力获取压缩密码 用网址做解压密码

原理很简单:python通过调用WinRAR.exe暴力获取压缩密码,要求必须安装WinRAR或者有WinRAR.exe这个文件(单个文件就行)。个人实测zip和rar格式都能用。缺点:费时间,费cpu一、不生成密码本:4位全数字密码:im…

抢先体验太阳谷!20H1、20H2、21H1替换“Dev版新图标”

尽量不要替换shell32.dll.mun和zipfldr.dll.mun,这两老哥可能会带来无法预测的风险!不解除被替换文件的硬链接,已确定会导致无法安装质量更新!(详见H大测评)单替换imageres.dll.mun新图标覆盖率基本可达…

python3 selenium webdriver.Chrome php 爬取汽车之家所有车型详情数据[开源版]

介绍本接口是车型库api的补充,用于爬取汽车之家所有车型详情数据开源地址:https://gitee.com/web/CarApi/tree/master/python软件架构python3 selenium webdriver.Chrom…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。