当前位置: 首页 > 知识库问答 >
问题:

对KML对象进行颜色分组

糜博远
2023-03-14

我有一个关于KML中的组的问题。

我有一个数据集,由50个对象组成。这些对象具有属性,即F.E严重性。有没有可能根据这些严重性类对我的KML文档进行分类?(1/1.5/2)还是基于任何其他属性?我已经手动创建了文件夹,但数据集越大,工作量就越大...我也想为对象着色,基于分类。附上我将添加我的文档。也许有人知道如何处理这件事?

<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="root_doc">
<Schema name="Flood_2017_KML" id="Flood_2017_KML">
    <SimpleField name="ID" type="int"></SimpleField>
    <SimpleField name="GlideNumbe" type="string"></SimpleField>
    <SimpleField name="Country" type="string"></SimpleField>
    <SimpleField name="OtherCount" type="string"></SimpleField>
    <SimpleField name="long" type="float"></SimpleField>
    <SimpleField name="lat" type="float"></SimpleField>
    <SimpleField name="Area" type="float"></SimpleField>
    <SimpleField name="Began" type="string"></SimpleField>
    <SimpleField name="Ended" type="string"></SimpleField>
    <SimpleField name="Validation" type="string"></SimpleField>
    <SimpleField name="Dead" type="int"></SimpleField>
    <SimpleField name="Displaced" type="int"></SimpleField>
    <SimpleField name="MainCause" type="string"></SimpleField>
    <SimpleField name="Severity" type="float"></SimpleField>
</Schema>
<Folder><name>Flood_2017_KML</name>
<Folder id="Severity1_flood_2017">
<Style id="transGreyPoly">
  <LineStyle>
    <width>1</width>
    <color>3c8C8C8C</color>
  </LineStyle>
  <PolyStyle>
    <color>3c8C8C8C</color>
  </PolyStyle>
</Style>
   <Placemark>
    <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4441</SimpleData>
        <SimpleData name="Country">Peru</SimpleData>
        <SimpleData name="long">-77.572950000000006</SimpleData>
        <SimpleData name="lat">-5.250831000000000</SimpleData>
        <SimpleData name="Area">288499.131403999985196</SimpleData>
        <SimpleData name="Began">2017/02/01</SimpleData>
        <SimpleData name="Ended">2017/02/07</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">1</SimpleData>
        <SimpleData name="Displaced">12000</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">1.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>-78.859612,-8.472832 -80.740118,-5.695045 -79.255508,-4.505716 -77.57295,-2.721449 -74.405783,-2.02883 -74.702704,-5.995598 -78.859612,-8.472832</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  <Placemark>
    <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4457</SimpleData>
        <SimpleData name="Country">Angola</SimpleData>
        <SimpleData name="long">13.656325000000001</SimpleData>
        <SimpleData name="lat">-8.717518999999999</SimpleData>
        <SimpleData name="Area">24002.582783800000470</SimpleData>
        <SimpleData name="Began">2017/03/21</SimpleData>
        <SimpleData name="Ended">2017/04/08</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">11</SimpleData>
        <SimpleData name="Displaced">344</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">1.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>14.126451,-9.709634 13.384147,-9.758848 12.988251,-8.965265 13.186199,-8.519087 13.087225,-7.77524 13.33466,-7.676191 14.324399,-8.321313 14.126451,-9.709634</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>y
  <Placemark>
    <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4460</SimpleData>
        <SimpleData name="Country">Malawi</SimpleData>
        <SimpleData name="long">33.871761999999997</SimpleData>
        <SimpleData name="lat">-10.364181000000000</SimpleData>
        <SimpleData name="Area">24405.783080000001064</SimpleData>
        <SimpleData name="Began">2017/04/04</SimpleData>
        <SimpleData name="Ended">2017/04/18</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">4</SimpleData>
        <SimpleData name="Displaced">0</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">1.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>34.56458,-11.306672 33.228432,-11.206827 33.178945,-9.42169 34.119197,-9.521335 34.56458,-11.306672</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  </Folder>
  <Folder id="Severity1.5_flood_2017">
  <Style id="transGreenPoly">
  <LineStyle>
    <width>1</width>
    <color>507832F0</color>
  </LineStyle>
  <PolyStyle>
    <color>507832F0</color>
  </PolyStyle>
  </Style>
  <Placemark>
    <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4433</SimpleData>
        <SimpleData name="Country">Germany</SimpleData>
        <SimpleData name="long">9.583276000000000</SimpleData>
        <SimpleData name="lat">54.705274000000003</SimpleData>
        <SimpleData name="Area">18991.845394600000873</SimpleData>
        <SimpleData name="Began">2017/01/02</SimpleData>
        <SimpleData name="Ended">2017/01/05</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">0</SimpleData>
        <SimpleData name="Displaced">0</SimpleData>
        <SimpleData name="MainCause">Winter Storm Axel</SimpleData>
        <SimpleData name="Severity">1.500000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>13.532608,54.306792 13.33466,53.662268 10.414927,53.415802 9.425187,54.457616 9.227239,55.251098 9.524161,55.994746 9.920057,55.944961 9.623135,54.953381 10.019031,54.407731 10.761336,54.109839 11.058258,53.911344 12.493381,54.009796 13.532608,54.306792</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  </Folder>
  <Folder id="Severity2_flood_2017">
  <Style id="transPinkPoly">
  <LineStyle>
    <width>1</width>
    <color>5014B45A</color>
  </LineStyle>
  <PolyStyle>
    <color>5014B45A</color>
  </PolyStyle>
