版本:beta 0.99
下载:MLS6beta0.99.zip
0:
=========================================================================
Copyright 2006 Yang Hongbo(杨鸿博)
MLS6(SparrowHawk's the Maidenhead's locator System Calculator 6th)is
distributed under the terms of the GNU General Public License.
MLS6(SparrowHawk's the Maidenhead's locator System Calculator 6th)is
free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any
later version.
MLS6(SparrowHawk's the Maidenhead's locator System Calculator 6th) is
distributed in the hope that it will be useful,but WITHOUT NY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with MLS6(SparrowHawk's the Maidenhead's locator System Calculator 6th);
if not, write to the Free Software Foundation, Inc., 51 Franklin St,
Fifth Floor, Boston, MA 02110-1301 USA
中文:
1、介绍:
=========================================================================
MLS6(SparrowHawk's the Maidenhead's Locator System Calculator 6th)
是一个可以将梅登黑德网格座标(Maidenhead's Locator System Grid Square)
与经纬度相互转换、并能生成GoogleEarth地标(kml)的免费程序,此程序在GNU General
Public License下发布。
GoogleEarth于2006年6月9日大面积更新,国内的许多城市都有了清晰的照片。
原来我一直在找梅登黑德网格座标的世界地图,但没有找到。所以我想我可以写一
个程序,用它来生成GoogleEarth的地标文件,让GE成为我的地图。
所以我写了这个程序
2、程序的使用:
=========================================================================
用户可以在界面上(目前还是在DOS下运行)输入梅登黑德网格座标(Maidenhead's
Locator System Grid Square)或者是经纬度信息。
其中梅登黑德网格座标是由六或者四位字符组成,第1、2位为AA~RR;第3、4位为
00~99;第5、6位(可选)为AA~XX。
经纬度信息,可以有度、分、秒或者小数两种输入格式。使用度、分、秒时,空格
表示“度(°)”符号(也可以修改,具体请看3.(4)部分),如北纬108°55'0",应输入:108 55'N(0"可输入也可不输入),
程序支持的方位符号有E/W/S/N(东西南北,不区分大小写);使用小数形式时,直接输
入以度为单位的经纬度,例如,北纬108.15°,就输入108.15N。
程序计算完成后,会询问是否要建立GoogleEarth文件(以梅登黑德网格座标为文件
名),用户可以在GoogleEarth中打开网格文件。
3、程序的修改
=========================================================================
(0)版权:
此程序在GPL下发布,因此,随同程序,您还将获得程序的全部源代码,并且可以按
照需要自行修改并重编译使用甚至发布(发布的程序也必须遵循GPL,具体法律细节请看
程序目录附带的GPL或COPYING文件或访问http://www.gnu.org网站)。
(1)程序的基本信息
此程序开发使用了Microsoft的Visual C++6.0,但基本上采用了ANSI C的标准编写。
因此应该可以在各种平台上编译(但我没有测试过,在非Windows平台上编译,请将stdafx.h
和stdafx.cpp两文件删除或者将内容清空,因为这些是Visual C++预编译头文件的定义,
在其它编译器上有可能会出问题)
(2)源代码结构:
MLS6.cpp:主文件,包含main()函数,负责程序界面的显示以及GooglEarth地标的生
成。
Global.h:全局变量及定义,包括度、分、秒的分隔符的定义,中英文编译标志CHS,
字符串常量LEN等。
Global.cpp:定义了ShowMsg()函数,目的是用于输出消息,只要修改内部定义,程序
的输出方式可以方便地修改,目前定义为printf(),如要将转为使用Windows PlatformSDK
开发的图形界面的程序时,只要将printf()换为MessageBox()函数(或其它方法)。
Paser.cpp:只包含一个Paser()函数,负责判断用户输入的是网格座标还是经纬度。然
后执行相关的函数。
LatLon目录下:
PaserLatLon.cpp:只包含一个PaserLatLon()函数,负责判断用户输入的经纬度是度、
分、秒格式的还是小数格式的,然后执行相应的函数。
PaserDec.cpp:包含一个PaserDec()函数,负责解析、转化、计算小数格式的经纬度。
PaserDMS.cpp:包含一个PaserDMS()函数,负责解析、转化、计算度分秒格式的经纬
度。
Grid目录下
PaserGrid.cpp:包含一个PaserGrid()函数,负责解析、转化、计算网格座标。
(3)中英文版本:
在Global.h中,如果定义有CHS常量,则程序编译为中文版;否则编译为英文版。
(
(4)度分秒符号的修改:
在Global.h中,修改DEGSIGN、MINSIGN、SECSIGN常量。注意:如果想要的符号是C语言
中的特殊符号,请用\作转义字符,具体请看ANSI C标准。
4、我的联系方式:
=========================================================================
E-mail:sprhawk@sohu.com
QQ:284815661
MSN空间:http://spaces.msn.com/sprhawk/