【发布时间】:2014-08-02 01:07:44
【问题描述】:
我整天都在尝试编写一些代码,这些代码将从包含谷歌地球多边形的 kml 中读取数据并提取名称和坐标,并将所有内容存储为纬度和经度。 我已经制作了一个用户表单,允许用户浏览 kml,然后运行提取代码。不幸的是,提取不起作用。 我对 VB 很陌生,但我确实在大学里学了三个学期的 C++,不过从那时起已经快一年了。 这就是我所拥有的,但我知道我也可能完全错了..
Function X(InputFile As String, Text As String)
Dim textReader As New Xml.XmlTextReader(InputFile)
Dim lastElementName As String = ""
While textReader.Read()
Select Case textReader.NodeType
Case Xml.XmlNodeType.Element
lastElementName = textReader.Name
Case Xml.XmlNodeType.Text
MsgBox(lastElementName & ": " & textReader.Value)
End Select
Console.WriteLine()
End While
基本 KML 示例:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>The Pentagon</name>
<Polygon>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-77.05668055019126,38.87154239798456
-77.05542625960818,38.87167890344077
-77.05485125901024,38.87076535397792
-77.05577677433152,38.87008686581446
-77.05691162017543,38.87054446963351
-77.05668055019126,38.87154239798456
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>
【问题讨论】:
-
欢迎来到 SO!不幸的是,就目前而言,您的问题太宽泛了。我怀疑这里的许多读者是否熟悉 KML 格式的细节。如果您可以提供要解析的 KML 文件的简短示例(简化为相关部分),也许会有所帮助。总的来说,我认为VB LINQ to XML 会帮助你解决你的问题,但如果没有细节就很难说。
-
好的,谢谢您的建议,我在上面添加了一个非常简单的kml。
标签: .net xml vb.net kml google-earth