首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KML层与Android Google中的地图形状不匹配

KML层与Android Google中的地图形状不匹配
EN

Stack Overflow用户
提问于 2017-05-18 11:27:34
回答 1查看 553关注 0票数 1

我正在开发一个安卓应用程序,我正在使用Google 来显示一个KML层,我是在西班牙用ArcGIS制作的。通过将数据集导出到KML,我用ArcGIS创建了这个层。该文件在ArcGIS中的空间参考值为ED_1950_UTM_Zone_30N (投影坐标系),具有西班牙的形状。

问题:图层在我的应用程序地图中显示正确,但是图层的形状与国家的形状不完全匹配(见附件),但是,当我在PC Windows和安卓版本的Google中打开这个KML时,KML层完全适应了国家地图的边界。

我已经在GitHub上报道过这个问题,但是没有答案:https://github.com/googlemaps/android-maps-utils/issues/394

这是我添加KML层的代码:

代码语言:javascript
复制
try {
                    mMap.clear();
                    KmlLayer layer = new KmlLayer(mMap, R.raw.kriging_sqri, getApplicationContext());
                    layer.addLayerToMap();
                    mapModeKML = true;
                } catch (XmlPullParserException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

这是我的kriging_sqri.kml文件的内容,位于res/raw中:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd">
<Document id="Kriging_shp3_Clip">
  <name>Kriging_shp3_Clip</name>
  <Snippet></Snippet>
  <GroundOverlay id="0">
    <Snippet></Snippet>
    <drawOrder>1000</drawOrder>
    <name>Kriging_shp3_Clip</name>
    <Icon>
      <href>file:///storage/emulated/0/BioApp/Layer0.png</href>
      <viewBoundScale>1.0</viewBoundScale>
    </Icon>
    <LatLonBox>
      <north>44.67706278743195</north>
      <south>35.085026094869</south>
      <east>6.152473147346782</east>
      <west>-10.78014121100213</west>
      <rotation>0</rotation>
    </LatLonBox>
  </GroundOverlay>
</Document>
</kml>

这就是我的应用程序显示KML层的方式(注意它的形状与国家陆地边界不匹配,特别是在其南海岸和东海岸)。

但是同样的KML在Google应用程序中是正确的(我已经在桌面和Android版本上尝试过了)。谷歌地球的Android应用程序就是这样看上去的:

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2017-05-18 16:11:37

当导出到KML时,应该始终首先将数据转换为WGS84 (EPSG4326)。尝试重新投影您的数据,然后再导出到KML。如果这不起作用,请让我们知道,并请共享一个新的KML和图像文件的副本(在上面的示例中“Layer0.png”),这样我们就可以看到数据并帮助调试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44046492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档