php 通过坐标获取省市,通过php根据地理坐标来获取国家、省份、城市,及周边数据类...

功能:当App获取到用户的地理坐标时,可以根据坐标知道用户当前在那个国家、省份、城市,及周边有什么数据。

原理:基于百度Geocoding API 实现,需要先注册百度开发者,然后申请百度AK(密钥)

Geocoding.class.php<?php /**

* 根据地理坐标获取国家、省份、城市,及周边数据类(利用百度Geocoding API实现)

* 百度密钥获取方法:http://lbsyun.baidu.com/apiconsole/key?application=key(需要先注册百度开发者账号)

* Date: 2015-07-30

* Author: fdipzone

* Ver: 1.0

*

* Func:

* Public getAddressComponent 根据地址获取国家、省份、城市及周边数据

* Private toCurl 使用curl调用百度Geocoding API

*/class Geocoding {

// 百度Geocoding API

const API = 'http://api.map.baidu.com/geocoder/v2/'; // 不显示周边数据

const NO_POIS = 0; // 显示周边数据

const POIS = 1;

/**

* 根据地址获取国家、省份、城市及周边数据

* @param String $ak 百度ak(密钥)

* @param Decimal $longitude 经度

* @param Decimal $latitude 纬度

* @param Int $pois 是否显示周边数据

* @return Array

*/

public static function getAddressComponent($ak, $longitude, $latitude, $pois=self::NO_POIS){

$param = array( 'ak' => $ak, 'location' => implode(',', array($latitude, $longitude)), 'pois' => $pois, 'output' => 'json'

); // 请求百度api

$response = self::toCurl(self::API, $param); $result = array(); if($response){ $result = json_decode($response, true);

} return $result;

} /**

* 使用curl调用百度Geocoding API

* @param String $url 请求的地址

* @param Array $param 请求的参数

* @return JSON

*/

private static function toCurl($url, $param=array()){

$ch = curl_init(); if(substr($url,0,5)=='https'){

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在

}

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param)); $response = curl_exec($ch); if($error=curl_error($ch)){ return false;

}

curl_close($ch); return $response;

}

}?>

demo.php<?phprequire "Geocoding.class.php";$ak = '这里填写你的百度AK';$longitude = 113.327782;$latitude = 23.137202;$result = Geocoding::getAddressComponent($ak, $longitude, $latitude, Geocoding::NO_POIS);echo '

';

print_r($result);echo '';?>

例子返回:Array(

[status] => 0

[result] => Array

(

[location] => Array

(

[lng] => 113.32778195925

[lat] => 23.137201991056

)

[formatted_address] => 广东省广州市天河区体育西横街35号

[business] => 天河城,体育中心,沙河

[addressComponent] => Array

(

[city] => 广州市

[country] => 中国

[direction] => 附近

[distance] => 14

[district] => 天河区

[province] => 广东省

[street] => 体育西横街

[street_number] => 35号

[country_code] => 0

)

[poiRegions] => Array

(

)

[sematic_description] => 红盾大厦北58米

[cityCode] => 257

)

)

本文讲解了通过php根据地理坐标来获取国家、省份、城市,及周边数据类,更多相关内容请关注php中文网。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 Mediapipe 0.8.9 版本使用 Holistic 模型(即 holistic_tracking_cpu.pbtxt)获取关键点11坐标,并将其转换到 UE5.1.1 中的具体步骤: 1. 首先需要安装 Mediapipe 0.8.9 版本,并配置好相关环境。可以参考 Mediapipe 官方文档进行安装和配置。 2. 加载 Holistic 模型并进行姿态估计。可以使用 Mediapipe 提供的 Python API 进行调用,示例代码如下: ``` import cv2 import mediapipe as mp # 加载Holistic模型 mp_drawing = mp.solutions.drawing_utils mp_holistic = mp.solutions.holistic # 运行Holistic模型 with mp_holistic.Holistic( min_detection_confidence=0.5, min_tracking_confidence=0.5) as holistic: # 加载图像并进行处理 image = cv2.imread('test_image.jpg') image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 进行Holistic姿态估计 results = holistic.process(image) # 提取关键点坐标 keypoint_x = results.pose_landmarks.landmark[mp_holistic.PoseLandmark.LEFT_SHOULDER].x keypoint_y = results.pose_landmarks.landmark[mp_holistic.PoseLandmark.LEFT_SHOULDER].y keypoint_z = results.pose_landmarks.landmark[mp_holistic.PoseLandmark.LEFT_SHOULDER].z # 将关键点坐标转换为UE5坐标系中的坐标 ue_x = keypoint_x ue_y = -keypoint_z ue_z = keypoint_y # 输出UE5坐标系中的坐标 print('UE5 Coord:', ue_x, ue_y, ue_z) ``` 其中,`test_image.jpg` 是待处理的图像文件,`min_detection_confidence` 和 `min_tracking_confidence` 是姿态估计的置信度阈值,可以根据实际情况进行调整。关键点的索引可以参考 Holistic 模型的文档。这里以左肩(`mp_holistic.PoseLandmark.LEFT_SHOULDER`)为例,提取其关键点坐标。 3. 将关键点坐标转换为 UE5 坐标系中的坐标。如上述代码所示,可以通过将 Meidapipe 输出的关键点坐标系中的 x 轴和 y 轴进行翻转,然后将 z 轴设置为 (0, 0, 1) 来实现坐标系转换。这样,就可以得到相对于 UE5 坐标系原点的坐标位置了。 需要注意的是,上述代码仅提供了获取左肩关键点坐标并将其转换到 UE5 坐标系中的示例,具体实现时需要根据具体情况进行调整和优化。同时,还需要考虑到图像或场景的缩放比例、坐标系转换等因素,以确保计算的坐标位置是准确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值