bigd 发表于 2006-12-7 11:16:00

[原创]将AutoCAD图元转换为Google Earth的.kml地标文件

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

c3a139 发表于 2008-6-28 12:12:00

没有可下的东西

bigd 发表于 2008-9-21 15:56:00

<p>软件已经更新到1.8版,上面过期的链接也已经更新。</p><p>请到这里下载:<a href="http://princess.32o.cn/mysoftware/">http://princess.32o.cn/mysoftware/</a></p>

bigd 发表于 2008-12-4 22:47:00

<p>网站地址再次被更新:<a href="http://bbs.godeyes.cn/showtopic-143760.aspx">http://bbs.godeyes.cn/showtopic-143760.aspx</a></p>

stylsn 发表于 2008-12-5 20:32:00

<p>很棒的程序,不过不知道是我们这测绘的原因还是怎么的,线路太长偏差稍微有点大</p>

bigd 发表于 2008-12-6 19:54:00

stylsn发表于2008-12-5 20:32:00static/image/common/back.gif很棒的程序,不过不知道是我们这测绘的原因还是怎么的,线路太长偏差稍微有点大

<p></p><p>跨度大的图形变形也许是无可避免的。&nbsp;&nbsp;大家知道AutoCAD是平面参考系,GE则是球面参考系,即便是完美的投射方法估计也是变形的。这样好比:您拿一张邮票贴在一个篮球上应该很容易贴得服贴的,但如果您拿一张明信片要完美得贴在篮球上就很困难了,免不了起点皱褶什么的。。。</p><p>请将基准点选在基地的中部位置能有效减少变形误差,最后可用X和Y方向调整系数分别予以调整。</p>

pslstar 发表于 2012-2-6 06:09:01

翔飞125 发表于 2015-3-3 18:56:19

pslstar 发表于 2012-2-6 06:09 static/image/common/back.gif


试试看试试看试试看试试看试试看试试看

gzxl 发表于 2015-3-12 09:52:58

还有一种格式是.kmz,是经加密后的,不知道kmz格式是怎么样的?

004 发表于 2015-6-10 14:38:51

好东西,zml84有个类似的。
页: [1] 2
查看完整版本: [原创]将AutoCAD图元转换为Google Earth的.kml地标文件