网站的优化外包php做网站还是linux
web/
2025/10/8 1:41:21/
文章来源:
网站的优化外包,php做网站还是linux,海东地网站建设,谷歌浏览器怎么关闭2345网址导航1.梳理、总结经纬度处理在Maxcompute平台上的实战应用#xff0c;如bd09、gcj02、wgs84经纬度坐标系转换UDF函数注册与使用。 2.欢迎批评指正#xff0c;跪谢一键三连#xff01; 文章目录 1.参考代码 1.参考代码
坐标系转换 bd09坐标系#xff08;百度坐标系#xff09;…1.梳理、总结经纬度处理在Maxcompute平台上的实战应用如bd09、gcj02、wgs84经纬度坐标系转换UDF函数注册与使用。 2.欢迎批评指正跪谢一键三连 文章目录 1.参考代码 1.参考代码
坐标系转换 bd09坐标系百度坐标系转gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统转bd09坐标系百度坐标系bd09坐标系百度坐标系转地球坐标系world geodetic system地球坐标系world geodetic system转gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统转地球坐标系world geodetic system地球坐标系world geodetic system转bd09坐标系百度坐标系 # coding:utf-8
from odps.udf import annotate
import mathannotate(double,double,string,string-string)
class CoordTransform(object):function: 坐标系转换input: lng,lat,src,destparms: lng:经度 doublelat:纬度 doublesrc:输入坐标系 [bd,gcj,wgs]dest:输出坐标系 [bd,gcj,wgs]outputstring: lng,latdef evaluate(self, lng, lat, src, dest):if src bd and dest gcj:return ,.join([str(x) for x in GeoUtils.bd09togcj02(float(lng), lat)])elif src bd and dest wgs:# return GeoUtils.bd09towgs84(lng,lat)return ,.join([str(x) for x in GeoUtils.bd09towgs84(lng, lat)])elif src gcj and dest wgs:return ,.join([str(x) for x in GeoUtils.gcj02towgs84(lng, lat)])elif src gcj and dest bd:return ,.join([str(x) for x in GeoUtils.gcj02tobd09(lng, lat)])elif src wgs and dest bd:return ,.join([str(x) for x in GeoUtils.wgs84tobd09(lng, lat)])if src wgs and dest gcj:return ,.join([str(x) for x in GeoUtils.wgs84togcj02(lng, lat)])class GeoUtils():PI 3.1415926535897932384626a 6378245.0ee 0.00669342162296594323staticmethoddef bd09togcj02(bd_lng, bd_lat):bd09坐标系百度坐标系转gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统x bd_lng - 0.0065y bd_lat - 0.006z math.sqrt(x * x y * y) - 0.00002 * math.sin(y * GeoUtils.PI)theta math.atan2(y, x) - 0.000003 * math.cos(x * GeoUtils.PI)gcj_lng z * math.cos(theta)gcj_lat z * math.sin(theta)return [gcj_lng, gcj_lat]staticmethoddef gcj02tobd09(gcj_lng, gcj_lat):gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统转bd09坐标系百度坐标系z math.sqrt(gcj_lng * gcj_lng gcj_lat * gcj_lat) 0.00002 * math.sin(gcj_lat * GeoUtils.PI)theta math.atan2(gcj_lat, gcj_lng) 0.000003 * math.cos(gcj_lng * GeoUtils.PI)bd_lng z * math.cos(theta) 0.0065bd_lat z * math.sin(theta) 0.006return [bd_lng, bd_lat]staticmethoddef bd09towgs84(lng, lat):bd09坐标系百度坐标系转地球坐标系world geodetic systemreturn GeoUtils.gcj02towgs84(*GeoUtils.bd09togcj02(lng, lat))staticmethoddef wgs84togcj02(lng, lat):地球坐标系world geodetic system转gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统dlat GeoUtils.transformlat(lng - 105.0, lat - 35.0)dlng GeoUtils.transformlng(lng - 105.0, lat - 35.0)radlat lat / 180.0 * GeoUtils.PImagic math.sin(radlat)magic 1 - GeoUtils.ee * magic * magicsqrtmagic math.sqrt(magic)dlat (dlat * 180.0) / ((GeoUtils.a * (1 - GeoUtils.ee)) / (magic * sqrtmagic) * GeoUtils.PI)dlng (dlng * 180.0) / (GeoUtils.a / sqrtmagic * math.cos(radlat) * GeoUtils.PI)mglat lat dlatmglng lng dlngreturn [mglng, mglat]staticmethoddef gcj02towgs84(lng, lat):gcj02坐标系中国国家测绘局g表示guojia国家c表示cehui测绘j表示ju局制订的地理信息系统的坐标系统转地球坐标系world geodetic systemdlat GeoUtils.transformlat(lng - 105.0, lat - 35.0)dlng GeoUtils.transformlng(lng - 105.0, lat - 35.0)radlat lat / 180.0 * GeoUtils.PImagic math.sin(radlat)magic 1 - GeoUtils.ee * magic * magicsqrtmagic math.sqrt(magic)dlat (dlat * 180.0) / ((GeoUtils.a * (1 - GeoUtils.ee)) / (magic * sqrtmagic) * GeoUtils.PI)dlng (dlng * 180.0) / (GeoUtils.a / sqrtmagic * math.cos(radlat) * GeoUtils.PI)mglat lat dlatmglng lng dlngreturn [lng * 2 - mglng, lat * 2 - mglat]staticmethoddef wgs84tobd09(lng, lat):地球坐标系world geodetic system转bd09坐标系百度坐标系dlat GeoUtils.transformlat(lng - 105.0, lat - 35.0)dlng GeoUtils.transformlng(lng - 105.0, lat - 35.0)radlat lat / 180.0 * GeoUtils.PImagic math.sin(radlat)magic 1 - GeoUtils.ee * magic * magicsqrtmagic math.sqrt(magic)dlat (dlat * 180.0) / ((GeoUtils.a * (1 - GeoUtils.ee)) / (magic * sqrtmagic) * GeoUtils.PI)dlng (dlng * 180.0) / (GeoUtils.a / sqrtmagic * math.cos(radlat) * GeoUtils.PI)mglat lat dlatmglng lng dlngz math.sqrt(mglng * mglng mglat * mglat) 0.00002 * math.sin(mglat * GeoUtils.PI)theta math.atan2(mglat, mglng) 0.000003 * math.cos(mglng * GeoUtils.PI)bd_lng z * math.cos(theta) 0.0065bd_lat z * math.sin(theta) 0.006return [bd_lng, bd_lat]staticmethoddef transformlat(lng, lat):ret -100.0 2.0 * lng 3.0 * lat 0.2 * lat * lat 0.1 * lng * lat 0.2 * math.sqrt(abs(lng))ret (20.0 * math.sin(6.0 * lng * GeoUtils.PI) 20.0 * math.sin(2.0 * lng * GeoUtils.PI)) * 2.0 / 3.0ret (20.0 * math.sin(lat * GeoUtils.PI) 40.0 * math.sin(lat / 3.0 * GeoUtils.PI)) * 2.0 / 3.0ret (160.0 * math.sin(lat / 12.0 * GeoUtils.PI) 320 * math.sin(lat * GeoUtils.PI / 30.0)) * 2.0 / 3.0return retstaticmethoddef transformlng(lng, lat):ret 300.0 lng 2.0 * lat 0.1 * lng * lng 0.1 * lng * lat 0.1 * math.sqrt(abs(lng))ret (20.0 * math.sin(6.0 * lng * GeoUtils.PI) 20.0 * math.sin(2.0 * lng * GeoUtils.PI)) * 2.0 / 3.0ret (20.0 * math.sin(lng * GeoUtils.PI) 40.0 * math.sin(lng / 3.0 * GeoUtils.PI)) * 2.0 / 3.0ret (150.0 * math.sin(lng / 12.0 * GeoUtils.PI) 300.0 * math.sin(lng / 30.0 * GeoUtils.PI)) * 2.0 / 3.0return retstaticmethoddef outofchina(lng, lat):判断是否在国内不在国内不做处理异常点位:param lng::param lat::return:return not (lng 73.66 and lng 135.05 and lat 3.86 and lat 53.55)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88809.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!