我必须编写一个函数,返回一个地址的土地用途。到目前为止,我的解决方案是基于VB.Net的,我正在使用Nominatim接收信息。在结果中,我得到了两个属性类和类型,但我需要土地利用信息。
你有什么提示吗,我怎么才能收回这些信息?此站点是OSM:https://wiki.openstreetmap.org/wiki/Key:landuse中的土地使用列表。
我也从OSM获得了shapefile,但是我不知道如何在.Net中使用它。我尝试使用Catfood.Shapefile,但我没有在多边形中找到任何土地利用属性。
这就是我如何获得经度、纬度、类和类型属性的方法:
Dim Webbrowser1 As New WebBrowser
Dim ci As New System.Globalization.CultureInfo("en-US")
Dim latitude, longitude As Decimal
Dim doc As New System.Xml.XmlDocument
Dim myReq As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(url), Net.HttpWebRequest)
Dim webResponse As Net.HttpWebResponse = Nothing
Try
'Ergebnissatz von OpenStreetMaps laden
webResponse = TryCast(myReq.GetResponse(), Net.HttpWebResponse)
Catch
Exit Sub
End Try
If webResponse IsNot Nothing Then
If webResponse.StatusCode = Net.HttpStatusCode.OK Then
doc.Load(webResponse.GetResponseStream())
End If
Else
Exit Sub
End If
Dim geometry As System.Xml.XmlNode = doc.SelectSingleNode("searchresults/place")
latitude = Convert.ToDecimal(geometry.Attributes("lat").Value, ci)
longitude = Convert.ToDecimal(geometry.Attributes("lon").Value, ci)
Debug.Print(geometry.Attributes("class").Value.ToString)
Debug.Print(geometry.Attributes("type").Value.ToString)https://stackoverflow.com/questions/44021365
复制相似问题