资源简介

有高斯反解坐标代码,图幅理论面积,椭圆上梯形面积,任意梯形面积,图斑面积,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


评论

共有 条评论

相关资源