FEMA NFHL Зоны опасности наводнений Доступ к ArcGIS Online API через VBA
Я пытаюсь получить доступ к ArcGIS Online через API через VBA. Моя конечная цель - предоставить список значений широты и долготы в Excel, а затем слой FEMA, представляющий зону опасности затопления, возвращать, в какой зоне затопления находится широта / долгота (например, "X", "AE" и т. Д.).
Я нашел только пару ресурсов, но не могу понять, как получить доступ к данным со слоя. Любая помощь очень ценится. Я ни в коем случае не профессионал в этом, но я компетентен.
Вот некоторые ресурсы, которые я нашел:
https://hazards.fema.gov/gis/nfhl/rest/services/public/NFHL/MapServer/28
https://hazards.fema.gov/femaportal/wps/portal/NFHLWMS
https://msc.fema.gov/portal/home
Какой-то код у меня есть (явно не полный):
Function FEMA(LatLong As String)
Dim surl As String Dim oXH As Object Dim bodytxt As String
surl = "https://hazards.fema.gov/gis/nfhl/rest/services/public/NFHL/MapServer/28" & LatLong
Set oXH = CreateObject("msxml2.xmlhttp")
With oXH
.Open "get", surl, False
.send
bodytxt = .responseText
End With
Cells(3, 3).Value = bodytxt
Set oXH = Nothing
End Function
1 ответ
Я решил свою проблему... Как я уже говорил, я пытался получить доступ к LAYER из ArcGIS. Он содержит полигоны, которые определены как зоны риска наводнений. Ссылка на этот слой была указана в моем первоначальном вопросе... Я пытался передать широту / долготу этому слою, чтобы он возвращал любое имя зоны, определяя, в каком полигоне он находится. Оказывается, это нельзя вернуть в формат XML, только JSON. Вот строка запроса для любого, кто нуждается в ней в будущем... Это для Lat: 32.333, Long: -96.6666 и возвращает ЗОНУ ОПАСНОСТИ ПОТОКА, в которой находится эта точка. Она возвращается в формате JSON...
... Этот Reddit Post очень помог мне.