Data Delivery WS request / response examples
WSDL location: https://solargis.info/ws/soap/dataDeliveryWebService.wsdl
REST endpoint: https://solargis.info/ws/rest/datadelivery/request?key=demo
XML Schemas
- ws-data.xsd - deliverData web service request and response
- common-types.xsd - generic common types, like percent, monthly values, etc.
- common-geo.xsd - geographic common types, like location, terrain, horizon, etc.
- common-pv.xsd - pv system common configuration, like geometry, mounting, losses, etc.
- data-request.xsd - data request related definitions
Technical schema documentation is available here
Requext XML showing the most options with comments
This request can be used with "demo" API key. More examples can be found here: Solargis API User Guide#WebServices
<ws:dataDeliveryRequest dateFrom="2015-07-01" dateTo="2015-07-01" xmlns="http://geomodel.eu/schema/data/request" xmlns:ws="http://geomodel.eu/schema/ws/data" xmlns:geo="http://geomodel.eu/schema/common/geo" xmlns:pv="http://geomodel.eu/schema/common/pv" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <site id="site_1" name="Test site" lat="48.61259" lng="20.827079"> <geo:terrain elevation="111" azimuth="112" tilt="11"/> <!--azimuth and tilt of terrain has only effect to PVOUT in case of GeometryFixedOneAngle geometry--> <geo:horizon>0:31.6 123:29.6 123.5:28 192.5:23.6 193:23.4 206.5:23.2 207:28.4 359.5:25.4</geo:horizon> <!--colon delimited pairs of sun azimuth vs. sun elevation, in degrees--> <!-- value of the horizon element is obtainable/viewable from/in pvPlanner application - horizon editor widget --> <pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="165" tilt="22"/> <!-- one axis horizontal tracker: <pv:geometry xsi:type="pv:GeometryOneAxisHorizontalNS" rotationLimitEast="-90" rotationLimitWest="90" backTracking="true"/>--> <!-- one axis inclined tracker: <pv:geometry xsi:type="pv:GeometryOneAxisInclinedNS" axisTilt="30" rotationLimitEast="-90" rotationLimitWest="90" backTracking="false"/>--> <!-- one vertical axis tracker: <pv:geometry xsi:type="pv:GeometryOneAxisVertical" tilt="25" rotationLimitEast="-180" rotationLimitWest="180" backTracking="true"/>--> <!-- vertical axis rotation limits are defined relative to 0 deg. (initial tracker position) from -180 to 180 deg with -90 deg.=east and +90 deg.=west, regardless of hemisphere--> <!-- two axis tracker: <pv:geometry xsi:type="pv:GeometryTwoAxisAstronomical" rotationLimitEast="-180" rotationLimitWest="180" tiltLimitMin="10" tiltLimitMax="60" backTracking="true"/>--> <pv:system installedPower="1000" installationType="FREE_STANDING" selfShading="false" dateStartup="2011-06-01"> <!--switch on selfShading attribute and switch off back-tracking to determine the impact (losses) due to inter-row shading on PVOUT --> <pv:module type="CSI"> <pv:degradation>3</pv:degradation> <pv:degradationFirstYear>8</pv:degradationFirstYear> <pv:surfaceReflectance>0.16</pv:surfaceReflectance> <!--<pv:powerTolerance low="10" high="90"/>--> <pv:nominalOperatingCellTemp>15</pv:nominalOperatingCellTemp> <!--<pv:openCircuitVoltageCoeff>7</pv:openCircuitVoltageCoeff> not supported <pv:shortCircuitCurrentCoeff>4</pv:shortCircuitCurrentCoeff> not supported--> <pv:PmaxCoeff>10</pv:PmaxCoeff> </pv:module> <!--<pv:inverter count="2" interconnection="PARALLEL"> not supported--> <pv:inverter> <pv:startPower>10</pv:startPower> <pv:efficiency xsi:type="pv:EfficiencyConstant" percent="94"/> <!--<pv:efficiency xsi:type="pv:EfficiencyCurve" dataPairs="0:20 50:60 100:80 150:90 233:97.5 350:97 466:96.5 583:96 700:95.5 750:93.33 800:87.5 850:82.35 900:77.8 950:73.7"/>--> <!--by using efficiency curve, we can model also clipping losses - having efficiency above certain power limit declining --> <pv:limitationACPower>900</pv:limitationACPower> <!-- clipping can be defined here or via eff. curve --> <!--<pv:nominalDCPower>8</pv:nominalDCPower> not supported--> </pv:inverter> <pv:losses> <!--for dcLosses enter either monthlySnowPollution 12 monthly % numbers or snowPollution as one % number--> <pv:dcLosses cables="1.2" mismatch="0.65" snowPollution="2.5" monthlySnowPollution="5 5.2 3 1 1 1 1 1 1 1 2 4"/> <pv:acLosses cables="1" transformer="2.1"/> </pv:losses> <pv:topology xsi:type="pv:TopologyRow" relativeSpacing="2.5" type="UNPROPORTIONAL1"/> <!-- for trackers use column spacing: <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="2.5" type="UNPROPORTIONAL2"/>--> <!--with vertical axis tracker and two-axis trackers, it is assumed constructions equally distributed in both directions, so TopologyColumn is enough to define spacing--> </pv:system> </site> <processing key="GHI GTI TEMP PVOUT" summarization="DAILY" terrainShading="true"> <timestampType>CENTER</timestampType> </processing> </ws:dataDeliveryRequest>
Minimum XML request (PVOUT)
<ws:dataDeliveryRequest dateFrom="2015-02-15" dateTo="2015-02-15" xmlns="http://geomodel.eu/schema/data/request" xmlns:ws="http://geomodel.eu/schema/ws/data" xmlns:pv="http://geomodel.eu/schema/common/pv" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <site id="site1" lat="48.61259" lng="20.827079"> <pv:system installedPower="5.6"> <pv:module type="CSI"/> <pv:inverter/> <pv:losses/> </pv:system> </site> <processing key="GHI DIF DNI PVOUT" summarization="MIN_15"/> </ws:dataDeliveryRequest>
Minimum XML request (no PVOUT)
<ws:dataDeliveryRequest dateFrom="2015-02-15" dateTo="2015-02-15" xmlns="http://geomodel.eu/schema/data/request" xmlns:ws="http://geomodel.eu/schema/ws/data"> <site id="site1" lat="48.61259" lng="20.827079"/> <processing key="GHI DIF DNI" summarization="MIN_15"/> </ws:dataDeliveryRequest>
Response XML
<dataDeliveryResponse xmlns="http://geomodel.eu/schema/ws/data" xmlns:ns2="http://geomodel.eu/schema/common/geo"> <site id="site1dummy" lat="48.61259" lng="20.827079"> <metadata>#HOURLY VALUES OF SOLAR RADIATION AND PV OUTPUT # #Issued: 2015-02-11 15:56 # #Site name: Firstsite #Latitude: 48.612590 #Longitude: 20.827079 #Elevation: 111.0 m a.s.l. #http://solargis.info/imaps/#tl=Google:Satellite&loc=48.612590,20.827079&z=14 # # #Output from the climate database SolarGIS v2.0.1 # #Solar radiation data #Description: data calculated from Meteosat MSG and MFG satellite data ((c) 2015 EUMETSAT) and from atmospheric data ((c) 2015 ECMWF and NOAA) by SolarGIS method #Summarization type: hourly #Summarization period: 01/01/2015 - 01/01/2015 #Spatial resolution: 250 m # # #Service provider: GeoModel Solar s.r.o., M. Marecka 3, Bratislava, Slovakia #Company ID: 45 354 766, VAT Number: SK2022962766 #Registration: Business register, District Court Bratislava I, Section Sro, File 62765/B #http://solargis.info, contact@solargis.info # #Disclaimer: #Considering the nature of climate fluctuations, interannual and long-term changes, as well as the uncertainty of measurements and calculations, GeoModel Solar s.r.o. cannot take full guarantee of the accuracy of estimates. The maximum possible has been done for the assessment of climate conditions based on the best available data, software and knowledge. GeoModel Solar s.r.o. shall not be liable for any direct, incidental, consequential, indirect or punitive damages arising or alleged to have arisen out of use of the provided data. SolarGIS is a trade mark of GeoModel Solar s.r.o. # #Copyright (c) 2015 GeoModel Solar s.r.o. # # #Columns: #Date - Date of measurement, format DD.MM.YYYY #Time - Time of measurement, time reference UTC, time step 60 min, time format HH:MM, center of the averaging interval #GHI - Global horizontal irradiation [Wh/m2], no data value -9 #DIF - Diffuse horizontal irradiation [Wh/m2], no data value -9 #DNI - Direct normal irradiation [Wh/m2], no data value -9 #PVOUT - PV output [kWh] # #Data: Date;Time;GHI;DIF;DNI;PVOUT</metadata> <columns>GHI DIF DNI PVOUT</columns> <row dateTime="2015-01-01T00:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T01:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T02:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T03:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T04:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T05:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T06:30:00.000Z" values="5.919966280460358 5.390461027622223 10.358650207519531 0.0"/> <row dateTime="2015-01-01T07:30:00.000Z" values="68.19317054748535 50.710779666900635 150.0716438293457 0.0"/> <row dateTime="2015-01-01T08:30:00.000Z" values="126.30745887756348 94.16604423522949 137.40283393859863 0.0"/> <row dateTime="2015-01-01T09:30:00.000Z" values="105.13788652420044 84.07496500015259 74.75265902280807 0.0"/> <row dateTime="2015-01-01T10:30:00.000Z" values="93.83942031860352 93.83942031860352 0.0 0.0"/> <row dateTime="2015-01-01T11:30:00.000Z" values="113.57184791564941 106.95848846435547 22.652618885040283 0.0"/> <row dateTime="2015-01-01T12:30:00.000Z" values="91.86378479003906 83.2255973815918 33.165565490722656 0.0"/> <row dateTime="2015-01-01T13:30:00.000Z" values="52.65634632110596 51.37733268737793 9.948320776224136 0.0"/> <row dateTime="2015-01-01T14:30:00.000Z" values="6.830964244902134 6.830964244902134 0.0 0.0"/> <row dateTime="2015-01-01T15:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T16:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T17:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T18:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T19:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T20:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T21:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T22:30:00.000Z" values="0.0 0.0 0.0 0.0"/> <row dateTime="2015-01-01T23:30:00.000Z" values="0.0 0.0 0.0 0.0"/> </site> </dataDeliveryResponse>