• 平面坐标转化经纬度,求高手给C# 方法,将下列坐标转化成经纬度
2021-05-18 12:40:03

平面坐标转化经纬度,求高手给C# 方法,将下列坐标转化成经纬度

平面坐标转化经纬度,求高手给C# 方法,将下列坐标转化成经纬度

53950.65966 98691.8174

53978.58712 98683.67092

53362.81266 98724.84873

53863.99434 101142.28989

48409.9036 99993.28906

50908.51168 98174.50808

49099.00161 98492.81168

52512.84237x0598539.16967

53351.11115x0598716.80958

51750.78065x05100777.04986

51747.37379x05100800.72085

51751.03526x05100828.39794

51761.01429x05100848.26565

51763.52895x05100875.76738

51799.82924x0599606.68054

53960.04626x0598516.41725

52940.37434x0598385.55078

51415.60828x05100887.84154

52718.39066x0598113.226

52542.09198x0598108.36898

52855.44734x0598633.82289

52854.8673x0598634.34291

52852.80505x0598658.28901

52830.66831x0598686.15015

51666.11801x05100025.7744

51576.32007x05100110.36634

51684.53488x05100016.75806

52636.69159x05101048.78356

54219.35851x0599337.31141

52895.52269x0599786.95608

53594.98016x0599531.0607

53793.77928x0599097.43091

53842.72084x0599201.58807

52529.97165x0598107.17394

52208.58331x0598495.08516

52607.86174x0598105.80591

52127.80094x05100741.29082

51702.23257x0599999.80498

51672.28341x0599918.96026

51668.73442x0599905.13575

53959.0292x0598524.13155

54012.52559x0598501.31865

53851.30291x0598570.66164

53927.77228x0598440.77587

53959.25369x0598668.27386

53957.63539x0598736.75414

53965.42987x0598763.66936

52892.10373x0599626.01405

52494.40556x0598222.1677

52488.76578x0598273.5633

52914.88189x0598349.55232

52222.88815x0598543.73323

54494.01948x0599532.40744

54313.27314x0599521.09428

53890.96533x0599526.48268

53900.05428x0599558.18087

53647.07271x0599517.52996

52211.93185x0598464.02635

52442.37317x0598162.74168

52498.69339x0598489.41171

48623.97825x0598538.91096

52216.48304x0598500.56248

52267.88095x0598582.7123

52881.17861x0598371.06554

52925.25141x0598722.95728

52473.44819x0598403.17045

51889.40053x05100760.95987

52216.39641x0598550.4355

52264.98531x0598568.69763

52935.21262x0598516.9228

52929.39617x0598688.93684

52495.55317x0598242.66148

53154.08701x0599463.47758

52839.30277x0599511.26336

52849.19928x0599500.65504

53491.58917x0599514.15491

53743.08105x0599532.09474

54099.26401x0599607.20711

54062.40218x0599560.58312

54086.57272x0599533.97703

更多相关内容
• 平面直角坐标系(也称笛卡尔坐标系)与极坐标系之间的换算关系 1.数学知识 平面直角坐标系(也称笛卡尔坐标系)与极坐标系之间的换算关系 Y=ρsin(θ) X​=ρcos(θ) 其中： X X表示在平面直角坐标系中的横坐标 YY...

# 1.数学知识

##### 平面直角坐标系(也称笛卡尔坐标系)与极坐标系之间的换算关系

