資源簡介
百度坐標、高得坐標、WGS84坐標轉換 js java C#, 使用網上找的js的代碼,自己添加了一個java的代碼,方便以后使用
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
namespace?ConsoleApp1
{
????public?struct?CTPoint?{
????????public?double?lng;
????????public?double?lat;
????}
????public?class?CoordTransform
????{
????????static?double?x_PI?=?3.14159265358979324?*?3000.0?/?180.0;
????????static?double?PI?=?3.1415926535897932384626;
????????static?double?a?=?6378245.0;
????????static?double?ee?=?0.00669342162296594323;
????????/**
?????????*?百度坐標系?(BD-09)?與?火星坐標系?(GCJ-02)的轉換
?????????*?
?????????*?@param?lng?經度
?????????*?@param?lat?緯度
?????????*/
????????public?static?CTPoint?bd09togcj02(double?bd_lon?double?bd_lat)
????????{
????????????double?x?=?bd_lon?-?0.0065;
????????????double?y?=?bd_lat?-?0.006;
????????????double?z?=?Math.Sqrt(x?*?x?+?y?*?y)?-?0.00002?*?Math.Sin(y?*?x_PI);
????????????double?theta?=?Math.Atan2(y?x)?-?0.000003?*?Math.Cos(x?*?x_PI);
????????????double?gg_lng?=?z?*?Math.Cos(theta);
????????????double?gg_lat?=?z?*?Math.Sin(theta);
????????????CTPoint?cTPoint;
????????????cTPoint.lat?=?gg_lat;
????????????cTPoint.lng?=?gg_lng;
????????????return?cTPoint;?
????????}
????????/**
?????????*?火星坐標系?(GCJ-02)?與百度坐標系?(BD-09)?的轉換
?????????*?
?????????*?@param?lng?經度
?????????*?@param?lat?緯度
?????????*/
????????public?static?CTPoint?gcj02tobd09(double?lng?double?lat)
????????{
????????????double?z?=?Math.Sqrt(lng?*?lng?+?lat?*?lat)?+?0.00002?*?Math.Sin(lat?*?x_PI);
????????????double?theta?=?Math.Atan2(lat?lng)?+?0.000003?*?Math.Cos(lng?*?x_PI);
????????????double?bd_lng?=?z?*?Math.Cos(theta)?+?0.0065;
????????????double?bd_lat?=?z?*?Math.Sin(theta)?+?0.006;??
????????????CTPoint?cTPoint;?
????????????cTPoint.lng?=?bd_lng;
????????????cTPoint.lat?=?bd_lat;
????????????return?cTPoint;
????????}
????????/**
?????????*?WGS84轉GCj02
?????????*?
?????????*?@param?lng?經度
?????????*?@param?lat?緯度
?????????*?@return
?????????*/
????????public?static?CTPoint?wgs84togcj02(double?lng?double?lat)
????????{????????????
????????????double?nLng?=?lng;
????????????double?nLat?=?lat;
????????????if?(!out_of_china(lng?lat))
????????????{
????????????????double?dlat?=?transformlat(lng?-?105.0?lat?-?35.0);
????????????????double?dlng?=?transformlng(lng?-?105.0?lat?-?35.0);
????????????????double?radlat?=?lat?/?180.0?*?PI;
????????????????double?magic?=?Math.Sin(radlat);
????????????????magic?=?1?-?ee?*?magic?*?magic;
????????????????double?Sqrtmagic?=?Math.Sqrt(magic);
????????????????dlat?=?(dlat?*?180.0)?/?((a?*?(1?-?ee))?/?(magic?*?Sqrtmagic)?*?PI);
????????????????dlng?=?(dlng?*?180.0)?/?(a?/?Sqrtmagic?*?Math.Cos(radlat)?*?PI);
????????????????nLng?=?lat?+?dlat;
????????????????nLat?=?lng?+?dlng;
????????????}
????????????CTPoint?cTPoint;
????????????cTPoint.lng?=?nLng;
????????????cTPoint.lat?=?nLat;
????????????return?cTPoint;?
????????}
????????public?static?double?transformlat(double?lng?doub
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4333??2018-09-17?17:16??CoordTransform.java
?????文件???????5061??2018-09-17?17:06??coordtransform.js
?????文件???????5719??2018-09-17?17:35??CoordTransform.cs
-----------?---------??----------?-----??----
????????????????15113????????????????????3
評論
共有 條評論