</Style>
   <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4445</SimpleData>
        <SimpleData name="Country">Chile</SimpleData>
        <SimpleData name="long">-70.248874999999998</SimpleData>
        <SimpleData name="lat">-30.939481000000001</SimpleData>
        <SimpleData name="Area">183781.025771999993594</SimpleData>
        <SimpleData name="Began">2017/02/24</SimpleData>
        <SimpleData name="Ended">2017/03/03</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">3</SimpleData>
        <SimpleData name="Displaced">1200</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>-70.644771,-35.947863 -72.030407,-36.04634 -71.733485,-32.277917 -71.634511,-29.699471 -70.842719,-26.129643 -69.852979,-25.832622 -68.467343,-26.626701 -69.358109,-28.411367 -69.951953,-30.4937 -70.347849,-31.782749 -70.248875,-33.072047 -70.644771,-35.947863</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
   <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4450</SimpleData>
        <SimpleData name="GlideNumbe">FL-2017-000018-PER</SimpleData>
        <SimpleData name="Country">Peru</SimpleData>
        <SimpleData name="long">-75.148087000000004</SimpleData>
        <SimpleData name="lat">-11.004229000000000</SimpleData>
        <SimpleData name="Area">810942.342724999994971</SimpleData>
        <SimpleData name="Began">2017/02/01</SimpleData>
        <SimpleData name="Ended">2017/03/22</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">78</SimpleData>
        <SimpleData name="Displaced">70000</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>-70.050927,-17.99786 -73.020147,-16.70712 -76.08834,-14.226255 -78.56269,-9.960576 -80.938066,-4.504871 -77.770898,-4.010598 -75.989366,-6.094124 -73.119121,-9.566619 -69.358109,-14.626329 -70.050927,-17.99786</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4456</SimpleData>
        <SimpleData name="GlideNumbe">MS-2017-000033-COL</SimpleData>
        <SimpleData name="Country">Colombia</SimpleData>
        <SimpleData name="long">-76.113083000000003</SimpleData>
        <SimpleData name="lat">2.187014000000000</SimpleData>
        <SimpleData name="Area">28634.320610300001135</SimpleData>
        <SimpleData name="Began">2017/04/01</SimpleData>
        <SimpleData name="Ended">2017/04/08</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">314</SimpleData>
        <SimpleData name="Displaced">0</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>-75.197574,1.640966 -76.286288,1.343995 -77.028593,1.939405 -76.880132,2.881474 -76.484236,3.030034 -75.741931,3.029661 -75.346035,2.434424 -75.197574,1.640966</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4463</SimpleData>
        <SimpleData name="GlideNumbe">FL-2017-000038-IRN</SimpleData>
        <SimpleData name="Country">Iran</SimpleData>
        <SimpleData name="long">46.169280000000001</SimpleData>
        <SimpleData name="lat">37.704303000000003</SimpleData>
        <SimpleData name="Area">40807.872714999997697</SimpleData>
        <SimpleData name="Began">2017/04/15</SimpleData>
        <SimpleData name="Ended">2017/04/21</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">42</SimpleData>
        <SimpleData name="Displaced">0</SimpleData>
        <SimpleData name="MainCause">Torrential Rain</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>47.530173,37.35593 46.738381,36.711703 45.204284,36.662888 44.808388,38.745718 46.639407,38.645625 47.530173,37.35593</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4458</SimpleData>
        <SimpleData name="GlideNumbe">TC-2017-000031-AUS</SimpleData>
        <SimpleData name="Country">Australia</SimpleData>
        <SimpleData name="OtherCount">New Zealand</SimpleData>
        <SimpleData name="long">148.681590000000000</SimpleData>
        <SimpleData name="lat">-21.974972999999999</SimpleData>
        <SimpleData name="Area">258485.657990000006976</SimpleData>
        <SimpleData name="Began">2017/03/28</SimpleData>
        <SimpleData name="Ended">2017/04/08</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">6</SimpleData>
        <SimpleData name="Displaced">20000</SimpleData>
        <SimpleData name="MainCause">Tropical Cyclone Debbie</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>152.244654,-25.250018 149.077487,-25.645118 146.900059,-23.858911 145.118527,-20.089444 146.108267,-18.304829 147.295955,-19.693847 148.879539,-20.686372 149.671331,-22.471883 152.046707,-24.258189 152.244654,-25.250018</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  <Placemark>
        <ExtendedData><SchemaData schemaUrl="#Flood_2017_KML">
        <SimpleData name="ID">4461</SimpleData>
        <SimpleData name="Country">New Zealand</SimpleData>
        <SimpleData name="long">176.790203999999989</SimpleData>
        <SimpleData name="lat">-38.204245999999998</SimpleData>
        <SimpleData name="Area">23530.760163599999942</SimpleData>
        <SimpleData name="Began">2017/04/05</SimpleData>
        <SimpleData name="Ended">2017/04/21</SimpleData>
        <SimpleData name="Validation">News</SimpleData>
        <SimpleData name="Dead">0</SimpleData>
        <SimpleData name="Displaced">2200</SimpleData>
        <SimpleData name="MainCause">Heavy Rain</SimpleData>
        <SimpleData name="Severity">2.000000000000000</SimpleData>
    </SchemaData></ExtendedData>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>178.027379,-37.758764 177.334561,-39.196423 175.800464,-38.898133 175.553029,-37.212069 175.948925,-37.4602 176.592256,-38.005975 177.384048,-38.055959 178.027379,-37.758764</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
  </Folder>
