所以,我的KML文件中有一些坐标(324753.00N,0692455.93E),但是当我加载所述文件时,它会将属性下的纬度经度默认为(180,180)或(0,0)。来自文件的所有其他信息加载得很好。我已经尝试交换我传递给他们的顺序,但是没有用。我将坐标更改为“更简单”的数字(32,54),它们加载得很好。
我只是假设我的坐标有问题,但如果我把它们放到字段中按坐标搜索,Google Earth会找到没有问题的位置。
我尝试了一些不同的“格式”,但每次发生不同的事情时都会发生。
有什么想法吗?
在下面提到的某人和同事的帮助之间,我想出了如何计算变化。虚拟代码belo作为示例,以防其他人发现此情况。
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))
答案 0 :(得分:2)
KML规范要求点坐标为经度,纬度。看到: https://developers.google.com/kml/documentation/kmlreference#point
您似乎正在使用投影坐标。您可能需要将数据重新投影到地理坐标(WGS84基准面)。有关如何重新投放数据的建议,请参阅以下内容:https://developers.google.com/kml/articles/vector