/src/gdal/frmts/wms/minidriver_ogcapicoverage.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /****************************************************************************** |
2 | | * Project: WMS Client Driver |
3 | | * Purpose: OGC API coverage |
4 | | * Author: Even Rouault |
5 | | * |
6 | | ****************************************************************************** |
7 | | * Copyright (c) 2020, Even Rouault |
8 | | * |
9 | | * SPDX-License-Identifier: MIT |
10 | | ****************************************************************************/ |
11 | | |
12 | | #include "wmsdriver.h" |
13 | | #include "minidriver_ogcapicoverage.h" |
14 | | |
15 | | CPLErr |
16 | | WMSMiniDriver_OGCAPICoverage::Initialize(CPLXMLNode *config, |
17 | | CPL_UNUSED char **papszOpenOptions) |
18 | 0 | { |
19 | 0 | CPLErr ret = CE_None; |
20 | |
|
21 | 0 | { |
22 | 0 | const char *base_url = CPLGetXMLValue(config, "ServerURL", ""); |
23 | 0 | if (base_url[0] != '\0') |
24 | 0 | { |
25 | 0 | m_base_url = base_url; |
26 | 0 | } |
27 | 0 | else |
28 | 0 | { |
29 | 0 | CPLError(CE_Failure, CPLE_AppDefined, |
30 | 0 | "GDALWMS, OGCAPICoverage mini-driver: ServerURL missing."); |
31 | 0 | ret = CE_Failure; |
32 | 0 | } |
33 | 0 | } |
34 | |
|
35 | 0 | return ret; |
36 | 0 | } |
37 | | |
38 | | CPLErr WMSMiniDriver_OGCAPICoverage::TiledImageRequest( |
39 | | WMSHTTPRequest &request, const GDALWMSImageRequestInfo &iri, |
40 | | const GDALWMSTiledImageRequestInfo &) |
41 | 0 | { |
42 | 0 | CPLString &url = request.URL; |
43 | |
|
44 | 0 | url = m_base_url; |
45 | |
|
46 | 0 | URLSearchAndReplace(&url, "${width}", "%d", iri.m_sx); |
47 | 0 | URLSearchAndReplace(&url, "${height}", "%d", iri.m_sy); |
48 | 0 | URLSearchAndReplace(&url, "${minx}", "%.17g", iri.m_x0); |
49 | 0 | URLSearchAndReplace(&url, "${miny}", "%.17g", iri.m_y1); |
50 | 0 | URLSearchAndReplace(&url, "${maxx}", "%.17g", iri.m_x1); |
51 | 0 | URLSearchAndReplace(&url, "${maxy}", "%.17g", iri.m_y0); |
52 | | /*URLSearchAndReplace(&url, "${minx_centerpixel}", "%.17g", iri.m_x0 + 0.5 * |
53 | | (iri.m_x1 - iri.m_x0) / iri.m_sx); URLSearchAndReplace(&url, |
54 | | "${miny_centerpixel}", "%.17g", iri.m_y1 - 0.5 * (iri.m_y1 - iri.m_y0) / |
55 | | iri.m_sy); URLSearchAndReplace(&url, "${maxx_centerpixel}", "%.17g", |
56 | | iri.m_x1 - 0.5 * (iri.m_x1 - iri.m_x0) / iri.m_sx); |
57 | | URLSearchAndReplace(&url, "${maxy_centerpixel}", "%.17g", iri.m_y0 + 0.5 * |
58 | | (iri.m_y1 - iri.m_y0) / iri.m_sy);*/ |
59 | |
|
60 | 0 | return CE_None; |
61 | 0 | } |