已知经纬度转换xy坐标公式求经纬坐标

您还未登陆,请登录后操作!
,但是转换有一定的误差。要想较精确的转换,需要相应的参数,例如你所说的,当地的中央子午线(非常重要,没设好就有误差,说不定误差还非常大!),一般买GPS的时候可以向公司顺带要到。如果自己查的话可能就有点费劲,测绘部门里可能有但要钱。具体其它参数就不清楚,跟各个GPS硬件和软件有关。 建议在相关图件地区上做几个矫正点。例如在固定的地物、房子建筑物之类的。即使有问题只要相对坐标没问题就可以用相关软件例如MAPGIS等做矫正就可以用了。不过最好还是先设置好相关参数。
您的举报已经提交成功,我们将尽快处理,谢谢!
那个仪器是经纬仪
大家还关注BLtoXY 经纬度BL换算到高斯平面直角坐标XY( 投影正算) GIS program 240万源代码下载-
&文件名称: BLtoXY
& & & & &&]
&&所属分类:
&&开发工具: Visual Basic
&&文件大小: 4 KB
&&上传时间:
&&下载次数: 173
&&提 供 者:
&详细说明:经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)-BL converted to latitude and longitude Gaussian plane rectangular coordinates XY (Gauss projection is count)
文件列表(日期:)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)的源码及算法&&............................................................\经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)的源码及算法 .txt
&[]:一般,勉强可用&[]:纯粹是垃圾&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站240万海量源码库中尽情搜索:
&[] - mapx的培训教材,pdf格式的,共12章比较全
&[] - 很好的坐标转换软件,迅速完成各种坐标的相互转换!
&[] - 由大地经纬度转为空间直角坐标,结算大地问题
&[] - 我是测绘学院的学生,上面的程序是用C++写的高斯投影坐标转换的小程序。
&[] - 坐标换代程序。可以进行54北京和80北京坐标转换,包括坐标转经纬度,经纬度转坐标以及坐标换代的计算,简单,实用。
&[] - 几个实现经纬度与投影坐标计算的函数.可以供程序员参考
&[] - 提交小说内容的JSP页面 提交查询条件的JSP页面 使用共享连接的servlet源文件 负责选择商品的JSP页面
&[] - 高斯投影正反算的c程序代码,网上好多都是使用vc做的,真正用c写的就这一个
&[] - 这是一个高斯投影变换的类,支持从经纬度到平面坐标和平面坐标到经纬度的变换。
&[] - 经纬度坐标换算软件,经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)当前访客身份:游客 [
当前位置:
发布于 日 9时,
网上有这段代码,之前我做基站地位的时候,如果直接用xy坐标算,发现偏差很大,网上查了才知道要做高斯投影,下面这个方法可以针对直线这种情况,曲线我就没办法了,只能做投影了
代码片段(1)
1.&[代码]网上有c++语言的,我就翻译了一下&&&&
package ejbModule.Map.
public class JWD {
static double Rc = 6378137;
// 赤道半径
static double Rj = 6356725;
double m_LoDeg, m_LoMin, m_LoS
// longtitude 经度
double m_LaDeg, m_LaMin, m_LaS
double m_Longitude, m_L
double m_RadLo, m_RadLa;
double Ec;
double Ed;
public static void main(String[] args) {
// TODO Auto-generated method stub
JWD B = JWD.GetJWDB(113.344,23., 130);
System.out.println(B.m_Longitude);
System.out.println(B.m_Latitude);
JWD A = new JWD(113.344,23.1346);
JWD B = new JWD(113.15,23.477);
System.out.println(JWD.angle(A, B));
public JWD(double longitude, double latitude)
m_LoDeg = (int)
m_LoMin = (int)((longitude - m_LoDeg)*60);
m_LoSec = (longitude - m_LoDeg - m_LoMin/60.)*3600;
m_LaDeg = (int)
m_LaMin = (int)((latitude - m_LaDeg)*60);
m_LaSec = (latitude - m_LaDeg - m_LaMin/60.)*3600;
m_Longitude =
m_Latitude =
m_RadLo = longitude * Math.PI/180.;
m_RadLa = latitude * Math.PI/180.;
Ec = Rj + (Rc - Rj) * (90.-m_Latitude) / 90.;
Ed = Ec * Math.cos(m_RadLa);
public static JWD GetJWDB(JWD A, double distance, double angle)
double dx = distance*1000 * Math.sin(angle * Math.PI /180.);
double dy = distance*1000 * Math.cos(angle * Math.PI /180.);
//double dx = (B.m_RadLo - A.m_RadLo) * A.Ed;
//double dy = (B.m_RadLa - A.m_RadLa) * A.Ec;
double BJD = (dx/A.Ed + A.m_RadLo) * 180./Math.PI;
double BWD = (dy/A.Ec + A.m_RadLa) * 180./Math.PI;
JWD B = new JWD(BJD, BWD);
//! 已知点A经纬度,根据B点据A点的距离,和方位,求B点的经纬度
* /param longitude 已知点A经度
* /param latitude 已知点A纬度
* /param distance B点到A点的距离
* /param angle B点相对于A点的方位
* /return B点的经纬度坐标
public static JWD GetJWDB(double longitude, double latitude, double distance, double angle)
JWD A = new JWD(longitude,latitude);
return GetJWDB(A, distance, angle);
//! 计算点A 和 点B的经纬度,求他们的距离和点B相对于点A的方位
* \param A A点经纬度
* \param B B点经纬度
* \param angle B相对于A的方位, 不需要返回该值,则将其设为空
* \return A点B点的角度
public static double angle(JWD A, JWD B)
double dx = (B.m_RadLo - A.m_RadLo) * A.Ed;
double dy = (B.m_RadLa - A.m_RadLa) * A.Ec;
double out = Math.sqrt(dx * dx + dy * dy);
double angle = 0.0;
angle = Math.atan(Math.abs(dx/dy))*180./Math.PI;
// 判断象限
double dLo = B.m_Longitude - A.m_L
double dLa = B.m_Latitude - A.m_L
if(dLo & 0 && dLa &= 0) {
angle = (90. - angle) + 90.;
else if(dLo &= 0 && dLa & 0) {
angle = angle + 180.;
else if(dLo & 0 && dLa &= 0) {
angle = (90. - angle) + 270;
开源中国-程序员在线工具:
这是一个GIS的问题,提点我的建议
1)偏差大有两个原因,一是因为你的坐标数据是球面坐标系,二是因为基站定位本身误差很大。
2)投影变换地图数据不是好的解决方式,需要你更改地图数据,而且基站定位数据本身就是球面坐标的,麻烦。
3)如果你的数据库是oracle的,建议你采用oracle spatial中的函数来直接转换成你要的平面坐标点(我以前做基站定位和无线网优的时候就是采用这种办法)。其他办法:近似的转化成球面坐标,Google提供过近似的算法。
2楼:ari0083 发表于
转成球面坐标有些不好的地方,我现在在搞的算法要用到TDOA那种算法,那双曲线在球面坐标系上不会处理,没办法我才转成xy坐标轴的,而且测试后的数据显示,投影变换的误差不是很大,基本上都是几米到10多米的误差。后面还要研究,毕竟不是搞地理的,很大概念都不懂。
开源从代码分享开始
ari0083的其他代码怎么将xy坐标转换为经纬度?_百度知道
怎么将xy坐标转换为经纬度?
怎么将xy坐标转换为经纬度?x=
提问者采纳
首先要知道你的这个坐标的基本信息,如果不知道的话,这个坐标可以转换出N多个经纬度坐标的!
什么信息啊?它是安徽省池州市的坐标,应该说是池州市内某县附近的
那个坐标系知道不!不行你加我具体交流吧!
其他类似问题
为您推荐:
经纬度的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个经纬度转换成地图xy坐标的问题,地图算法我们在地图上,定了10几个点,这十几个点,每三个点,构成一个锐角三角形(这些三角形,构成了一副地图),这些点的经纬度和相应的xy坐标_百度作业帮
一个经纬度转换成地图xy坐标的问题,地图算法我们在地图上,定了10几个点,这十几个点,每三个点,构成一个锐角三角形(这些三角形,构成了一副地图),这些点的经纬度和相应的xy坐标
一个经纬度转换成地图xy坐标的问题,地图算法我们在地图上,定了10几个点,这十几个点,每三个点,构成一个锐角三角形(这些三角形,构成了一副地图),这些点的经纬度和相应的xy坐标,都已知道,现在我知道另一个点的经纬度,要转换成相应的xy坐标,只需要找出地图上三个与所求点距离最近的三个点,便可求出xy。1:为什么要选择锐角三角形(听说这样算出来的误差最小,是什么原理)2:如何算出xy
第一问可以反距离加权的方法来定性验证.第二问,1)使用正算公式计算10个点对应的(X,Y).2)计算各个点的坐标差改正量deltx=x-X,delty=y-Y.3)以所求点位中心,以适当距离为半径 搜索3条最短距离,利用反距离加权推估所求点的的delt改正量.4)此点经纬度使用正算公式得到X,Y.再加上delt改正量即可求得 xy.

我要回帖

更多关于 xy坐标转换经纬度 的文章

 

随机推荐