Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2287 - 1

2
namespace GMap.NET.MapProviders
3
{
4
   using System;
5
   using GMap.NET.Projections;
6
 
7
   public abstract class SwedenMapProviderBase : GMapProvider
8
   {
9
      public SwedenMapProviderBase()
10
      {
11
         RefererUrl = "https://kso.etjanster.lantmateriet.se/?lang=en";
12
         Copyright = string.Format("©{0} Lantmäteriet", DateTime.Today.Year);
13
         MaxZoom = 11;
14
         //Area = new RectLatLng(58.0794870805093, 20.3286067123543, 7.90883164336887, 2.506129113082);
15
      }
16
 
17
      #region GMapProvider Members
18
      public override Guid Id
19
      {
20
         get
21
         {
22
            throw new NotImplementedException();
23
         }
24
      }
25
 
26
      public override string Name
27
      {
28
         get
29
         {
30
            throw new NotImplementedException();
31
         }
32
      }
33
 
34
      public override PureProjection Projection
35
      {
36
         get
37
         {
38
            return SWEREF99_TMProjection.Instance;
39
         }
40
      }
41
 
42
      GMapProvider[] overlays;
43
      public override GMapProvider[] Overlays
44
      {
45
         get
46
         {
47
            if(overlays == null)
48
            {
49
               overlays = new GMapProvider[] { this };
50
            }
51
            return overlays;
52
         }
53
      }
54
 
55
      public override PureImage GetTileImage(GPoint pos, int zoom)
56
      {
57
         throw new NotImplementedException();
58
      }
59
      #endregion
60
   }
61
 
62
    /// <summary>
63
    /// SwedenMap provider, https://kso.etjanster.lantmateriet.se/?lang=en#
64
    /// </summary>
65
    public class SwedenMapProvider : SwedenMapProviderBase
66
    {
67
      public static readonly SwedenMapProvider Instance;
68
 
69
      SwedenMapProvider()
70
      {
71
      }
72
 
73
      static SwedenMapProvider()
74
      {
75
         Instance = new SwedenMapProvider();
76
      }
77
 
78
      #region GMapProvider Members
79
 
80
      readonly Guid id = new Guid("40890A96-6E82-4FA7-90A3-73D66B974F63");
81
      public override Guid Id
82
      {
83
         get
84
         {
85
            return id;
86
         }
87
      }
88
 
89
      readonly string name = "SwedenMap";
90
      public override string Name
91
      {
92
         get
93
         {
94
            return name;
95
         }
96
      }
97
 
98
      public override PureImage GetTileImage(GPoint pos, int zoom)
99
      {
100
         string url = MakeTileImageUrl(pos, zoom, LanguageStr);
101
 
102
         return GetTileImageUsingHttp(url);
103
      }
104
 
105
      #endregion
106
 
107
      string MakeTileImageUrl(GPoint pos, int zoom, string language)
108
      {
109
            // https://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=topowebb&STYLE=default&TILEMATRIXSET=3006&TILEMATRIX=2&TILEROW=6&TILECOL=7&FORMAT=image%2Fpng
110
 
111
            return string.Format(UrlFormat, zoom, pos.Y, pos.X);
112
      }
113
 
114
      static readonly string UrlFormat = "http://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=topowebb&STYLE=default&TILEMATRIXSET=3006&TILEMATRIX={0}&TILEROW={1}&TILECOL={2}&FORMAT=image%2Fpng";
115
   }
116
}
117
 
