0

因此,我的 KML 文件中有一些坐标 (324753.00N, 0692455.93E),但是当我加载所述文件时,它会将属性下的纬度经度默认为 (180, 180) 或 (0, 0)。文件中的所有其他信息都加载得很好。我尝试交换传递它们的顺序,但没有奏效。我将坐标更改为“更简单”的数字(32、54),它们加载得很好。

我只是假设我的坐标有问题,但是如果我将它们放入字段中以按坐标搜索,Google Earth 可以毫无问题地找到该位置。

我尝试了几种不同的“格式”,但每次都会发生不同的事情。

有什么想法吗?

在下面提到的某人和同事的帮助之间,我想出了如何计算变化。以虚拟代码为例,以防其他人发现。

double decimal = Convert.ToDouble(coordinates.Substring(0, coordinates.Length - 8));
double minutes = Convert.ToDouble(coordinates.Substring(coordinates.Length - 8, 2));
double seconds = Convert.ToDouble(coordinates.Substring(coordinates.Length - 6, 2));
double secDecimal = Convert.ToDouble(coordinates.Substring(coordinates.Length - 3, 2));

return Convert.ToString(decimal + (minutes/60) + (seconds/3600) + (secDecimal/360000))
4

1 回答 1

2

KML 规范要求点坐标为经度、纬度。请参阅: https ://developers.google.com/kml/documentation/kmlreference#point

您似乎正在使用投影坐标。您可能需要将数据重新投影到地理坐标(WGS84 基准)。有关如何重新投影数据的想法,请参阅以下内容:https ://developers.google.com/kml/articles/vector

于 2012-04-05T03:00:12.950 回答