{ X = ρ cos ⁡ ( θ ) Y = ρ sin ⁡ ( θ ) \left\{ \begin{aligned} X & = \rho \cos( \theta ) \\ Y & = \rho \sin( \theta ) \\ \end{aligned} \right.

其中：
X X 表示在平面直角坐标系中的横坐标
Y Y 表示在平面直角坐标系中的纵坐标
ρ \rho 表示在极坐标中的极径
θ \theta 表示在极坐标中的极角

# 2核心代码：

        public Polar_y TestMethod1(Rect_v rv)   //输入一个结构体（x,y）点(笛卡尔坐标系)的坐标
{
Polar_y pv;
pv.magnitude = Math.Sqrt(rv.x * rv.x + rv.y * rv.y);//开根
if (pv.magnitude == 0)//位于极点 magnitude表示极径
pv.angle = 0.0;  //angle 表示极角

else
pv.angle = (180 / (4 * Math.Atan(1))) * Math.Atan2(rv.y, rv.x);//atan2()返回弧度值，此为转换为角度的公式
return pv;      //返回一个结构体，包括极角和极径
}


# 3 完整可运行代码


using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MathNet.Numerics;

//namespace PolarCoordinates
//{
public struct Polar_y
{
public double magnitude;//与极点的距离
public double angle;//角度
};

public struct Rect_v
{
public double x;
public double y;
};

[TestClass]
public class UnitTest
{
[TestMethod]
public Polar_y TestMethod1(Rect_v rv)   //输入数一个结构体（x,y）点的坐标
{
Polar_y pv;
pv.magnitude = Math.Sqrt(rv.x * rv.x + rv.y * rv.y);//开根
if (pv.magnitude == 0)//位于极点
pv.angle = 0.0;

else
pv.angle = (180 / (4 * Math.Atan(1))) * Math.Atan2(rv.y, rv.x);//atan2()返回弧度值，此为转换为角度的公式
return pv;      //返回一个结构体，包括极角和极径
}
}

public class Polar
{

public static void Main(String[] args)
{
Rect_v input;
Polar_y result;
input.x = 2.0;
input.y = 3.0;

UnitTest unit = new UnitTest();
result=unit.TestMethod1(input);
Console.WriteLine(result.angle);
Console.WriteLine(result.magnitude);
Console.ReadKey();
}
}
//}


展开全文
• 场景：已知两个GPS点的经纬度坐标信息。计算两点的距离。1．距离/纬度关系GPS: 22.514519,113.380301GPS: 22.511962,113.380301距离:284.6439379583341jl_wd=284.6439379583341/(22.51451-22.511962)=111712....

场景：已知两个GPS点的经纬度坐标信息。计算两点的距离。

1． 距离/纬度关系

GPS: 22.514519,113.380301

GPS: 22.511962,113.380301

距离:284.6439379583341

jl_wd=284.6439379583341/(22.51451-22.511962)

=111712.69150641055729984301412873 (米/度)

2． 距离/经度关系

GPS: 22.514866, 113.388444

GPS: 22.514866, 113.379378

距离: 932.2997762326453

jl_jd =932.2997762326453/(113.388444-113.379378)

=102834.74258026089786013677476285(米/度)

3．勾股定理

勾股定理:a2+b2=c2

看上图中已知道A，B的坐标后，就可以求得A点与B点的纬度差值的绝对值

wd_c=|(N1,-N2)|

A点与B点的经度差值的绝对值

jd_c=|(E2-E1)|

知道了经度、纬度和距离的关系，又知道了A点与B点的经度差和纬度差，那么就可以求出b的长度和a的长度,a和b求出来后就可以用直三角形的勾股定理求出c边的长度也就是A点也B点的距离。

b=wd_c*jl_wd

a=jd_c*jl_jd

c=√(a2+b2)

C#实现代码:

///

///

计算两点GPS坐标的距离

///

///

第一点的纬度坐标

///

第一点的经度坐标

///

第二点的纬度坐标

///

第二点的经度坐标

///

public

static

double Distance(

double n1,

double e1,

double n2,

double e2)

{

double jl_jd =

102834.74258026089786013677476285;

double jl_wd =

111712.69150641055729984301412873;

double b = Math.Abs((e1 - e2) * jl_jd);

double a = Math.Abs((n1 - n2) * jl_wd);

return Math.Sqrt((a * a + b * b));

}

上面的距离:

284.6439379583341 和 距离: 932.2997762326453是怎么来的？

它们是已知的。

由它算出jl_wd=284.6439379583341/(22.51451-22.511962)=

111712.69150641055729984301412873 (米/度)

这个算法的结果是纬差1度的距离是 111712.69150641055729984301412873米，经差1度的距离是102834.74258026089786013677476285米。得到这个结果就可以计算两个点东西方向和南北方向的距离，纬差乘以111713得到南北距离，经差乘以102835得到东西距离，再用勾股定理就可以计算出两点距离。

个人以为这个算法是不可取的，因为距离随经纬度的变化并不是线性的，范围小的话可能相差不大，范围大基本就没用了，何况还必须要先计算变化率。

计算两经纬度坐标点间距离可以先将经纬度按某种投影方式换算为平面坐标，在进行点间距离计算。

http://wenku.baidu.com/link?url=ifZF41TElH6_Qi2y7Rmab0a0Dvg_Sorf8MVBW_bxPpo3tjVfWwAgIMr9_FpsRS_tdJQ6C_mUflGR7FXAAPheyqBw5cIdh9rdXbhJupLfihq

展开全文
• 满意答案zqwoshishui推荐于 2017.12.16classProgram{staticvoidMain(string[]args){stringins="";string[]sparr;...do{Console.Write("输入一组(2个点坐标数据，输入end退出)：");ins=Console.ReadLin...

满意答案

zqwoshishui

推荐于 2017.12.16

class Program

{

static void Main(string[] args)

{

string ins = "";

string[] sparr;

double[] parr = new double[4];

do

{

Console.Write("输入一组(2个点坐标数据，输入end退出)：");

ins = Console.ReadLine();

sparr =  ins.Trim().Replace("  "," ").Split(' ');

if (ins == "end")

{

break;

}else if (sparr.Length

{

Console.WriteLine("输入错误！");

}else

{

for (int i = 0; i

{

parr[i] = int.Parse(sparr[i]);

}

Console.WriteLine(" 两点距离：{0}", dis(parr[0], parr[1], parr[2], parr[3]));

}

Console.WriteLine("----------------------------------------------");

} while (true);

Console.Write("按下回车键程序退出...");

Console.Read();

}

static double dis(double x1, double y1, double x2, double y2)

{

double dx, dy;

dx = x2 - x1;

dy = y2 - y1;

return Math.Sqrt(dx * dx + dy * dy);

}

}

需要完善对输入合法性的判断

03分享举报

展开全文
• 利用C#语言编写了测量坐标转换系统的程序，较好地实现了同一参考椭球下和不同参考椭球之间不同坐标形式的相互转换，即高斯平面直角坐标、大地坐标与空间直角坐标之间的相互转换，以及高斯投影正反算和坐标换带计算等...
• 　做过位置数据处理的小伙伴基本上都会遇到坐标转换，而基于高斯投影原理的大地坐标转平面坐标就是其中一种坐标转换，坐标转换的目的就是方便后面数据的处理工作，大地坐标转高斯平面坐标常用的有两种，即3°带和6°...
• 若已知A B两点的平面坐标为 x1 y1 x2 y2 试用C++语言编写一段程序计算SAB和TAB
• 刚好最近项目需要，用到c#来实现透视投影，然后就细致研究了下。总体而言还是离不开小孔成像模型： 关键就是三个步骤： 世界坐标转相机局部坐标 相机坐标转为归一化坐标 得到的模型是 归一化坐标转像素...
• 则三角形面积公式为： 第十种 已知三角形两角及其对边,则三角形面积公式为： 第十一种---第十五种 以下几种均为上面的变形(其中为三角形外接圆半径，为内切圆半径，): 如果， 第十六种 已知在平面直角坐标系中，的三...
• //从圆弧一些信息得到圆弧上一个特殊的点(计算的是二维图形的情况)Point3dDBOPERATION::GetArcTangencyPoint(Point3dpStartPoint,Point3dpEndPoint,Point3dpCenterPoint,doubledRadius,doubledStartAngle,...
• 算法笔记-计算几何基础 正旋转 向量的点乘积 向量的叉乘积 向量的二维乘积与角度旋转 两个向量的夹角
• 满意答案#include#includeint main(){int x1,y1,x2,y2,absx,absy;double res;printf("Please input the first point (x,y):\n");scanf("%d %d",&x1,&y1);printf("Please input the second point (x,y):\n");...
• 个人想分享一些在大学中编写的一些程序，在进行坐标转换的时候，我们经常涉及到四参数与七参数的计算，在文章中，采用C#语言来进行编程，方便计算。（1）四参数的计算：在转换范围较小内不同...
• 演示了如何使用C#的运算符重载。
• 计算两点之间的角度公式是： 假设点一（X1,Y1），点二（X2,Y2） doubleangleOfLine=Math.Atan2((Y2-Y1),(X2-X2))*180/Math.PI 假设点一是坐标原点（0,0）点二是（1,0）则这两点之间的连线角度是：0； 假设点一是...
• 基于C#语言开发的Windows桌面程序，功能为实现高斯平面坐标与大地坐标之间的转换，即高斯正反算。并附录相关的计算实例及数据。适合测绘专业，支持批量处理经纬度坐标与高斯平面坐标之间的转换，操作简单，界面简洁
• 本程序是基于C#语言开发的Windows桌面程序，功能为实现高斯平面坐标与大地坐标之间的转换，即高斯正反算。并附录相关的计算实例及数据。
• 对于GDI绘图，相信都不陌生，我们可以很轻易在WinForm中进行绘制点、线、面、字符串等，我们都知道，屏幕坐标系中，原点在左上角，X方向向右为正，垂直方向向下为正，2000坐标系（这里包括接下来我们都用数学坐标系...
• ## 坐标转换系统

千次阅读 多人点赞 2018-06-05 17:23:41
在测绘工作中，涉及到各种坐标转换时人们用得最多的软件是武大的科傻软件，但是科傻软件任然存在许多不足的地方，比如科傻的软件不具有高斯投影换带计算以及大转角三维坐标基准转换的功能等。为了开发出一款功能比科...
• C# 判断字符串是否可以转化为数字 C# 判断字符串是否可以转化为数字 /// /// 判断字符串是否可以转化为数字 /// /// 做SEO所要具备的四种能力 1,不为失败找借口 既然我们选择了做SEO,那么发生网站被降权....
• 空间中的直线可由一点坐标和一方向向量来表示，在计算平面的交线时，可先由两平面法向量的叉乘来得到交线方向向量，再求取直线上任意一点。 公式推导： 平面1：a1x+b1y+c1z+d1=0；平面2：a2x+b2y+c2z+d2=0 平面法...
• 文章目录引言1算法1.1矢量点的栅格化1.1.1思想1.1.2算法实现1.2矢量线的栅格化...本文介绍这两种算法的思想、流程和使用C#语言实现。 1算法 1.1矢量点的栅格化 在介绍线的栅格化之前，先看点，因为点的栅格化是线的栅
• 通过C#构建一个简单的Win Form程序，用于高斯光斑的处理。通过SharpGL进行点云图的绘制，通过MathNet进行Gauss函数的拟合，通过OxyPlot进行拟合数据的展示。
• ## C#全能速查宝典

热门讨论 2014-04-26 16:16:27
《C#全能速查宝典》共分为8章，分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程，共包含562个C#编程中常用...
• GDAL是处理地理数据的高效开源库，支持C++、Python等多种语言，可实现绝大部分数据处理需求，因此本人采用C++语言基于GDAL库进行地理坐标转换为投影坐标处理。 操作如下： void projection(double &dLong, ...
• 实验三：C#实现求图的任意两点的最短路径及距离 实验目的 定义Graph类、Node类，从文件中读取图结构；给定两个顶点，给出两个顶点的最短路径（如果没有连通，请给...语言C# 算法 Floyd算法求图的任意两点的最短...
• ## C#基础教程

千次阅读 2018-07-17 09:26:23
第一章 C#语言基础 本章介绍C#语言的基础知识，希望具有C语言的读者能够基本掌握C#语言，并以此为基础，能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的，...

...