118
/*
119
https://kso.etjanster.lantmateriet.se/?lang=en#
120
 
121
{
122
        "analytics" : {
123
                "account" : "UA-47513746-2"
124
        },
125
        "ortofotoServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/metabild/v1/ortofoto",
126
        "metadata" : {
127
                "password" : "wllZIV50DH2b",
128
                "username" : "lant0181"
129
        },
130
        "minFastighetUrl" : "https://etjanster.lantmateriet.se/nyaminfastighet/?mode=TEXT&amp;module=sercxi-minafastigheter-module",
131
        "enableKartvaljare" : false,
132
        "frwebburl" : "https://etjanster.lantmateriet.se/frwebb/protect/index.jsp?information=FRW019&query=",
133
        "previewServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/tumnagel/v1/",
134
        "minaFastighetsArendenUrl" : "https://etjanster.lantmateriet.se/minafastighetsarenden",
135
        "flygbildServiceUrl" : "https://services-ver.lantmateriet.se/distribution/produkter/metabild/v1/flygbild"
136
}
137
 
138
PROJCS["SWEREF99 TM",
139
    GEOGCS["SWEREF99",
140
        DATUM["SWEREF99",
141
            SPHEROID["GRS 1980",6378137,298.257222101,
142
                AUTHORITY["EPSG","7019"]],
143
            TOWGS84[0,0,0,0,0,0,0],
144
            AUTHORITY["EPSG","6619"]],
145
        PRIMEM["Greenwich",0,
146
            AUTHORITY["EPSG","8901"]],
147
        UNIT["degree",0.01745329251994328,
148
            AUTHORITY["EPSG","9122"]],
149
        AUTHORITY["EPSG","4619"]],
150
    UNIT["metre",1,
151
        AUTHORITY["EPSG","9001"]],
152
    PROJECTION["Transverse_Mercator"],
153
    PARAMETER["latitude_of_origin",0],
154
    PARAMETER["central_meridian",15],
155
    PARAMETER["scale_factor",0.9996],
156
    PARAMETER["false_easting",500000],
157
    PARAMETER["false_northing",0],
158
    AUTHORITY["EPSG","3006"],
159
    AXIS["y",EAST],
160
    AXIS["x",NORTH]]
161
 
162
{
163
        "defaultLayer" : "topowebbwmts",
164
        "extent" : {
165
                "left" : -1200000,
166
                "bottom" : 4700000,
167
                "right" : 2600000,
168
                "top" : 8500000
169
        },
170
        "projection" : "EPSG:3006",
171
        "units" : "m",
172
        "allOverlays" : true,
173
        "resolutions" : [4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25, 0.15, 0.1, 0.05, 0.01],
174
        "initPosition" : {
175
                "n" : 6607899,
176
                "e" : 564931,
177
                "zoom" : 2
178
        },
179
        "layers" : [{
180
                        "id" : "topowebbhydrografi",
181
                        "protocol" : "WMS",
182
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb-skikt/wms/v1.1"],
183
                        "exceptions" : "application/vnd.ogc.se_xml",
184
                        "format" : "image/png",
185
                        "layers" : "hydrografi",
186
                        "name" : "Hydrografi",
187
                        "fullmap" : "false",
188
                        "enabled" : "true",
189
                        "sheetFamily" : "",
190
                        "maxResolution" : 0.0,
191
                        "minResolution" : 0.0,
192
                        "visible" : "true",
193
                        "tileSize" : 512,
194
                        "maxScale" : 0,
195
                        "minScale" : 0,
196
                        "removeLayer" : "false",
197
                        "styles" : []
198
                }, {
199
                        "id" : "orto",
200
                        "protocol" : "WMS",
201
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/ortofoto/wms/v1"],
202
                        "exceptions" : "application/vnd.ogc.se_xml",
203
                        "format" : "image/png",
204
                        "layers" : "orto",
205
                        "name" : "Ortofoton 0.5 m/pixel",
206
                        "fullmap" : "true",
207
                        "enabled" : "true",
208
                        "sheetFamily" : "",
209
                        "maxResolution" : 0.0,
210
                        "minResolution" : 0.0,
211
                        "visible" : "true",
212
                        "tileSize" : 512,
213
                        "maxScale" : 0,
214
                        "minScale" : 0,
215
                        "removeLayer" : "false",
216
                        "styles" : []
217
                }, {
218
                        "id" : "topowebbwmts",
219
                        "protocol" : "WMTS",
220
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb/v1/wmts"],
221
                        "exceptions" : "application/vnd.ogc.se_xml",
222
                        "format" : "image/png",
223
                        "layers" : "topowebb",
224
                        "name" : "Topografisk webbkarta (cache)",
225
                        "fullmap" : "true",
226
                        "enabled" : "true",
227
                        "sheetFamily" : "",
228
                        "maxResolution" : 4096.0,
229
                        "minResolution" : 0.5,
230
                        "visible" : "false",
231
                        "tileSize" : 512,
232
                        "maxScale" : 0,
233
                        "minScale" : 0,
234
                        "removeLayer" : "false",
235
                        "styles" : []
236
                }, {
237
                        "id" : "topowebbwms",
238
                        "protocol" : "WMS",
239
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/topowebb/wms/v1"],
240
                        "exceptions" : "application/vnd.ogc.se_xml",
241
                        "format" : "image/png",
242
                        "layers" : "topowebbkartan",
243
                        "name" : "Topografisk webbkarta",
244
                        "fullmap" : "true",
245
                        "enabled" : "true",
246
                        "sheetFamily" : "",
247
                        "maxResolution" : 0.0,
248
                        "minResolution" : 0.0,
249
                        "visible" : "true",
250
                        "tileSize" : 512,
251
                        "maxScale" : 0,
252
                        "minScale" : 0,
253
                        "removeLayer" : "false",
254
                        "styles" : []
255
                }, {
256
                        "id" : "terrangskuggning",
257
                        "protocol" : "WMS",
258
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/hojdmodell/wms/v1"],
259
                        "exceptions" : "application/vnd.ogc.se_xml",
260
                        "format" : "image/png",
261
                        "layers" : "terrangskuggning",
262
                        "name" : "Terrängskuggning",
263
                        "fullmap" : "false",
264
                        "enabled" : "true",
265
                        "sheetFamily" : "",
266
                        "maxResolution" : 0.0,
267
                        "minResolution" : 0.0,
268
                        "visible" : "false",
269
                        "tileSize" : 2048,
270
                        "maxScale" : 0,
271
                        "minScale" : 0,
272
                        "removeLayer" : "false",
273
                        "styles" : []
274
                }, {
275
                        "id" : "terrangkartan",
276
                        "protocol" : "WMS",
277
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
278
                        "exceptions" : "application/vnd.ogc.se_xml",
279
                        "format" : "image/png",
280
                        "layers" : "terrangkartan",
281
                        "name" : "Terrängkartan",
282
                        "fullmap" : "true",
283
                        "enabled" : "true",
284
                        "sheetFamily" : "SE50",
285
                        "maxResolution" : 0.0,
286
                        "minResolution" : 0.0,
287
                        "visible" : "false",
288
                        "tileSize" : 512,
289
                        "maxScale" : 0,
290
                        "minScale" : 0,
291
                        "removeLayer" : "false",
292
                        "styles" : []
293
                }, {
294
                        "id" : "fjallkartan",
295
                        "protocol" : "WMS",
296
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
297
                        "exceptions" : "application/vnd.ogc.se_xml",
298
                        "format" : "image/png",
299
                        "layers" : "fjallkartan",
300
                        "name" : "Fjällkartan 1:100 000",
301
                        "fullmap" : "false",
302
                        "enabled" : "true",
303
                        "sheetFamily" : "SE100FJ",
304
                        "maxResolution" : 0.0,
305
                        "minResolution" : 0.0,
306
                        "visible" : "false",
307
                        "tileSize" : 512,
308
                        "maxScale" : 0,
309
                        "minScale" : 0,
310
                        "removeLayer" : "false",
311
                        "styles" : []
312
                }, {
313
                        "id" : "vagkartan",
314
                        "protocol" : "WMS",
315
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
316
                        "exceptions" : "application/vnd.ogc.se_xml",
317
                        "format" : "image/png",
318
                        "layers" : "vagkartan",
319
                        "name" : "Vägkartan",
320
                        "fullmap" : "true",
321
                        "enabled" : "true",
322
                        "sheetFamily" : "",
323
                        "maxResolution" : 0.0,
324
                        "minResolution" : 0.0,
325
                        "visible" : "false",
326
                        "tileSize" : 512,
327
                        "maxScale" : 0,
328
                        "minScale" : 0,
329
                        "removeLayer" : "false",
330
                        "styles" : []
331
                }, {
332
                        "id" : "oversiktskartan",
333
                        "protocol" : "WMS",
334
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/geodata-intern/wms/v1"],
335
                        "exceptions" : "application/vnd.ogc.se_xml",
336
                        "format" : "image/png",
337
                        "layers" : "oversiktskartan",
338
                        "name" : "Översiktskartan",
339
                        "fullmap" : "true",
340
                        "enabled" : "true",
341
                        "sheetFamily" : "SE250",
342
                        "maxResolution" : 0.0,
343
                        "minResolution" : 0.0,
344
                        "visible" : "false",
345
                        "tileSize" : 512,
346
                        "maxScale" : 0,
347
                        "minScale" : 0,
348
                        "removeLayer" : "false",
349
                        "styles" : []
350
                }, {
351
                        "id" : "sverigekartan",
352
                        "protocol" : "WMS",
353
                        "url" : ["https://kso.etjanster.lantmateriet.se/karta/allmannakartor/wms/v1"],
354
                        "exceptions" : "application/vnd.ogc.se_xml",
355
                        "format" : "image/png",
356
                        "layers" : "sverigekartan",
357
                        "name" : "Sverigekartan",
358
                        "fullmap" : "true",
359
                        "enabled" : "true",
360
                        "sheetFamily" : "",
361
                        "maxResolution" : 0.0,
362
                        "minResolution" : 0.0,
363
                        "visible" : "false",
364
                        "tileSize" : 512,
365
                        "maxScale" : 0,
366
                        "minScale" : 0,
367
                        "removeLayer" : "false",
368
                        "styles" : []
369
                }
370
        ],
371
        "profiles" : "[]",
372
        "touchProfiles" : "[]",
373
        "noAuthProfiles" : "[{'value':'default_background_noauth','text':'Topografisk','optgroup':'Standard'},{'value':'default_orto_noauth','text':'Ortofoto','optgroup':'Standard'},{'value':'default_terrangkartan_noauth','text':'Terrängkartan','optgroup':'Standard'},{'value':'default_fjallkartan_noauth','text':'Fjällkartan','optgroup':'Standard'},{'value':'default_vagkartan_noauth','text':'Vägkartan','optgroup':'Standard'},{'value':'default_sverigekartan_noauth','text':'Sverigekartan','optgroup':'Standard'},{'value':'default_terrangskuggning_noauth','text':'Terrängskuggning','optgroup':'Standard'}]",
374
        "profileDescriptions" : {
375
                "default_background" : "{'layers':[{'id':'topowebbwmts','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
376
                "default_terrangkartan_noauth" : "{'layers':[{'id':'terrangkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
377
                "default_vagkartan_noauth" : "{'layers':[{'id':'vagkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
378
                "default_orto_noauth" : "{'layers':[{'id':'orto025','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0},{'id':'orto','index':1,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
379
                "default_fjallkartan_noauth" : "{'layers':[{'id':'fjallkartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
380
                "default_sverigekartan_noauth" : "{'layers':[{'id':'sverigekartan','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
381
                "default_terrangskuggning_noauth" : "{'layers':[{'id':'topowebbhydrografi','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0},{'id':'terrangskuggning','index':1,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}",
382
                "default_background_noauth" : "{'layers':[{'id':'topowebbwmts','index':0,'group':'','enabled':true,'visible':true,'style':'default','opacity':1.0}],'version':4}"
383
        }
384
}
385
*/