我正在编程将CAD文件格式转换为KML文件。但我发现某些三角形/多边形的方向无法在Google地球中正确呈现。对于某些多边形,即使我更改了坐标顺序,方向仍未按预期更改。然后我把这个问题缩小到一个只有两个多边形的样本文件,一个可以正确显示,另一个总是错误的。
<?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:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>KmlFile</name>
<Placemark>
<name>Shell Polygons1</name>
<Polygon>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-1.46794286722724,53.38399869050928,6.720900000000001
-1.46802203110511,53.38399869049681,3
-1.46794286722133,53.38399869052405,0.9
-1.46794286722724,53.38399869050928,6.720900000000001
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Shell Polygons2</name>
<Polygon>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-1.46802203110511,53.38399869049681,3
-1.46794286722724,53.38399869050928,6.720900000000001
-1.46802203106645,53.38399869048823,6.392399999999999
-1.46802203110511,53.38399869049681,3
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>
在此示例文件中,“Shell Polygons1”的方向未在Google地球中正确显示,即使您更改了坐标顺序,方向也不会按预期更新。
我发现另一个问题是,如果有两个平行的面具有不同的颜色,并且它们彼此非常接近,大约小于0.5米。这两个面孔将被混合在一起,并被粉碎。
我在Google地球v4.3.7204.0836(测试版)中尝试了导出的KML文件,它没有任何问题。这些问题应该是Google地球的回归。
您知道如何解决这些问题吗? 任何回复将不胜感激。