成批经纬度(度分秒)转换直角坐标(X、Y)
经纬度格式转换及距离计算工具

经纬度格式转换及距离计算工具一、经纬度格式转换当涉及到经纬度坐标时,常见的格式有以下几种:1.度分秒(DMS)格式:例如:25°2'45.678"N,120°23'56.789"E2.十进制度(DD)格式:例如:25.0456°N,120.3990°E3.度分(DM)格式:例如:25°2.762'N,120°39.531'E要实现经纬度格式的转换,可以通过以下步骤完成:1.将度分秒(DMS)格式的经纬度坐标转换为十进制度(DD)格式,可以使用以下公式:DD = degrees + minutes/60 + seconds/3600其中,degrees为度数,minutes为分钟数,seconds为秒数。
2.将度分秒(DMS)格式的经纬度坐标转换为度分(DM)格式,可以使用以下公式:DM = degrees + minutes/60其中,degrees为度数,minutes为分钟数。
二、距离计算计算两个经纬度点之间的距离一般使用大圆距离(Great Circle Distance)。
大圆距离是指沿着地球表面最短路径的距离,该路径是两个经纬度点之间的弧线段。
要计算两个经纬度点之间的距离,可以使用以下公式:distance = r * arccos(sin(lat1)*sin(lat2) +cos(lat1)*cos(lat2)*cos(lon2-lon1))其中,r是地球的半径,lat1和lon1为第一个经纬度点的纬度和经度,lat2和lon2为第二个经纬度点的纬度和经度。
三、示例代码下面是一个使用Python编写的经纬度格式转换及距离计算的示例代码:```pythonimport mathdef dms_to_dd(degrees, minutes, seconds, direction):dd = degrees + minutes/60 + seconds/3600if direction == 'S' or direction == 'W':dd *= -1return dddef dms_to_dm(degrees, minutes, direction):dm = degrees + minutes/60if direction == 'S' or direction == 'W':dm *= -1return dmdef distance(lat1, lon1, lat2, lon2):r=6371#地球半径,单位为千米lat1 = math.radians(lat1)lon1 = math.radians(lon1)lat2 = math.radians(lat2)lon2 = math.radians(lon2)dlon = lon2 - lon1dlat = lat2 - lat1a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))distance = r * creturn distance#示例#输入经纬度坐标格式为度分秒(DMS)格式lat_dms = 25lat_minutes = 2lat_seconds = 45.678lat_direction = 'N'lon_dms = 120lon_minutes = 23lon_seconds = 56.789lon_direction = 'E'#转换为十进制度(DD)格式lat_dd = dms_to_dd(lat_dms, lat_minutes, lat_seconds,lat_direction)lon_dd = dms_to_dd(lon_dms, lon_minutes, lon_seconds,lon_direction)#转换为度分(DM)格式lat_dm = dms_to_dm(lat_dms, lat_minutes, lat_direction)lon_dm = dms_to_dm(lon_dms, lon_minutes, lon_direction)#计算距离distance = distance(lat_dd, lon_dd, 25.0456, 120.3990)print('经纬度转换结果:')print('十进制度(DD)格式:', lat_dd, lon_dd)print('度分(DM)格式:', lat_dm, lon_dm)print('两个经纬度点之间距离:', distance, '千米')```这个示例代码实现了经纬度格式的转换和距离的计算。
经纬度转换

经纬度转换
小工具1:经纬度与XY转换
功能:
实现了度与度分秒之间的相互转换。
经纬度与XY之间的相互转换
大地坐标换带计算
界面如下图所示:
小工具2:日历计算
功能:
设定起始日期与结束日期,自动计算工期天数。
设定起始日期与工期天数,自动计算结束日期。
设定结束日期与工期天数,自动计算起始日期。
界面如下图所示:
软件安装:
下载软件后打开
由于软件采用vb语言编写,需要msvbvm50.dll。
因此,请先安装msvbvm50。
安装完成后,直接双击软件,即可运行经纬度与XY转换、日历计算。
经纬度转换公式

