精华内容
下载资源
问答
  • QGIS 3中如何将WGS84转换为国家2000大地坐标系?今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。01工程坐标系从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程...
    94b8c626854e78ba1d7a1eb7ba437bff.pngQGIS 3中如何将WGS84转换为国家2000大地坐标系?

    天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。

     01 

    工程坐标系

    从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进行动态坐标转换,然后显示在地图画布中。

    因此,在处理空间数据的过程中,一定要特别注意观察各个数据文件的坐标系与工程坐标系,当这两个坐标系冲突时,QGIS可以根据工程坐标系自动转换,让图层能够叠加显示在地图窗口中,然而,如果要做空间分析操作,则必须先统一坐标参照系。

    回到所提出的问题:将WGS84坐标转为国家2000大地坐标系,有两种情况:

    1、如果是为了满足显示图层数据时,地图窗口显示为国家2000大地坐标,那么建议将工程坐标系设置为国家2000大地坐标系,然后保存工程文件。这样,再次打开工程文件时,地图窗口保持为国家2000大地坐标系 ,数据文件本身的坐标系不变,仍是WGS84坐标系。

    2、如果想改变数据文件的图层坐标系,则需要将数据导出,设置导出的坐标系为国家2000坐标系。这样,新导出的数据文件无论何时打开,都是国家2000坐标系。

    我们先看看上述第一种情况如何操作。首先,在QGIS中打开一个坐标系为WGS84的图层:

    b6d971a55d30db14e329d5a031393eee.png

    右键点击该图层,打开图层属性对话框,确认图层的坐标系为WGS84。

    11ab5259e58068dcdc32ae8060e1cccf.png

    在【图层】面板中右键点击,从弹出菜单选择【设置坐标参照系】->【设置图层坐标参照系】,打开【坐标参照系选择器】对话框

    6ef8d054645bf07f45f59100b1c4946c.png

    在【坐标参照系选择器】中,输入国家2000大地坐标系CGCS2000的EPSG编号“4490”,即可在下方的【预定义的坐标参考系】中找到对应的条目,点击选择该坐标参照系,点击【OK】按钮,返回地图窗口。

    2f6c200c86955f09b9df9b2632371621.png

    此时再次打开图层属性对话框,将会看到图层的坐标参照系已经变为国家2000大地坐标系了。但是因为整个工程的坐标系为默认的WGS84,地图窗口仍使用WGS84来绘制该图层。

    右键点击图层,从弹出菜单中选择【设置坐标参照系】->【将图层的坐标参照系设定为工程的坐标参照系】,将工程的坐标参照系设置为CGCS2000。

    3af2895e08a593a42c48b30ea6807a49.png

    这样,地图窗口的坐标参照系就变成了国家2000大地坐标系了。

     02 

    保存到文件

    需要注意的是,地图的坐标参照系存储在工程文件(Project File)中,改变地图的坐标参照系,并不会改变数据集本身的坐标参照系。也就是说,下次在打开这个数据集的时候,坐标系仍然是原来的WGS84,数据集的坐标系与地图坐标系无关。

    所以,如果想永久改变数据集的坐标参照系,建议将数据集另存。右键点击要另存的图层,选择菜单【导出】->【另存要素为】。

    3c8b6d96bec134ef25cf2372f18ad240.png

    在弹出的【矢量图层另存为…】对话框中,选择存储的格式为Shapefile,设置存储的路径和文件名。确认坐标参照系是我们想要的CGCS2000,点击【OK】。

    a25587a867ae5ebc09aa83fb84b51f3c.png

    可以看到地图面板添加了新保存的图层。在【浏览】面板中右键点击该图层,选择【图层特性…】打开图层基本信息窗口。

    0e23bad3e86eff0a43556444044cfa2d.png

    确认数据文件的坐标参照系已经转换为CGCS2000。

    69113192b211cf81857623f99d82b3ef.png

     03 

    QGIS中的坐标参照系

    QGIS支持大约7000种预定义坐标参照系,主要来自两个组织:EPSG(European Petroleum Search Group)和IGNF(Institut Geographique National de France)。坐标系的标识一般由组织名称+唯一编码构成,其中的组织名称就是两者之一。

    为了能够快速找到所需要的坐标系,QGIS在【坐标参照系选择器】中提供了搜索功能,在【过滤】文本框中输入任意关键字,下方的“预定义的坐标参考系”将列出符合条件的预定义坐标参照系,一般情况下,常用的坐标系在QGIS中均能找到。

    4a02205dc7be1a00a451e8fd7f888566.png

    如果需要处理的数据,使用了一种不常见的坐标参照系,不属于预定义坐标系,QGIS也支持用户自定义坐标参照系。点击菜单【设置】->【自定义投影…】,打开自定义投影对话框。

    9078633672ed8a02988e10f36602eb18.png

    在【自定义坐标参照系】对话框中,可以点击d089e38a4e3a6d1c5734fc6b6127d1e2.png按钮添加新的坐标参照系,输入新坐标系的名称,例如“mycgcs2000”,【格式】选择“WKT”(Well Known Text),在【参数】文本框中以WKT格式输入坐标系相关参数,即可完成自定义坐标系设置。

    39f53789ecaea37633e5a78295ee14b4.png

    大家不必因为看到参数是一大堆代码而感到恐惧,实际上,这些代码不需要手动创建,EPSG和IGNF两个组织在提供各个坐标参照系说明时,也为每个坐标系生成了相应的WKT格式字符串参数。例如,打开EPSG网站上国家2000大地坐标系对应页面:http://epsg.io/4490,即可看到其详细的说明。

    9881f14e14e15ec0b0adf5ac75692068.png

    网页下方提供了多种格式的导出字符串,第一种即为WKT格式,若要使用该坐标系,将对应字符串拷贝到QGIS自定义坐标系的参数区即可。

    887b7af9badffd3341c055870bf0ceb7.png


    版权声明

    本文欢迎转载,转载时请注明出处。

    18d8358642fda2b8eacd38f8dca9c1d4.png

    展开全文
  • 北京54坐标如何转换WGS84坐标,查阅诸多资料后无法实现误差较小的转化,请大神指教
  • GIS中关于WGS84与北京54坐标系之间的转换,
  • 本工具为excel进行开发,针对北京54wgs84坐标系的相互转换功能。精准
  • 【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。【关键词】 ArcGIS 坐标转换 投影变换1 坐标转换简介坐标系统之间的坐标转换...

    【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。

    【关键词】 ArcGIS 坐标转换 投影变换

    1 坐标转换简介

    坐标系统之间的坐标转换既包括不同的参心坐标之间的转换,或者不同的地心坐标系之间的转换,也包括参心坐标系与地心坐标系之间的转换以及相同坐标系的

    直角坐标与大地坐标之间的坐标转换,还有大地坐标与高斯平面坐标之间的转换。在两个空间角直坐标系中,假设其分别为O--XYZ和O--XYZ,如果两个

    坐标系的原点相同,通过三次旋转,就可以使两个坐标系重合;如果两个直角坐标系的原点不在同一个位置,通过坐标轴的平移和旋转可以取得一致;如果两个坐标

    系的尺度也不尽一致,就需要再增加一个尺度变化参数;而对于大地坐标和高斯投影平面坐标之间的转换,则需要通过高斯投影正算和高斯投影反算,通过使用中央

    子午线的经度和不同的参考椭球以及不同的投影面的选择来实现坐标的转换。

    如何使用ArcGIS实现WGS84经纬度坐标到BJ54高斯投影坐标的转换?这是很多从事GIS工作或者测绘工作者普遍遇到的问题。本文目的在于帮助用户解决这个问题。

    我们通常说的WGS-84坐标是指经纬度这种坐标表示方法,北京54坐标通常是指经过高斯投影的平面直角坐标这种坐标表示方法。为什么要进行坐标转换?我们先来看两组参数,如表1所示:

    表1 BJ54与WGS84基准参数

    参考椭球体

    长半轴

    短半轴

    扁率

    BJ54基准参数

    Krasovsky_1940

    6378245

    6356863.0188

    298.3

    WGS84基准参数

    WGS 84

    6378137

    6356752.3142

    298.257224

    很显然,WGS84与BJ54是两种不同的大地基准面,不同的参考椭球体,因而两种地图下,同一个点的坐标是不同的,无论是三度带六度带坐标还是经纬度坐

    标都是不同的。当要把GPS接收到的点(WGS84坐标系统的)叠加到BJ54坐标系统的底图上,那就会发现这些GPS点不能准确的在它该在的地方,即

    “与实际地点发生了偏移”。这就要求把这些GPS点从WGS84的坐标系统转换成BJ54的坐标系统了。

    有关WGS84与BJ54的坐标转换问题,实质是WGS-84椭球体到BJ54椭球体的转换问题。如果我们是需要把WGS84的经纬度坐标转换成

    BJ54的高斯投影坐标,那就还会涉及到投影变换问题。因此,这个转换过程,一般的GPS数据处理软件都是采用下述步骤进行的:

    1)(B,L)84——(X,Y,Z)84,空间大地坐标到空间直角坐标的转换。

    2)(X,Y,Z)84——(X,Y,Z)54,坐标基准的转换,即Datum转换。通常有三种转换方法:七参数、简化三参数、Molodensky。

    3)(X,Y,Z)54——(B,L)54,空间直角坐标到空间大地坐标的转换。

    4)(B,L)54——(x,y)54, 高斯投影正算。

    从以上步骤不难看出,转换的关键是第二步,转换的参数。鉴于我国曾使用不同的坐标基准(BJ54、State80、Correct54),各地的重力

    值又有很大差异,所以很难确定一套适合全国且精度较好的转换参数。在WGS-84坐标和北京54坐标之间是不存在一套转换参数可以全国通用的,在每个地方

    会不一样。

    必须了解,在不同的椭球之间的转换是不严密的。那么,两个椭球间的坐标转换应该是怎样的呢?一般而言比较严密的是用七参数法,即3个平移因子(X平

    移,Y平移,Z平移),3个旋转因子(X旋转,Y旋转,Z旋转),一个比例因子(也叫尺度变化K)。国内参数来源的途径不多,一般当地测绘部门会有。通行

    的做法是:在工作区内找三个以上的已知点,利用已知点的BJ54坐标和所测WGS84坐标,通过一定的数学模型,求解七参数。若多选几个已知点,通过平差

    的方法可以获得较好的精度。如果区域范围不大,最远点间的距离不大于30Km(经验值),这可以用三参数,即只考虑3个平移因子(X平移,Y平移,Z平

    移),而将旋转因子及比例因子(X旋转,Y旋转,Z旋转,尺度变化K)都视为0,所以三参数只是七参数的一种特例。北京54和西安80也是两种不同的大地

    基准面,不同的参考椭球体,他们之间的转换也是同理。在ArcGIS中提供了三参数、七参数转换法。而在同一个椭球里的转换都是严密的,在同一个椭球的不

    同坐标系中转换需要用到四参数转换,举个例子,在深圳既有北京54坐标又有深圳坐标,在这两种坐标之间转换就用到四参数,计算四参数需要两个已知点。

    2 ArcGIS坐标转换例子

    2.1 应注意问题

    使用ArcGIS如何实现WGS84经纬度坐标到BJ54高斯投影坐标的转换呢?在ArcGIS中,这个坐标转换步骤简化了,用户只需要两个步骤就能够直接从最初的WGS84经纬度坐标转换到BJ54高斯投影坐标。这就是ArcGIS的强大之处。

    接下来,我们做一个例子。假设我们已经知道了7参数,应该如何操作呢?在具体的操作前,请大家一定注意以下三点:

    WGS84的经纬度坐标值是用度来表示,而不能是度分秒表示  七参数的平移因子单位是米,旋转因子单位是秒,比例因子单位是百万。

    在ArcGIS中,7参数法的名字是Coordinate_Frame

    方法。  有人在用ArcGIS进行不同椭球体间的坐标转换时,转换出来的结果不对,然后就写文章说变形如何如何,很可能是由于他们没有注意上面这三个关键的问题造成的。

    2.2 转换步骤

    a、定义7参数的地理转换(Create Custom Geographic Transformation)

    在Arctool中打开Create Custom Geographic Transformation工具,如图1所示:

    在弹出的窗口中,输入一个转换的名字,如wgs84ToBJ54。在定义地理转换方法下面,在Method中选择合适的转换方法如

    COORDINATE_FRAME,然后输入平移参数、旋转角度和比例因子,如图2所示:

    b、投影变换

    打开工具箱下的Projections and

    Transformations>Feature>Project,在弹出的窗口中输入要转换的数据以及Output

    Coordinate System,然后输入第一步自定义的地理坐标系如wgs84ToBJ54,开始投影变换,如图3所示:

    点击“确定”,完成坐标转换。

    3

    结束语  我国现已启用新的坐标系统2000国家大地坐标系,2000国家大地坐标系与现行国家大地坐标系转换、衔

    接的过渡期仍需一段较长时期,在实际工作、工程中还遇到不同坐标系之间转换,本文针对在生产中从事测绘工作遇到的坐标转换问题提供解决方法和经验,希望对

    同行有所参考。

    【参考文献】[1]

    孔祥元、郭际明、刘宗泉.《大地测量学基础》.武汉大学出版社,第一版,2001年9月

    [2] 李征航、黄劲松.《GPS测量与数据处理》.武汉大学出版社,第一版,2005年3月

    [3] MAPGIS使用教程

    ARCGIS中北京54转WGS84的参数精度

    在ARCGIS中提供了Beijing_1954_to_wgs_1984_1到Beijing_1954_to_wgs_1984_6等模型,里面涉及到的参数的来源是否有依据,如果做全国整体的转换的话,该选哪个?

    不同的地方转换参数应该不一样,所以没有个统一的参数。arcgis中提供的Beijing_1954_to_wgs_1984_1到

    Beijing_1954_to_wgs_1984_6几种转换方法应该是针对中国不同地区的,转换全国的恐怕精度难以保证。你可以用这几种方法都试试,

    然后比较一下它们之间的区别。

    Beijing_1954_To_WGS_1984_1

    内蒙古自治区,陕西省,山西省,宁夏回族自治区,甘肃省,四川省,重庆市

    Beijing_1954_To_WGS_1984_2

    黑龙江省,吉林省,辽宁省,北京市,天津市,河北省,河南省,山东省,江苏省,安徽省,上海市

    Beijing_1954_To_WGS_1984_3

    浙江省,福建省,江西省,湖北省,湖南省,广东省,广西壮族自治区,海南省,贵州省,云南省,香港和澳门特别行政区,台湾省

    Beijing_1954_To_WGS_1984_4

    青海省,新疆维吾尔自治区,西藏自治区

    Beijing_1954_To_WGS_1984_5 15935 China - Bei Bu

    Basin 北部湾

    Beijing_1954_To_WGS_1984_6 15936 China - Orduz basin 不知道是啥

    展开全文
  • 实现大地坐标与空间直角坐标和平面坐标的相互转换以及不同参考椭球的坐标系转换,内含8454坐标转换示例!
  • 北京-54投影坐标系转换到GCS-WGS-84地理坐标系的操作过程。下面以 矢量数据为例,用空间校正工具。1.北京坐标系图层和WGS-84图层都加载到一个GDB里面,GDB数据库比较稳定可靠。先添加WGS-84图层,ArcMap会默认把图层...

    04d10c1c66c697c749b9097d15884c7e.gif

    最近通过ArcMap进行坐标转换工作。

    ArcMAP有几个工具可以进行转换和校正,如地理配准和空间校正

    地理配准:用于栅格数据。

    空间校正:用于矢量数据。

    北京-54投影坐标系转换到GCS-WGS-84地理坐标系的操作过程。下面以 矢量数据为例,用空间校正工具。

    1.北京坐标系图层和WGS-84图层都加载到一个GDB里面,GDB数据库比较稳定可靠。先添加WGS-84图层,ArcMap会默认把图层设置为第一个图层的坐标系,接下来添加北京坐标系的图层,由于坐标系不一样,ArcMap会动态转换坐标(不改变源数据,仅仅是展示在默认坐标系下面)。更多干货敬请关注:GIS前沿 WGS-84图层作为参考,北京坐标系要转换为WGS-84坐标系,要跟这个图层的数据吻合。

    2c3c357b64232d3fd29aec68bf2513ab.png

    2.开始编辑

    b013939405c812ed3ca27f0a6e6068e8.png

    3.打开空间校正工具

    3edc2204896de5a97dd801b6832719c5.png

    4.选择校正数据,WGS-84坐标的数据作为参考,北京坐标系的数据是需要校正的数据。

    a4f8f6f0e478d78a6632bb62d330ede7.png

    5.校正方法选择“橡皮页变换”,开始选择-仿射 方法,发现这边修正了,另外一边就偏移了,因为它是整体变化。用橡皮页变换的话,仅仅是有链接的地方才变换,不影响其他地方。

    橡皮页变换常用于两个或多个图层的对齐。校正其实就是对齐。

    002ec49d9996275084c5c651632e448b.png

    6.校正的链接文件需要定期保存一下。这些参数可能下次复用。这些数据具有很好的复用价值。

    8514998ad9f19147763d64a3fc2d5ae1.png

    7.点击 校正

    6cc53727e3f89a18233652379251743f.png

    8.校正后,有链接的地方基本是重合的。

    095ea573c2fadf8a147638e19ffc1a7e.png

    --------------------- 

    文章转载于CSDN 作者:阿甘亮 

    版权归原作者所有,如有侵权请告知

    - END -

    ArcGIS制图技巧讲解,处理好细节才能让图更专业!

    ArcGIS中用不规则矢量裁切影像方法比较(含黑边处理)

    这几个ArcGIS常用工具你一定要知道

    ArcGIS和COORD进行坐标七参数转换国家2000的方法

    「 下面这个很有必要通知一下 」

    fa8aaff6197fa3a733a93d75e4000f5b.gif

    展开全文
  • 前几天自我总结时候发现了之前给我姐写的一个winform的小程序,用来简单进行BJ54坐标WGS84坐标的转换。觉得挺有意思的,就贴出来分享一下。PS:只用了简单的高斯变换,没有四、七参数的变化,所以出来还是有较大...

    前几天自我总结时候发现了之前给我姐写的一个winform的小程序,用来简单进行BJ54坐标到WGS84坐标的转换。

    觉得挺有意思的,就贴出来分享一下。

    PS:只用了简单的高斯变换,没有四、七参数的变化,所以转出来还是有较大误差。不过可以判断出大概位置

    具体说明如下:

    1.打开程序,主界面如下,可以进行BJ54坐标系的XY坐标到WGS84经纬度坐标的单点或者多点转换。

    2.输入带号和X,Y坐标,点击单点转换,即可进行坐标的单点转换。

    3.新建一个低版本(.xls格式)的excel表,将X,Y坐标输入excel表,保存。

      

    4.在程序里先输入带号,然后点击多点转换,选择对应的excel表点击打开。

    5.程序会自动计算坐标,完成会提示另存为,此时选择将计算后新生成表保存即可。

    6.找到新生成的表,里面就是对应的经纬度坐标了。


    具体的代码如下:

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
    
            private void button1_Click(object sender, EventArgs e)
            {
                double a = double.Parse(textBox1.Text);
                double b = double.Parse(textBox2.Text);
                double f = double.Parse(textBox5.Text);
                double c=0;
                double d = 0;
                GaussProjInvCal(a, b, f,ref c, ref d);
                textBox3.Text = c.ToString();
                textBox4.Text = d.ToString();
    
            }
            void GaussProjInvCal(double X, double Y, double daihao,ref double longitude, ref double latitude)
            {
                int ProjNo; 带宽
                double longitude1, latitude1, longitude0, X0, Y0, xval, yval;
                double e1, e2, f, a, ee, NN, T, C, M, D, R, u, fai, iPI;
                iPI = 0.0174532925199433; 3.1415926535898/180.0;
                a = 6378245.0; f = 1.0 / 298.3; //54年北京坐标系参数
                a=6378140.0; f=1/298.257; //80年西安坐标系参数
                ProjNo = (int)(X / 1000000L); //查找带号
                longitude0 = daihao*3;
                longitude0 = longitude0 * iPI; //中央经线
                X0 = ProjNo * 1000000L + 500000L;
                Y0 = 0;
                xval = X - X0; yval = Y - Y0; //带内大地坐标
                e2 = 2 * f - f * f;
                e1 = (1.0 - Math.Sqrt(1 - e2)) / (1.0 + Math.Sqrt(1 - e2));
                ee = e2 / (1 - e2);
                M = yval;
                u = M / (a * (1 - e2 / 4 - 3 * e2 * e2 / 64 - 5 * e2 * e2 * e2 / 256));
                fai = u + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.Sin(2 * u) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.Sin(
                4 * u)
                + (151 * e1 * e1 * e1 / 96) * Math.Sin(6 * u) + (1097 * e1 * e1 * e1 * e1 / 512) * Math.Sin(8 * u);
                C = ee * Math.Cos(fai) * Math.Cos(fai);
                T = Math.Tan(fai) * Math.Tan(fai);
                NN = a / Math.Sqrt(1.0 - e2 * Math.Sin(fai) * Math.Sin(fai));
                R = a * (1 - e2) / Math.Sqrt((1 - e2 * Math.Sin(fai) * Math.Sin(fai)) * (1 - e2 * Math.Sin(fai) * Math.Sin(fai)) * (1 - e2 * Math.Sin
                (fai) * Math.Sin(fai)));
                D = xval / NN;
                //计算经度(Longitude) 纬度(Latitude)
                longitude1 = longitude0 + (D - (1 + 2 * T + C) * D * D * D / 6 + (5 - 2 * C + 28 * T - 3 * C * C + 8 * ee + 24 * T * T) * D
                * D * D * D * D / 120) / Math.Cos(fai);
                latitude1 = fai - (NN * Math.Tan(fai) / R) * (D * D / 2 - (5 + 3 * T + 10 * C - 4 * C * C - 9 * ee) * D * D * D * D / 24
                + (61 + 90 * T + 298 * C + 45 * T * T - 256 * ee - 3 * C * C) * D * D * D * D * D * D / 720);
                //转换为度 DD
                longitude = longitude1 / iPI;
                latitude = latitude1 / iPI;
            }
    
            private void label6_Click(object sender, EventArgs e)
            {
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                try
                {
                    string filepath = "";
                    OpenFileDialog opf = new OpenFileDialog();
                    if (opf.ShowDialog() == DialogResult.OK)
                        filepath = opf.FileName;
                    DataSet ds = new DataSet();
                    ds = ExcelToDS(filepath);
                    DataTable dt = ds.Tables["table1"];
                    foreach (DataRow dr in dt.Rows)
                    {
                        double a = double.Parse(dr[0].ToString());
                        double b = double.Parse(dr[1].ToString());
                        double f = double.Parse(textBox5.Text);
                        double c = 0;
                        double d = 0;
                        GaussProjInvCal(a, b, f, ref c, ref d);
                        dr[0] = c.ToString();
                        dr[1] = d.ToString();
    
                    }
                    DataGridViewExportToExcel(ds, "坐标excel");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "软件提示");
                }
            }
            public DataSet ExcelToDS(string Path)
            {
                string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                OleDbDataAdapter myCommand = null;
                DataSet ds = null;
                strExcel = "select * from [sheet1$]";
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                ds = new DataSet();
                myCommand.Fill(ds, "table1");
                return ds;
            } 
            public void DataGridViewExportToExcel(DataSet ds, string strTitle)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Excel files (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = false;
                saveFileDialog.FileName = strTitle + ".xls";
                if (saveFileDialog.ShowDialog() == DialogResult.Cancel) //导出时,点击【取消】按钮
                {
                    return;
                }
                Stream myStream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(myStream,       System.Text.Encoding.GetEncoding(-0));
                string strHeaderText = "";
                try
                {
                    //写标题
                    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                    {
                        if (i > 0)
                        {
                            strHeaderText += "\t";
                        }
                        strHeaderText += ds.Tables[0].Columns[i].ToString();
                    }
                    sw.WriteLine(strHeaderText);
                    //写内容
                    string strItemValue = "";
                    for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
                    {
                        strItemValue = "";
                        for (int k = 0; k < ds.Tables[0].Columns.Count; k++)
                        {
                            if (k > 0)
                            {
                                strItemValue += "\t";
                            }
                            strItemValue += ds.Tables[0].Rows[j][k].ToString();
                        }
                sw.WriteLine(strItemValue); //把dgv的每一行的信息写为sw的每一行
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "软件提示");
                }
                finally
                {
                    sw.Close();
                    myStream.Close();
                }
            }
        }
        }


    展开全文
  • WGS84经纬度坐标到北京54高斯投影坐标的转换
  • 大家好,欢迎大家来到测量小课堂,为大家带来的是2000坐标系和WGS84坐标系讲解01 概述由于历史原因,业内普遍对WGS84坐标系存在一定程度的误解,诸多文献对WGS84坐标系的解释也比较含糊,给测绘、导航、遥感、地信等...
  • WGS84 与 北京54 坐标系互

    万次阅读 2013-06-10 09:19:14
    一、WGS84系统北京54系统 1、把从GPS中接收到84坐标系下的大地坐标(经纬度高程B、L, H,其中B为纬度,L为经度,H为高程),使用84坐标系的椭球参数转换为84坐标系下的地心直角坐标(空间坐标): X=(N+H)cosB *...
  • 我的一个客户需要把gps点的坐标转换为北京54坐标的Alberts投影。我给他写了一个操作文档,里面包含三部分内容:第一是:在ArcGIS中定义北京54的Albers投影(因为ArcGIS坐标系统中没有这个投影),第二是gps点坐标转换...
  • 自己写的wgs84坐标成北京54坐标,java源码,本人已经测试过,能用,首先要找一个坐标软件求得七参(随便一个坐标软件都行),然后再用此源码进行坐标转换,
  • ArcEngine 实现WGS84与Beinjing54之间的相互转换
  • 重新编辑我 ... // 坐标转换 WGS84经纬度 => 大地坐标系BLH XYZ var pi_180 = Math.PI / 180; var _180_pi = 180 / Math.PI; var projectionTypes = {}; projectionTypes.bj54 = { ...
  • mapinfo将北京54坐标转WGS84坐标系

    千次阅读 2019-01-02 16:57:31
    查看坐标系: ...菜单“地图”-》“选项"...文件另存-Project-Longitude/Latitude-Longitude/Latitude(WGS 84) 关闭当前文件,重新打开新的,然后按照下面流程转换。 参考: 格式导出流程:...
  • gis坐标北京54转WGS84坐标

    千次阅读 2018-04-11 21:11:43
    于是通过mapinfo做格式转换,导出为mif格式的两份文件,一份是小区详情的,一份是小区边界的,无奈只有第一份中的坐标是标准的WGS84(也就是原始GPS),第二份小区边界是北京54的,怎么不出来,而且客户原始...
  • (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一1984 Coordinate System) 一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH (国际时间服务机构)1984.O定义的协议...
  • 【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。 【关键词】 ArcGIS 坐标转换 投影变换  1坐标转换简介  坐标系统之间的...
  • // 坐标转换 WGS84经纬度 => 大地坐标系BLH XYZvar pi_180 = Math.PI / 180;var _180_pi = 180 / Math.PI;var projectionTypes = {};projectionTypes.bj54 = {a:6378245,//长半轴e2:0.006693421622966//第一偏心...
  • 【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。 【关键词】 ArcGIS 坐标转换投影变换  1 坐标转换简介 坐标系统之间的...
  • 【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。  【关键词】 ArcGIS 坐标转换 投影变换  1 坐标转换简介   坐标...
  • 对于坐标系的转换,给很多GPS的使用者造成一些迷惑,尤其是对于刚刚接触的人。。。。。
  • 深圳地方坐标转WGS84坐标

    千次阅读 2020-07-21 11:48:18
    接到公司需求,要求将第三方供应商提供的坐标转换问wgs84大地坐标(也就是我们平时说的gps坐标),上网搜了下资料,什么大地空间,空间平面,网上的干货晒得不太干,难受得很,没办法,自己学习一下吧,话不多说...
  • 诸位大神,求分享WGS84 与 北京54 坐标系互的代码,多点注释,不然看不懂啊啊啊啊啊啊
  • 1.椭球体、基准面及地图投影GIS中的坐标系定义是GIS系统的基础,正确定义GIS系统的坐标系非常重要。GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 252
精华内容 100
关键字:

wgs84转54坐标