本帖最后由 作者 于 2008-9-21 15:53:19 编辑
由于上传附件受到限制,请看首发网页:http://bbs.godeyes.cn/Announce/announce.asp?BoardID=100&ID=143760 【软件】【原创】将AutoCAD图元转换为Google Earth的.kml地标文件 bigd 2006.12.3
自从Google Earth诞生后,对于惯用AutoCAD工程作图的人,特别是城市规划、小区规划设计师一定会想到如何将AutoCAD的图纸放入GE中,以便结合地形、地貌进行观察。由于GE对线、面的编辑功能有限,如果能利用AutoCAD强大的三维作图功能,再将图纸导入到GE中,将是件赏心悦目的事。笔者花了数天的时间,初步写出了这个转换程序“acad2kml v1.0”,这是个AutoCAD的外挂程序,由AutoLISP编译而成。
(注:逆向程序【kml2dxf】 将Google Earth图元导入AutoCAD 已经发布,参见: http://bbs.godeyes.cn/Announce/Announce.asp?BoardID=110&ID=222224 )
程序设计要点及参考常数:
(1)地球形状为人所知作为一个扁圆球体。 地球的极性半径是从其中心到北极或南极的距离,大约6356.9公里。 地球的赤道半径是从其中心到赤道的距离,大约6378.5公里。
我们航天上用到的是经过拟合的平半径6378140米。 也就是说对地球不规则球体进行等价处理得到的半径。
(2)大地原点在我国中部地区,推算坐标的精度比较均匀,位于陕西省泾阳县永乐镇,在西安市以北60km,可简称西安原点。大地经纬度的概略值是:Lk=108°55′,Bk=34°32′。大地原点大地起算数据详细数值有待国家正式发表。
(3)在不同经线上,每纬度1°的距离d相对固定:d=(pi*R)/180
(4)在同一纬线上,每经度1°的距离d相对固定:d=(pi*R*cosW)/180 其中W为该纬度。
(5)地面上任意两点距离d的计算公式为:d=111.12cos{1/[sinΦAsinΦB + cosΦAcosΦBcos(λB-λA)]} 其中A点经度、纬度分别为λA和ΦA, B点的经度、纬度分别为λB和ΦB。
程序安装方法:
(1)将软件包解压后的文件“acad2kml.vlx”放入AutoCAD的“支持文件搜索路径”中,如:“c:\Program Files\AutoCAD 2004\Support”;
(2)在AutoCAD中点取 [菜单-工具-加载应用程序...] ,选择"acad2kml.vlx"即可加载。或者在AutoCAD的命令提示符下输入“(load "acad2kml.vlx")”也可加载;
(3)在AutoCAD的命令提示符下输入“acad2kml”即可发动程序。
程序使用要点:
(1)绘图比例:一般情况下,在AutoCAD下作图是不用考虑比例问题的,也就是说永远用1:1来画图,比如一辆小车1800mm宽,在AutoCAD中就取1800个单位(缺省单位为mm),打印输出图纸时才考虑按比例缩放。图元导入Google Earth则不用缩放。
(2)定位:在Google Earth中找到你的基地,并找到一个可以确定的基准点,记下其经纬度,如“23.534412,116.934511”,采用小数的形式,不要采用度分秒的格式。再进入AutoCAD,将用户坐标系ucs的原点(0,0)重新定位到与该基准点对应的位置上(用 ucs - o 命令),不必真正改变图元的坐标。最后发动acad2kml,将刚才记下的经纬度“23.534412,116.934511”作为基准点回应程序就行了。
升级后程序适用范围及限制:
(1)支持的AutoCAD版本: r2000 - r2009; (2)程序现在支持这些图元:3DFACE、LINE、LWPOLYLINE、POLYLINE、CIRCLE、ARC、TEXT。如果要输出其他图元,请炸碎或者预先转换成这些图元; (3)支持AutoCAD的所有颜色,即AutoCAD的颜色号:1号 - 255号; (4)AutoCAD中当前用户坐标系统UCS要平行于世界坐标系统WCS,所转换图元的坐标系统OCS也要平行于世界坐标系统WCS; (5)由于GE的原因,如果所选的TEXT图元中含有汉字,则需用文本编辑软件(如“记事本”)将.kml文件另存为(UTF-8)格式。
|