经纬度转换公式一、用EXCEL进行高斯投影换算从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在一个共同的不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,给实际工作带来许多不便。
笔者发现,用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。
下面以54系为例,介绍具体的计算方法。
完成经纬度BL到平面直角坐标XY的换算,在EXCEL中大约需要占用21列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。
在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下:单元格单元格内容说明A2输入中央子午线,以度.分秒形式输入,如115度30分则输入115.30起算数据L0B2=INT(A2)+(INT(A2*100)-INT(A2)*100)/60+(A2*10000-INT(A2*100)*100)/3600 把L0化成度C2以度小数形式输入纬度值,如38°14′20〃则输入38.1420起算数据BD2以度小数形式输入经度值起算数据LE2=INT(C2)+(INT(C2*100)-INT(C2)*100)/60+(C2*10000-INT(C2*100)*100)/3600 把B化成度F2=INT(D2)+(INT(D2*100)-INT(D2)*100)/60+(D2*10000-INT(D2*100)*100)/3600 把L化成度G2=F2-B2L-L0H2=G2/57.2957795130823化作弧度I2=TAN(RADIANS(E2))Tan(B)J2=COS(RADIANS(E2)) COS(B)K2=0.006738525415*J2*J2L2=I2*I2M2=1+K2N2=6399698.9018/SQRT(M2)O2=H2*H2*J2*J2P2=I2*J2Q2=P2*P2R2=(32005.78006+Q2*(133.92133+Q2*0.7031))S2=6367558.49686*E2/57.29577951308-P2*J2*R2+((((L2-58)*L2+61)*O2/30+(4*K2+5)*M2-L2)*O2/12+1)*N2*I2*O2/2计算结果XT2=((((L2-18)*L2-(58*L2-14)*K2+5)*O2/20+M2-L2)*O2/6+1)*N2*(H2*J2)计算结果Y表中公式的来源及EXCEL软件的操作方法,请参阅有关资料,这里不再赘述。
如何将经纬度坐标转为2000国家大地坐标系

