关于google earth KML,自动编码设计生成


   我们知道googleearth 中我们可以将自己的坐标信息进行共享,其中使用的方式就是通过kml实现的。

   什么是KML呢?KML全称:Keyhole Markup Language,是基于XML(eXtensible Markup Language,可扩展标记语言)语法标准的一种标记语言(markup language),采用标记结构,含有嵌套的元素和属性。关于kml的编写标准我就不多说了,具体可以参看:KML Interactive Sampler(kml显示器):http://kml-samples.googlecode.com/svn/trunk/interactive/index.html。google KML 教程:https://developers.google.com/kml/documentation/kml_tut?hl=zh-CN。

  首先,我所使用的数据是从oracle数据库中读出来的地理信息数据,数据格式为:简单多边形:[[1,1],[2,2],[3,3],[4,4],[5,5]],双环形:[[[1,1],[2,2],[3,3]],[[1,1],[2,2],[3,3],[4,4]]],三环形及以上:[[],[],[]....]。

    实现的思想是:

1.将数据库中的数据读取出来进行处理成: 1,1  2,2  3,3的形式(可以参考下面的代码,当然使用正则法则会更好)。

2.写三个模板:弹出框的信息样式模板,两环或者三环的模板,普通多边形模板。

3.使用io处理将数据写到文件中。

4.注意点:数据如果过大,请每次写进数据少点(如每次写进1000数据),我起初就遇到此问题:提示内存不足。

   其中KML模板为,其中添加的数据就写在红色区域中:

 <?xmlversion="1.0" encoding="Utf-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
         <Document>
            <name>项目</name>
      <Style id="pointStyle">
      <IconStyle>
        <color>ffFF0000</color>
        <scale>0.8</scale>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/shapes/shaded_dot.png</href>
        </Icon>
      </IconStyle>
      <LabelStyle>
        <color>ffffffff</color>
        <scale>0.7</scale>
      </LabelStyle>
    </Style>
 <!--  将数据格式化为模板类,此为一个style模板,将关于多边形的外观描述的style放在里面,其中我只改变其颜色值 -->
   <Style id="polygonStyle1">
                   <IconStyle>
                            <scale>1.1</scale>
                            <Icon>
                                     <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
                            </Icon>
                            <hotSpotx="20" y="2" xunits="pixels"yunits="pixels"/>
                   </IconStyle>
                   <PolyStyle>
                            <color>ffB0E0E6</color>
                   </PolyStyle>
   </Style>
 <!--  将数据格式化为模板类,此为一个文件模板,将多边形和环类放在里面 -->    

<Folder>
<name>xxxxx</name>  

     XXXXXXXXXXXXXX

</Folder>

 

<Folder>
<name>xxxxx</name>  

 XXXXXXXXXXXXXX

</Folder>

 

</kml>

在google earth中打开KML,其效果图如下:

 

   

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值