资源简介
有高斯反解坐标代码,图幅理论面积,椭圆上梯形面积,任意梯形面积,图斑面积,Arcgis库连接,仅供参考,非商业用途。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.esriSystem;
namespace ConsoleApplication3
{
public partial class Area
{
#region
public static double PI = 3.14159265358979;//圆周率值
public static double RHO = 206264.8062471; //经纬度转换为弧度值常数
public static double aRadius = 6378140;//椭球长半轴
public static double bRadius = 6356755.29;//椭球短半轴
public static double ParaE1 = 6.69438499958795E-03;//椭球第一偏心率
public static double ZERO = 0.000000000001;
public static double ParaE2 = 6.73950181947292E-03;//椭球第二偏心率
public static double K0 = 1.57048687472752E-07; //椭球有关的量 选定椭球80
public static double K1 = 5.05250559291393E-03; //椭球有关的量
public static double K2 = 2.98473350966158E-05; //椭球有关的量
public static double K3 = 2.41627215981336E-07; //椭球有关的量
public static double K4 = 2.22241909461273E-09; //椭球有关的量
//public static double ParaC = 6399596.65198801;//极点子午圈曲率半径
//public static double e2 = ParaE1;
//public static double ParaAF = 1 / 298.257;//椭球扁率
#endregion
//1
//计算图幅理论面积的方法
public static double MapTheoryArea(double B1 double L1 int M double B2 double L2)
{
double PI = 3.14159265358979;//圆周率值
double RHO = 206264.8062471; //经纬度转换为弧度值常数
double aRadius = 6378140;//椭球长半轴
double bRadius = 6356755.29;//椭球短半轴
//double ParaAF = 1 / 298.257;//椭球扁率
//double ParaE1 = 6.69438499958795E-03;//椭球第一偏心率
//double ParaE2 = 6.73950181947292E-03;//椭球第二偏心率
//double ParaC = 6399596.65198801;//极点子午圈曲率半径
//e2 = ParaE1;
double ParamA;//A常数
double ParamB;//B常数
double ParamC;//C常数
double ParamD;//D常数
double ParamE;//E常数
double L0;
L0 = (M * 3 * 3600) / RHO;
L1 = L1 * 3600 / RHO;//将经度转换为弧度值
L2 = L2 * 3600 / RHO;//将经度转换为弧度值
B1 = B1 * 3600 / RHO;//将纬度转换为弧度值
B2 = B2 * 3600 / RHO;//将纬度转换为弧度值
double lDiference = ((L1 + L2) / 2.0) - L0;//经差
//double lDiference = (0.0625*3600)/RHO;
double bDiference = Math.Abs(B2 - B1);//纬差
double e2 = (aRadius * aRadius - bRadius * bRadius) / (aRadius * aRadius);
ParamA = 1 + (3.0 / 6.0) * e2 + (30.0 / 80.0) * Math.Pow(e2 2) + (35.0 / 112.0) * Math.Pow(e2 3) + (630.0 / 2304.0) * Math.Pow(e2 4);
ParamB = (1.0 / 6.0) * e2 + (15.0 / 80.0) * Math.Pow(e2 2) + (21.0 / 112.0) * Math.Pow(e2 3) + (420.0 / 2304.0) * Math.Pow(e2 4);
ParamC = (3.0 / 80.0) * Math.Pow(e2 2) + (7.0 / 112.0) * Ma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19355 2012-07-26 16:04 Program.cs
----------- --------- ---------- ----- ----
19355 1
评论
共有 条评论