Počeo sam 'čeprkati' po WMS, pročitao specifikacije i stvar mi je uglavnom jasna. Za sada sam uspio 'upogoniti' getcapabilities request, kao povrat dobijem xml datoteku koju parsam i dobijem tražene podatke (slojeve, projekcije ...). Preko getmap request sa svim dodatnim parametrima dobijem natrag sliku koja mi se prikaže u Firefox-u ili IE-u. Zanima me na koji način mogu poslati request iz VBA (pokušavam složiti dodatak za Zwcad - radio bi i na acad-u) da mi vrati datoteku sa kojom mogu raditi dalje (jasno mi je da se datoteka vraća kao rezultat requesta, tip datoteke određuje jedan od parametara iz getmap). Otprilike ovo (znam da jpg ne ide u strukturu bmp-a, ovo je samo primjer):
dim slika as image
slika = http://nekiserver/wms/request=getmap&bbox.....image=image/jpg (ili tif ili ...)
Prije slike vjerujem da ide http get, pa tek nakon primanja cijelog sadržaja ide rad sa slikom.
pronašao:
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpstrCLSID As Long, lpCLSID As Any) As Long
Private Declare Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As Any, ByRef ppvRet As Any) As Long
Public Function LoadPictureFromURL(ByVal url As String) As Picture
Dim IPic(15) As Byte 'holds the IPicture interface
CLSIDFromString StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), IPic(0)
OleLoadPicturePath StrPtr(url), 0&, 0&, 0&, IPic(0), LoadPictureFromURL
End Function
ili ovo:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
ByVal szFileName As String, ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Sve radi k'o urica!
Inače se radi o WMS DGU-e.
I samo jedna slikica