</Folder>
</Document></kml>

共有1个答案

史阳晖
2023-03-14

假设您正在谷歌地球中工作,不幸的是,您将需要尝试一些不同的软件来实现这一点。Google Earth没有方法对KML文件进行自动分组或分类。对于这类事情,它唯一的选择是在导入工作流中,比如当您将shapefile导入到Earth Pro中,并选择使用桶来进行样式化。

这是您可能希望在一些具有真正分析能力的GIS软件中做的事情。QGIS是一个很好的选择,它是免费和开放源码的,尽管它确实有一些学习曲线。在那里,您将能够维护您的数据集,按属性进行分组,并导出到KML。

 类似资料:
  • 本文向大家介绍Flutter十六进制颜色转换成颜色对象,包括了Flutter十六进制颜色转换成颜色对象的使用技巧和注意事项,需要的朋友参考一下 十六进制颜色值格式一般如:#ff0000,以#开头,后面跟着6个十六进制字符。 而flutter中不能直接使用此类形式的颜色值,所以必须要转换为flutter颜色对象。 参考地址: https://stackoverflow.com/questions/5

  • 我有一个过程对象列表,如下所示 我的程序课就像 我想基于以下条件对对象进行排序和分组。 应根据过程名称对所有过程进行分组。 过程必须按过程日期降序排列。[日期列表中的第一个元素,即 分组在一起的相同过程应按日期降序排列。 最终结果必须是, 我能够使用比较器和旧的Java代码实现这一点。是否可以使用java8流、收集器和分组来实现相同的功能?

  • 问题内容: 我有一个ListActivity显示列表中的一堆对象。我想根据MonitorObject中两个布尔值的状态更改行的背景和文本颜色。 我是否需要扩展ArrayAdapter?如果是这样的话,代码示例将不胜感激,因为我已经尝试了几天,但没有成功。 问题答案: 我在commonsware.com的“ Android开发的繁忙编码员指南”的免费摘录中找到了有关如何执行此操作的出色教程。还可以在

  • 问题内容: 给出: 给出: 是否有准备使用的库/代码来完成它? 问题答案: 您将无法使用JSON.stringify序列化事件对象,因为事件对象包含对DOM节点的引用,并且DOM在各处都有循环引用(例如,子/父关系)。JSON默认情况下无法处理这些,因此您有点不走运。

  • 问题内容: 我的数组是这样的: 我想将其转换为: 因此,基本上,分组依据。 我尝试着: 我只是不知道如何处理相似组值的分组。 问题答案: 首先,在JavaScript中,使用遍历数组通常不是一个好主意。 因此,您可以尝试执行以下操作: 在这里使用中间对象有助于加快处理速度,因为它可以避免嵌套循环搜索数组。另外,因为使用迭代遍历对象(而不是数组)是合适的。 附录 FWIW,如果要避免在结果数组中出现

  • 有人知道一种方法(如果可能的话也可以使用lodash)通过对象键对对象数组进行分组,然后根据分组创建新的对象数组吗?例如,我有一个汽车对象数组: 我想制作一个由分组的新汽车对象数组: