• 大小: 801KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: C#
  • 标签: 七参转换  

资源简介

地理编码,实现各个坐标系统之间的转换并实现数据导入与导出。解决因为各大坐标系的因参考椭球几何中心不同而产生的定位误差。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoordTOGPX
{
    class BufferArea
    {
        public double bufferWidth;       //缓冲区宽度
        public double bufferHeight;      //缓冲区的高度
        public double LineOrizontal;     //缓冲区为水平方向
        public double LineVertical;      //缓冲区为垂直方向

        //List
        //点转换
        public void PointTran(GpsInfo p_OldGPS CoordTran p_CoordTran double p_xa double p_xcref double p_Xref double p_Y)
        {
            double p_B p_L p_H;
            p_L = p_OldGPS.Longitude;
            p_B = p_OldGPS.Latitude;
            p_H = 0.0;
            p_CoordTran.GaussProjCal(p_L p_B p_xa p_xc ref p_X ref p_Y);//转换
        }
        //点转换
        public void PointTranBL(double p_X double p_Y CoordTran p_CoordTran double p_AddL double p_xa double p_xc ref double p_B ref double p_L)
        {            
            double p_Z = 0.0;
            double p_lon = 0.0;
            double p_lat = 0.0;
            p_CoordTran.GaussProjInvCal(p_X p_Y p_xa p_xc out p_lon out p_lat);//转换
            p_L = p_lon + p_AddL;
            p_B = p_lat;
        }
        public void CreateBufferArea(List p_OldGPS List p_NewGPS double p_width int p_lable CoordTran p_CoordTran double p_AddL double p_xa double p_xc)
        {
            int p_pointNum = p_OldGPS.Count;
            double point1_x = 0.0;
            double point1_y = 0.0;
            double point2_x = 0.0;
            double point2_y = 0.0;
            PointTran(p_OldGPS[0] p_CoordTran p_xa p_xc ref point1_x ref point1_y);
            PointTran(p_OldGPS[1] p_CoordTran p_xa p_xc ref point2_x ref point2_y);

            double p_a1 = (point1_y - point2_y) / (point1_x - point2_x);
            double p_a2 p_b2;
            if(p_width == 0.0)
            {
                for (int p_i = 0; p_i < p_pointNum;p_i++ )
                {
                    p_NewGPS.Add(p_OldGPS[p_i]);
                }
            }
            else
            {
                if (p_a1 == 0)   //生成垂直方向缓冲区
                {
                    //暂不处理
                }
                else
                {
                    p_a2 = -1.0 / p_a1;   //求直线斜率
                    p_b2 = point1_y - (p_a2 * point1_x);    //求直线偏移量

                    //采用直接计算方法
                    double p_d = Math.Pow(p_width 2) /(Math.Pow(p_a2 2) + 1.0);
                    double p_X1 = point1_x + Math.Sqrt(p_d);
                    double p_X2 = point1_x - Math.Sqrt(p_d);
                    double p_Y1 = p_a2 * p_X1 + p_b2;
                    double p_Y2 = p_a2 * p_X2 + p_b2;
                    double p_B1 = 0.0;
                    double p_L1 = 0.0;
                    double p_B2 = 0.0;
                    double p_L2 = 0.0; 
                    PointTranBL(p_X1 p_Y1 p_CoordTran p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        182  2018-10-28 14:45  CoordTOGPX\.vs\CoordTOGPX\DesignTimeBuild\.dtbcache

    ..A..H.     57344  2018-10-28 14:45  CoordTOGPX\.vs\CoordTOGPX\v15\.suo

     文件          0  2018-10-25 23:39  CoordTOGPX\.vs\CoordTOGPX\v15\Server\sqlite3\db.lock

     文件     622592  2018-10-28 14:41  CoordTOGPX\.vs\CoordTOGPX\v15\Server\sqlite3\storage.ide

     文件      32768  2018-10-28 14:41  CoordTOGPX\.vs\CoordTOGPX\v15\Server\sqlite3\storage.ide-shm

     文件    4132392  2018-10-28 14:46  CoordTOGPX\.vs\CoordTOGPX\v15\Server\sqlite3\storage.ide-wal

     文件        187  2016-12-26 21:34  CoordTOGPX\CoordTOGPX\App.config

     文件     111616  2018-10-28 14:41  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.exe

     文件        187  2016-12-26 21:34  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.exe.config

     文件      79360  2018-10-28 14:41  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.pdb

     文件      23168  2017-04-21 14:26  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.vshost.exe

     文件        187  2016-12-26 21:34  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.vshost.exe.config

     文件        490  2016-07-16 19:44  CoordTOGPX\CoordTOGPX\bin\Debug\CoordTOGPX.vshost.exe.manifest

     文件     557056  2010-09-12 13:09  CoordTOGPX\CoordTOGPX\bin\Debug\IrisSkin4.dll

     文件      12389  2010-04-04 21:03  CoordTOGPX\CoordTOGPX\bin\Debug\RealOne.ssk

     文件       2104  2018-10-25 23:49  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_BLH2018-10-25_23-49-15.txt

     文件         27  2018-10-26 00:10  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_BLH2018-10-26_0-10-1.txt

     文件        368  2018-10-26 00:18  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_BLH2018-10-26_0-18-1.txt

     文件        368  2018-10-26 00:19  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_BLH2018-10-26_0-19-23.txt

     文件       2636  2018-10-25 23:55  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_xyH2018-10-25_23-55-34.txt

     文件        452  2018-10-26 00:20  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_xyH2018-10-26_0-20-4.txt

     文件        881  2018-10-26 00:20  CoordTOGPX\CoordTOGPX\bin\Debug\WGS84_UTM_xyH2018-10-26_0-20-6.txt

     文件        368  2018-10-26 00:22  CoordTOGPX\CoordTOGPX\bin\Debug\西安80_UTM_BLH2018-10-26_0-22-25.txt

     文件      13932  2017-02-22 15:11  CoordTOGPX\CoordTOGPX\BufferArea.cs

     文件       1638  2017-01-05 10:13  CoordTOGPX\CoordTOGPX\Class1.cs

     文件       4290  2017-02-07 16:56  CoordTOGPX\CoordTOGPX\CoordTOGPX.csproj

     文件      12819  2017-04-21 12:10  CoordTOGPX\CoordTOGPX\CoordTran.cs

     文件      54347  2018-10-26 01:11  CoordTOGPX\CoordTOGPX\Form1.cs

     文件      22622  2018-10-26 00:17  CoordTOGPX\CoordTOGPX\Form1.Designer.cs

     文件     107785  2018-10-26 00:17  CoordTOGPX\CoordTOGPX\Form1.resx

............此处省略43个文件信息

评论

共有 条评论

相关资源