1、首先将经纬度坐标中度分秒,转为以度显示的坐标(注意度分秒为60进位,转换坐标显示后,经度作为X坐标,纬度作为Y坐标)
如(119°12'40.720"E,33°18'15.542"N)转为(119.2113,33.3043)
2、将批量转换显示后的坐标统一在Excel中显示,注意前加ID码,并从1开始排序
3、在ArcMap中Tools菜单中选择填XY坐标数据(Add XY Data)
4、在弹出的对话框中分别选择放置XY坐标信息的Excel表,并将经纬度分别对应X坐标和Y坐标
5、坐标对应完成后,点击下方Edit,选择与导入与原始坐标点信息相同的经纬度坐标系
6、坐标信息导入完成后,点位信息即可显示,并通过点击右键将点导出为矢量数据层
7、通过工具Projec工具,将导出的矢量点图层通过投影变换为所需的2000国家大地坐标系,即可得到2000国家大地坐标系的点图层。
经纬度笛卡尔坐标系转换

经纬度笛卡尔坐标系转换经纬度是地球表面位置的坐标系统,利用经度(表示东西方向)和纬度(表示南北方向)来确定一个地点。
而笛卡尔坐标系是数学中常用的二维或三维坐标系统,它使用直角坐标系,通过指定与坐标轴的距离来确定一个点的位置。
这两种坐标系在地理信息系统、导航系统和地图绘制中都有广泛的应用。
因此,经纬度到笛卡尔坐标系的转换是非常有实际意义的。
首先,我们需要了解经纬度和笛卡尔坐标系之间的转换公式及原理。
经纬度的取值范围为经度-180到+180,纬度-90到+90。
而笛卡尔坐标系是基于直角坐标系的,其原点可以放置在地球的中心,并以一个球心和一组正交轴来表示。
转换的关键是首先将经纬度转换为球面坐标,再将球面坐标转换为笛卡尔坐标。
下面我们来一步一步回答如何进行经纬度到笛卡尔坐标系的转换。
第一步:将经纬度转换为球面坐标在进行经纬度到笛卡尔坐标系的转换之前,首先需要将经纬度坐标转换为球面坐标。
这是因为地球是近似于一个椭球体,而不是一个完美的球体。
球面坐标可以通过经度和纬度来表示,其取值范围为经度0到360,纬度-90到+90。
经度转换为球面坐标的公式为:x = R * cos(lat) * cos(lon)y = R * cos(lat) * sin(lon)z = R * sin(lat)其中,x、y、z为球面坐标系中的坐标,R为地球的平均半径,lat为点的纬度,lon为点的经度。
第二步:将球面坐标转换为笛卡尔坐标一旦得到了地球表面上的点的球面坐标,我们可以通过将其转换为笛卡尔坐标来确定该点在笛卡尔坐标系中的位置。
这个转换需要考虑到球面坐标系的原点在地球的中心,因此需要加上地球的半径。
笛卡尔坐标可以用三维向量来表示,即(x, y, z),其中x、y、z代表点在坐标系中的位置。
这可以通过以下公式实现:X = (R + Altitude) * cos(lat) * cos(lon)Y = (R + Altitude) * cos(lat) * sin(lon)Z = (R + Altitude) * sin(lat)其中,R为地球的平均半径,Altitude为点相对于地球表面的海拔高度。
关于经纬度坐标转换的方法

关于经纬度坐标转换的方法经纬度坐标转换是将地球表面上的位置点使用经度和纬度表示的一种方法。
在地理信息系统(GIS)和导航系统中,经纬度坐标转换是非常重要的。
在下文中,我将向您介绍一些常用的经纬度坐标转换方法和相关概念。
1.经纬度的定义经度是地球上其中一地点东西方向上的距离,以子午线为基准,用角度表示;纬度是地球上其中一地点南北方向上的距离,以赤道为基准,用角度表示。
2.经纬度表示方法3.经纬度坐标系统地球经纬度坐标系统采用地心坐标系,其中,地球的赤道被定义为0度纬度,北半球为正值,南半球为负值;本初子午线(通过格林尼治观测台)为0度经度,东半球为正值,西半球为负值。
4.坐标转换方法经纬度坐标转换方法有多种,根据使用场景和需求的不同,选择不同的方法。
-经纬度与XY平面坐标系的转换:根据地球椭球体参数,将经纬度坐标转换为平面坐标系,如高斯-克吕格投影,墨卡托投影等。
-经纬度与UTM坐标的转换:UTM坐标是一种通用的坐标系统,通过将地球表面划分为60个纵向带和横向带来表示地理位置。
将经纬度坐标转换为UTM坐标可以实现更精确的距离和方向计算。
-经纬度与三维坐标(大地坐标)的转换:通过使用大地基准椭球体的参数,将经纬度转换为三维坐标,用于精确的地理测量和GPS定位。
-经纬度与地址的转换:通过逆地理编码方法,将经纬度坐标转换为具体地址信息,包括国家、省份、城市、街道等。
-经纬度与地图坐标的转换:将经纬度坐标转换为地图上的像素坐标,用于在地图上绘制点、线、面等地理要素。
5.常用的转换工具和库为了方便进行经纬度坐标转换,有很多工具和库可以使用:- GDAL(Geospatial Data Abstraction Library)是一个开源工具库,支持多种地理数据格式和坐标转换。
使用GDAL,可以方便地实现经纬度坐标与不同坐标系之间的转换。
- Proj.4是另一个开源的坐标转换库,支持众多的投影和坐标转换方法。
- GIS软件如ArcGIS、QGIS等也提供了经纬度坐标转换的功能,可以通过用户界面或编程接口进行转换。
地理坐标、经纬度坐标与屏幕坐标的转换
地理坐标定义规则:
X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标(貌似又忘了,要重读小学了)吧?向左,向下的规则,这个不用我再阐述了吧
屏幕坐标定义规则:
X轴向右递增,Y轴向下递增..
可以看出,地理坐标和屏幕坐标的区别仅仅只是在于Y轴递增方向是相反的…(这就是不同).好了,现在我们开始转换他们吧.这里强调一点的就是为了保证精度,地理坐标的度*3600换算成秒,所有的取值用double来计算,最后的结果再转换成int
lat = maxLat–y* scaleY/3600;
6.总结:
经纬度转屏幕坐标的最终公式如下:
公式:
X = (lon–minLon)*3600/scaleX;
公式:
Y = (maxLat–lat)*3600/scaleY;
接着我们由上面的公式可以推出屏幕坐标转经纬度坐标公式如下:
公式:
lon = X * scaleX/3600 + minLon;
公式:
由于纬度的方向和屏幕Y轴是相反的,
公式:
screenMaxLat = (maxLat–minLat)*3600/scaleY;
公式:
screenLat = (lat–minLat)*3600/scaleY;
公式:
Y = screenMaxLat–screenLat = (maxLat–lat)*3600/scaleY;至于为什么是这个公式,我想大家仔细想想就明白了..
公式:
minY = minLat*3600/scaleY;区域上面置最上端
5.当地地理范围区域占满整个屏幕时,我们需要用到第三步计算出来的screenX和screenY两个参数
[指南]经纬度转换公式
经纬度转换公式一、用EXCEL进行高斯投影换算从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在一个共同的不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,给实际工作带来许多不便。
笔者发现,用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。
下面以54系为例,介绍具体的计算方法。
完成经纬度BL到平面直角坐标XY的换算,在EXCEL中大约需要占用21列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。
在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下:单元格单元格内容说明A2输入中央子午线,以度.分秒形式输入,如115度30分则输入115.30起算数据L0B2=INT(A2)+(INT(A2*100)-INT(A2)*100)/60+(A2*10000-INT(A2*100)*100)/3600把L0化成度C2以度小数形式输入纬度值,如38°14′20〃则输入38.1420起算数据BD2以度小数形式输入经度值起算数据LE2=INT(C2)+(INT(C2*100)-INT(C2)*100)/60+(C2*10000-INT(C2*100)*100)/3600把B化成度F2=INT(D2)+(INT(D2*100)-INT(D2)*100)/60+(D2*10000-INT(D2*100)*100)/3600把L化成度G2=F2-B2L-L0H2=G2/57.2957795130823化作弧度I2=TAN(RADIANS(E2))Tan(B)J2=COS(RADIANS(E2))COS(B)K2=0.006738525415*J2*J2L2=I2*I2M2=1+K2N2=6399698.9018/SQRT(M2)O2=H2*H2*J2*J2P2=I2*J2Q2=P2*P2R2=(32005.78006+Q2*(133.92133+Q2*0.7031))S2=6367558.49686*E2/57.29577951308-P2*J2*R2+((((L2-58)*L2+61)*O2/30+(4*K2+5)*M2-L2)*O2/12+1)*N2*I2*O2/2计算结果XT2=((((L2-18)*L2-(58*L2-14)*K2+5)*O2/20+M2-L2)*O2/6+1)*N2*(H2*J2)计算结果Y表中公式的来源及EXCEL软件的操作方法,请参阅有关资料,这里不再赘述。
经纬度与直角坐标转换(MAPGIS转换)
经纬度与直角坐标转换㈠MAPGIS转换⒈实用服务——投影变换——P投影转换——P输入单点投影转换。
⒉原始投影参数设置:坐标系类型——大地坐标或地理坐标;比例尺分母——1;坐标单位:DDDMMSS.SS;椭球面高程、投影面高程、平移X、平移Y均为0。
⒊结果投影参数设置:坐标系类型——投影平面直角投影类型——5:高斯-克吕格[横切椭园柱等角]投影比例尺分母——1坐标单位——米椭球面高程、投影面高程、平移X、平移Y——0投影带类型——根据所给数据源图确定投影带序号——根据投影中心点经度所处的带号确定。
参见下表。
⒋输入格式:如经度119°16′,纬度32°08′,则输入格式为:1191600,320800。
⒌点“投影点”,则结果显示:X=713901.92712,Y=3558951.83797。
㈡利用坐标转换软件打开软件,点击最上部“坐标转换”——换带计算——选择3度或6度带,并在投影参数的中央子午线中填入相应数据(如117)。
选择源坐标类型——大地坐标——度:分:秒;椭球基准——北京54。
输入源坐标格式:如经度119°16′,纬度32°08′,则B=032:08:00,L=119:16:00。
选择目标坐标类型——平面坐标;椭球基准——北京-54坐标系点转换坐标:X=3558951.837925,Y=713901.927116。
3度分带表-----------------------------------------------------------投影区带号中央经度经度范围-----------------------------------------------------------1 3 1.5 -> 4.52 6 4.5 -> 7.53 9 7.5 -> 10.54 12 10.5 -> 13.55 15 13.5 -> 16.57 21 19.5 -> 22.58 24 22.5 -> 25.59 27 25.5 -> 28.510 30 28.5 -> 31.511 33 31.5 -> 34.512 36 34.5 -> 37.513 39 37.5 -> 40.514 42 40.5 -> 43.515 45 43.5 -> 46.516 48 46.5 -> 49.517 51 49.5 -> 52.518 54 52.5 -> 55.519 57 55.5 -> 58.520 60 58.5 -> 61.521 63 61.5 -> 64.522 66 64.5 -> 67.523 69 67.5 -> 70.524 72 70.5 -> 73.525 75 73.5 -> 76.526 78 76.5 -> 79.527 81 79.5 -> 82.528 84 82.5 -> 85.529 87 85.5 -> 88.530 90 88.5 -> 91.531 93 91.5 -> 94.532 96 94.5 -> 97.533 99 97.5 -> 100.534 102 100.5 -> 103.535 105 103.5 -> 106.536 108 106.5 -> 109.537 111 109.5 -> 112.538 114 112.5 -> 115.539 117 115.5 -> 118.540 120 118.5 -> 121.541 123 121.5 -> 124.542 126 124.5 -> 127.543 129 127.5 -> 130.544 132 130.5 -> 133.545 135 133.5 -> 136.546 138 136.5 -> 139.547 141 139.5 -> 142.548 144 142.5 -> 145.549 147 145.5 -> 148.551 153 151.5 -> 154.552 156 154.5 -> 157.553 159 157.5 -> 160.554 162 160.5 -> 163.555 165 163.5 -> 166.556 168 166.5 -> 169.557 171 169.5 -> 172.558 174 172.5 -> 175.559 177 175.5 -> 178.560 180 178.5 -> -178.561 -177 -178.5 -> -175.562 -174 -175.5 -> -172.563 -171 -172.5 -> -169.564 -168 -169.5 -> -166.565 -165 -166.5 -> -163.566 -162 -163.5 -> -160.567 -159 -160.5 -> -157.568 -156 -157.5 -> -154.569 -153 -154.5 -> -151.570 -150 -151.5 -> -148.571 -147 -148.5 -> -145.572 -144 -145.5 -> -142.573 -141 -142.5 -> -139.574 -138 -139.5 -> -136.575 -135 -136.5 -> -133.576 -132 -133.5 -> -130.577 -129 -130.5 -> -127.578 -126 -127.5 -> -124.579 -123 -124.5 -> -121.580 -120 -121.5 -> -118.581 -117 -118.5 -> -115.582 -114 -115.5 -> -112.583 -111 -112.5 -> -109.584 -108 -109.5 -> -106.585 -105 -106.5 -> -103.586 -102 -103.5 -> -100.587 - 99 -100.5 -> - 97.588 - 96 - 97.5 -> - 94.589 - 93 - 94.5 -> - 91.590 - 90 - 91.5 -> - 88.591 - 87 - 88.5 -> - 85.592 - 84 - 85.5 -> - 82.593 - 81 - 82.5 -> - 79.595 - 75 - 76.5 -> - 73.596 - 72 - 73.5 -> - 70.597 - 69 - 70.5 -> - 67.598 - 66 - 67.5 -> - 64.599 - 63 - 64.5 -> - 61.5 100 - 60 - 61.5 -> - 58.5 101 - 57 - 58.5 -> - 55.5 102 - 54 - 55.5 -> - 52.5 103 - 51 - 52.5 -> - 49.5 104 - 48 - 49.5 -> - 46.5 105 - 45 - 46.5 -> - 43.5 106 - 42 - 43.5 -> - 40.5 107 - 39 - 40.5 -> - 37.5 108 - 36 - 37.5 -> - 34.5 109 - 33 - 34.5 -> - 31.5 110 - 30 - 31.5 -> - 28.5 111 - 27 - 28.5 -> - 25.5112 - 24 - 25.5 -> - 22.5 113 - 21 - 22.5 -> - 19.5 114 - 18 - 19.5 -> - 16.5 115 - 15 - 16.5 -> - 13.5 116 - 12 - 13.5 -> - 10.5 117 - 9 - 10.5 -> - 7.5118 - 6 - 7.5 -> - 4.5119 - 3 - 4.5 -> - 1.5120 - 0 - 1.5 -> 1.56度分带表-----------------------------------------------------------投影区代号中央经度经度范围-----------------------------------------------------------1 3 0 -> 62 9 6 -> 123 15 12 -> 184 21 18 -> 245 27 24 -> 306 33 30 -> 367 39 36 -> 428 45 42 -> 489 51 48 -> 5411 63 60 -> 6612 69 66 -> 7213 75 72 -> 7814 81 78 -> 8415 87 84 -> 9016 93 90 -> 9617 99 96 -> 10218 105 102 -> 10819 111 108 -> 11420 117 114 -> 12021 123 120 -> 12622 129 126 -> 13223 135 132 -> 13824 141 138 -> 14425 147 144 -> 15026 153 150 -> 15627 159 156 -> 16228 165 162 -> 16829 171 168 -> 17430 177 174 -> 18031 -177 -180 -> -17432 -171 -174 -> -16833 -165 -168 -> -16234 -159 -162 -> -15635 -153 -156 -> -15036 -147 -150 -> -14437 -141 -144 -> -13838 -135 -138 -> -13239 -129 -132 -> -12640 -123 -126 -> -12041 -117 -120 -> -11442 -111 -114 -> -10843 -105 -108 -> -10244 -99 -102 -> -9645 -93 -96 -> -9046 -87 -90 -> -8447 -81 -84 -> -7848 -75 -78 -> -7249 -69 -72 -> -6650 -63 -66 -> -6051 -57 -60 -> -5452 -51 -54 -> -4853 -45 -48 -> -4255 -33 -36 -> -3056 -27 -30 -> -2457 -21 -24 -> -1858 -15 -18 -> -1259 -9 -12 -> -650 -3 -6 -> 0文件转换(经纬度转直角坐标)1、源文件转化为excel的csv 格式——将文件另存为Csv,保存类型:Csv逗号分隔。
经纬度与xy转换
经纬度与xy转换'****************************************'函数名称:Trf_XYtoBL'功能:高斯克吕格坐标系统反算'接口:[IN]x,y,高斯坐标 (按值传递)'[IN]L0,中央子午线,CorD 高斯坐标带类型(3度/6度)'[OUT]b,l 站点大地坐标值 (按地址传递)'*****************************************Public Sub Trf_XYtoBL(x As Double, y As Double, B As Double, L As Double, L0 As Double, CorD As Double)Const R = 6367558.496863 '地球椭球半径Const e2 = 0.00673852415 '第二偏心率值Dim G2 As Double, H2 As Double, I2 As Double, J2 As Double, k2 As Double, L2 As Double, N2 As Double, M2 As Double Dim O2 As Double, P2 As Double, Q2 As Double, R2 As Double, S2 As Double, T2 As Double, U2 As Double, V2 As Double Dim W2 As Double, X2 As Double, ABSY As DoubleDim tmp1 As Double, tmp2 As Double, tmp3 As DoubleDim nDebtNo As IntegerG2 = x / RH2 = Cos(G2)I2 = Sin(G2)J2 = I2 ^ 2tmp1 = J2 * 2.38209 * 10 ^ (-7)tmp2 = J2 * (2.983718 * 10 ^ (-5))tmp3 = I2 * H2 * (5.051773759 * 10 ^ (-3))k2 = G2 + tmp3 - tmp2 - tmp1L2 = Cos(k2)M2 = e2 * L2 ^ 2N2 = 1 + M2O2 = 6399698.9018 / Sqr(N2)P2 = Tan(k2)Q2 = P2 ^ 2nDebtNo = IIf(CorD = 6, ((L0 + 3) / 6), IIf(CorD = 3, (L0 / 3), 0))R2 = nDebtNo * 10 ^ 6 + 5 * 10 ^ 5If y > 500000 And y < nDebtNo * 10 ^ 6 Then y = y - 500000 * 2ABSY = Abs(y)S2 = IIf(ABSY < 500000, (ABSY - 500000) / O2, (ABSY - R2) / O2)T2 = S2 ^ 2B = (k2 - ((((45 * Q2 + 90) * Q2 + 61) * T2 / 30 - (3 - 9 * M2) * Q2 _- 5 - M2) * T2 / 12 + 1) * T2 * P2 * N2 / 2) * 180 / (4 * Atn(1.000001))L = ((((24 * Q2 + 28) * Q2 + (8 * Q2 + 6) * M2 + 5) * T2 / 20 _- 2 * Q2 - N2) * T2 / 6 + 1) * S2 / L2 * 180 / (4 * Atn(1.00000001))If y < 0 ThenL = L0 - LElseL = L0 + LEnd IfEnd Sub'****************************************'函数名称:BLtoXY'功能:站点大地坐标转换为高斯克吕格坐标'[IN]:dblMeridian中央经线经度(单位:度)'[IN]:dblLat输入点纬度(单位:度)'[IN]:dblLong输入点经度(单位:度)'[OUT]:BLtoXY(1)高斯坐标x,BLtoXY(2)高斯坐标y'*****************************************Public Function BLtoXY(dblMeridian As Double, dblLat As Single, dblLong As Single) As Double()Dim B As Double, E As DoubleDim F As Double, G As Double, H As Double, I As Double, J As DoubleDim K As Double, L As Double, M As Double, n As Double, O As DoubleDim p As Double, Q As Double, R As Double, S As Double, T As DoubleDim u As Double, V As DoubleDim dblResult(2) As Double'B = Int(dblMeridian) + (Int(dblMeridian * 100) _- Int(dblMeridian) * 100) / 60 + _(dblMeridian * 10000 - Int(dblMeridian * 100) * 100) / 3600'E = Int(dblLat) + (Int(dblLat * 100) - Int(dblLat) * 100) / 60 + _(dblLat * 10000 - Int(dblLat * 100) * 100) / 3600'F = Int(dblLong) + (Int(dblLong * 100) - Int(dblLong) * 100) / 60 + _(dblLong * 10000 - Int(dblLong * 100) * 100) / 3600B = dblMeridianE = dblLatF = dblLongG = F - BH = G / 57.2957795130823I = Tan(Radians(E))J = Cos(Radians(E))K = 0.006738525415 * J * JL = I * IM = 1 + Kn = 6399698.9018 / Sqr(M)O = H * H * J * Jp = I * JQ = p * pR = (32005.78006 + Q * (133.92133 + Q * 0.7031))S = 6367558.49686 * E / 57.29577951308 - p * J * R + _((((L - 58) * L + 61) * O / 30 + (4 * K + 5) * M - L) * O / 12 + 1) * n * I * O / 2T = ((((L - 18) * L - (58 * L - 14) * K + 5) * O / 20 + M - L) * _ O / 6 + 1) * n * (H * J) + 500000dblResult(1) = SdblResult(2) = TBLtoXY = dblResult End Function。