diff --git a/.gitignore b/.gitignore index 39b6c55..f7f38e3 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ *.lnk *.log distrib +fonts diff --git a/data/cat_rect_limits.geojson b/data/cat_rect_limits.geojson index 9c16ab5..e5b4ac2 100644 --- a/data/cat_rect_limits.geojson +++ b/data/cat_rect_limits.geojson @@ -1,14 +1,14 @@ -{ -"type": "FeatureCollection", -"name": "z", -"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, -"features": [ -{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ -[ 257970, 4751770 ], -[ 257970, 4484840 ], -[ 534760, 4484840 ], -[ 534760, 4751770 ], -[ 257970, 4751770 ] -] ] } } -] -} +{ +"type": "FeatureCollection", +"name": "z", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, +"features": [ +{ "type": "Feature", "properties": { }, "geometry": { "type": "Polygon", "coordinates": [ [ +[ 257970, 4751770 ], +[ 257970, 4484840 ], +[ 534760, 4484840 ], +[ 534760, 4751770 ], +[ 257970, 4751770 ] +] ] } } +] +} diff --git a/data/cat_simple_limits.geojson b/data/cat_simple_limits.geojson index 4079435..8bef307 100644 --- a/data/cat_simple_limits.geojson +++ b/data/cat_simple_limits.geojson @@ -1,8 +1,8 @@ -{ -"type": "FeatureCollection", -"name": "simple", -"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, -"features": [ -{ "type": "Feature", "properties": { "id": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 304457.290340574458241, 4758033.341267678886652 ], [ 300160.834704967564903, 4683919.481553458608687 ], [ 283512.069116991071496, 4639880.811288491822779 ], [ 266863.303529014694504, 4608731.507930342108011 ], [ 251825.708804390684236, 4504542.458766875788569 ], [ 295327.322114910115488, 4476078.440180979669094 ], [ 339903.049334330891725, 4505079.515721328556538 ], [ 322717.226791903492995, 4527635.907808261923492 ], [ 445166.212406698206905, 4567378.122437627054751 ], [ 452147.952814559219405, 4582952.774116697721183 ], [ 527335.926437678863294, 4628065.558290572836995 ], [ 534317.666845540050417, 4704864.702777042984962 ], [ 469333.775356986618135, 4713994.671002711169422 ], [ 443555.041543345665559, 4707012.930594847537577 ], [ 388238.175234907655977, 4722050.525319471955299 ], [ 368367.067920226138085, 4741384.575679702684283 ], [ 304457.290340574458241, 4758033.341267678886652 ] ] ] } } -] -} +{ +"type": "FeatureCollection", +"name": "simple", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, +"features": [ +{ "type": "Feature", "properties": { "id": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 304457.290340574458241, 4758033.341267678886652 ], [ 300160.834704967564903, 4683919.481553458608687 ], [ 283512.069116991071496, 4639880.811288491822779 ], [ 266863.303529014694504, 4608731.507930342108011 ], [ 251825.708804390684236, 4504542.458766875788569 ], [ 295327.322114910115488, 4476078.440180979669094 ], [ 339903.049334330891725, 4505079.515721328556538 ], [ 322717.226791903492995, 4527635.907808261923492 ], [ 445166.212406698206905, 4567378.122437627054751 ], [ 452147.952814559219405, 4582952.774116697721183 ], [ 527335.926437678863294, 4628065.558290572836995 ], [ 534317.666845540050417, 4704864.702777042984962 ], [ 469333.775356986618135, 4713994.671002711169422 ], [ 443555.041543345665559, 4707012.930594847537577 ], [ 388238.175234907655977, 4722050.525319471955299 ], [ 368367.067920226138085, 4741384.575679702684283 ], [ 304457.290340574458241, 4758033.341267678886652 ] ] ] } } +] +} diff --git a/data/cat_tall25k_limits.geojson b/data/cat_tall25k_limits.geojson index d047d05..ca1fdfd 100644 --- a/data/cat_tall25k_limits.geojson +++ b/data/cat_tall25k_limits.geojson @@ -1,8 +1,8 @@ -{ -"type": "FeatureCollection", -"name": "25k", -"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, -"features": [ -{ "type": "Feature", "properties": { "gid": 0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 329240.0, 4503660.0 ], [ 329240.0, 4494410.0 ], [ 314920.0, 4494410.0 ], [ 314920.0, 4485500.0 ], [ 300460.0, 4485500.0 ], [ 300460.0, 4485860.0 ], [ 286330.0, 4485860.0 ], [ 286330.0, 4486250.0 ], [ 272210.0, 4486250.0 ], [ 272210.0, 4495920.0 ], [ 258380.0, 4495920.0 ], [ 258380.0, 4505730.0 ], [ 258680.0, 4505730.0 ], [ 258680.0, 4514980.0 ], [ 258990.0, 4514980.0 ], [ 258990.0, 4524230.0 ], [ 259290.0, 4524230.0 ], [ 259290.0, 4533480.0 ], [ 259590.0, 4533480.0 ], [ 259590.0, 4542740.0 ], [ 259890.0, 4542740.0 ], [ 259890.0, 4551990.0 ], [ 260190.0, 4551990.0 ], [ 260190.0, 4561240.0 ], [ 260500.0, 4561240.0 ], [ 260500.0, 4570490.0 ], [ 274770.0, 4570490.0 ], [ 274770.0, 4579300.0 ], [ 275050.0, 4579300.0 ], [ 275050.0, 4588550.0 ], [ 275340.0, 4588550.0 ], [ 275340.0, 4597810.0 ], [ 275630.0, 4597810.0 ], [ 275630.0, 4607060.0 ], [ 275920.0, 4607060.0 ], [ 275920.0, 4616310.0 ], [ 276210.0, 4616310.0 ], [ 276210.0, 4625570.0 ], [ 276490.0, 4625570.0 ], [ 276490.0, 4634820.0 ], [ 290620.0, 4634820.0 ], [ 290620.0, 4643650.0 ], [ 290900.0, 4643650.0 ], [ 290900.0, 4652910.0 ], [ 304970.0, 4652910.0 ], [ 304970.0, 4661770.0 ], [ 305230.0, 4661770.0 ], [ 305230.0, 4671020.0 ], [ 305480.0, 4671020.0 ], [ 305480.0, 4680270.0 ], [ 305740.0, 4680270.0 ], [ 305740.0, 4689530.0 ], [ 305990.0, 4689530.0 ], [ 305990.0, 4698780.0 ], [ 306250.0, 4698780.0 ], [ 306250.0, 4708030.0 ], [ 306510.0, 4708030.0 ], [ 306510.0, 4717290.0 ], [ 306760.0, 4717290.0 ], [ 306760.0, 4726540.0 ], [ 307020.0, 4726540.0 ], [ 307020.0, 4735690.0 ], [ 293640.0, 4735690.0 ], [ 293640.0, 4745440.0 ], [ 307540.0, 4745440.0 ], [ 307540.0, 4754300.0 ], [ 321510.0, 4754300.0 ], [ 321510.0, 4753940.0 ], [ 335120.0, 4753940.0 ], [ 335120.0, 4744340.0 ], [ 348520.0, 4744340.0 ], [ 348520.0, 4734780.0 ], [ 361950.0, 4734780.0 ], [ 361950.0, 4734490.0 ], [ 375590.0, 4734490.0 ], [ 375590.0, 4724870.0 ], [ 375430.0, 4724870.0 ], [ 375430.0, 4715610.0 ], [ 375260.0, 4715610.0 ], [ 375260.0, 4706470.0 ], [ 388680.0, 4706470.0 ], [ 388680.0, 4715490.0 ], [ 402610.0, 4715490.0 ], [ 402610.0, 4706030.0 ], [ 416180.0, 4706030.0 ], [ 416180.0, 4705850.0 ], [ 429870.0, 4705850.0 ], [ 429870.0, 4705700.0 ], [ 443570.0, 4705700.0 ], [ 443570.0, 4705580.0 ], [ 457260.0, 4705580.0 ], [ 457260.0, 4696230.0 ], [ 470810.0, 4696230.0 ], [ 470810.0, 4705410.0 ], [ 484650.0, 4705410.0 ], [ 484650.0, 4705370.0 ], [ 498340.0, 4705370.0 ], [ 498340.0, 4705360.0 ], [ 511930.0, 4705360.0 ], [ 511930.0, 4705400.0 ], [ 525770.0, 4705400.0 ], [ 525770.0, 4696140.0 ], [ 525800.0, 4696140.0 ], [ 525800.0, 4686950.0 ], [ 539580.0, 4686950.0 ], [ 539580.0, 4677530.0 ], [ 525870.0, 4677530.0 ], [ 525870.0, 4668380.0 ], [ 525900.0, 4668380.0 ], [ 525900.0, 4659130.0 ], [ 525940.0, 4659130.0 ], [ 525940.0, 4649880.0 ], [ 525970.0, 4649880.0 ], [ 525970.0, 4640630.0 ], [ 526000.0, 4640630.0 ], [ 526000.0, 4631230.0 ], [ 512180.0, 4631230.0 ], [ 512180.0, 4621960.0 ], [ 498330.0, 4621960.0 ], [ 498320.0, 4621960.0 ], [ 498320.0, 4612710.0 ], [ 484450.0, 4612710.0 ], [ 484450.0, 4603480.0 ], [ 470530.0, 4603480.0 ], [ 470530.0, 4594270.0 ], [ 456580.0, 4594270.0 ], [ 456580.0, 4585090.0 ], [ 442600.0, 4585090.0 ], [ 442600.0, 4575930.0 ], [ 442530.0, 4575930.0 ], [ 442530.0, 4566680.0 ], [ 428380.0, 4566680.0 ], [ 428380.0, 4566810.0 ], [ 414530.0, 4566810.0 ], [ 414530.0, 4557710.0 ], [ 400330.0, 4557710.0 ], [ 400330.0, 4557880.0 ], [ 386450.0, 4557880.0 ], [ 386450.0, 4548840.0 ], [ 372200.0, 4548840.0 ], [ 372200.0, 4549070.0 ], [ 358310.0, 4549070.0 ], [ 358310.0, 4540070.0 ], [ 344000.0, 4540070.0 ], [ 344000.0, 4540360.0 ], [ 330090.0, 4540360.0 ], [ 330090.0, 4531420.0 ], [ 329880.0, 4531420.0 ], [ 329880.0, 4522170.0 ], [ 315610.0, 4522170.0 ], [ 315610.0, 4513360.0 ], [ 329450.0, 4513360.0 ], [ 329450.0, 4503660.0 ], [ 329240.0, 4503660.0 ] ] ] ] } } -] -} +{ +"type": "FeatureCollection", +"name": "25k", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, +"features": [ +{ "type": "Feature", "properties": { "gid": 0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 329240.0, 4503660.0 ], [ 329240.0, 4494410.0 ], [ 314920.0, 4494410.0 ], [ 314920.0, 4485500.0 ], [ 300460.0, 4485500.0 ], [ 300460.0, 4485860.0 ], [ 286330.0, 4485860.0 ], [ 286330.0, 4486250.0 ], [ 272210.0, 4486250.0 ], [ 272210.0, 4495920.0 ], [ 258380.0, 4495920.0 ], [ 258380.0, 4505730.0 ], [ 258680.0, 4505730.0 ], [ 258680.0, 4514980.0 ], [ 258990.0, 4514980.0 ], [ 258990.0, 4524230.0 ], [ 259290.0, 4524230.0 ], [ 259290.0, 4533480.0 ], [ 259590.0, 4533480.0 ], [ 259590.0, 4542740.0 ], [ 259890.0, 4542740.0 ], [ 259890.0, 4551990.0 ], [ 260190.0, 4551990.0 ], [ 260190.0, 4561240.0 ], [ 260500.0, 4561240.0 ], [ 260500.0, 4570490.0 ], [ 274770.0, 4570490.0 ], [ 274770.0, 4579300.0 ], [ 275050.0, 4579300.0 ], [ 275050.0, 4588550.0 ], [ 275340.0, 4588550.0 ], [ 275340.0, 4597810.0 ], [ 275630.0, 4597810.0 ], [ 275630.0, 4607060.0 ], [ 275920.0, 4607060.0 ], [ 275920.0, 4616310.0 ], [ 276210.0, 4616310.0 ], [ 276210.0, 4625570.0 ], [ 276490.0, 4625570.0 ], [ 276490.0, 4634820.0 ], [ 290620.0, 4634820.0 ], [ 290620.0, 4643650.0 ], [ 290900.0, 4643650.0 ], [ 290900.0, 4652910.0 ], [ 304970.0, 4652910.0 ], [ 304970.0, 4661770.0 ], [ 305230.0, 4661770.0 ], [ 305230.0, 4671020.0 ], [ 305480.0, 4671020.0 ], [ 305480.0, 4680270.0 ], [ 305740.0, 4680270.0 ], [ 305740.0, 4689530.0 ], [ 305990.0, 4689530.0 ], [ 305990.0, 4698780.0 ], [ 306250.0, 4698780.0 ], [ 306250.0, 4708030.0 ], [ 306510.0, 4708030.0 ], [ 306510.0, 4717290.0 ], [ 306760.0, 4717290.0 ], [ 306760.0, 4726540.0 ], [ 307020.0, 4726540.0 ], [ 307020.0, 4735690.0 ], [ 293640.0, 4735690.0 ], [ 293640.0, 4745440.0 ], [ 307540.0, 4745440.0 ], [ 307540.0, 4754300.0 ], [ 321510.0, 4754300.0 ], [ 321510.0, 4753940.0 ], [ 335120.0, 4753940.0 ], [ 335120.0, 4744340.0 ], [ 348520.0, 4744340.0 ], [ 348520.0, 4734780.0 ], [ 361950.0, 4734780.0 ], [ 361950.0, 4734490.0 ], [ 375590.0, 4734490.0 ], [ 375590.0, 4724870.0 ], [ 375430.0, 4724870.0 ], [ 375430.0, 4715610.0 ], [ 375260.0, 4715610.0 ], [ 375260.0, 4706470.0 ], [ 388680.0, 4706470.0 ], [ 388680.0, 4715490.0 ], [ 402610.0, 4715490.0 ], [ 402610.0, 4706030.0 ], [ 416180.0, 4706030.0 ], [ 416180.0, 4705850.0 ], [ 429870.0, 4705850.0 ], [ 429870.0, 4705700.0 ], [ 443570.0, 4705700.0 ], [ 443570.0, 4705580.0 ], [ 457260.0, 4705580.0 ], [ 457260.0, 4696230.0 ], [ 470810.0, 4696230.0 ], [ 470810.0, 4705410.0 ], [ 484650.0, 4705410.0 ], [ 484650.0, 4705370.0 ], [ 498340.0, 4705370.0 ], [ 498340.0, 4705360.0 ], [ 511930.0, 4705360.0 ], [ 511930.0, 4705400.0 ], [ 525770.0, 4705400.0 ], [ 525770.0, 4696140.0 ], [ 525800.0, 4696140.0 ], [ 525800.0, 4686950.0 ], [ 539580.0, 4686950.0 ], [ 539580.0, 4677530.0 ], [ 525870.0, 4677530.0 ], [ 525870.0, 4668380.0 ], [ 525900.0, 4668380.0 ], [ 525900.0, 4659130.0 ], [ 525940.0, 4659130.0 ], [ 525940.0, 4649880.0 ], [ 525970.0, 4649880.0 ], [ 525970.0, 4640630.0 ], [ 526000.0, 4640630.0 ], [ 526000.0, 4631230.0 ], [ 512180.0, 4631230.0 ], [ 512180.0, 4621960.0 ], [ 498330.0, 4621960.0 ], [ 498320.0, 4621960.0 ], [ 498320.0, 4612710.0 ], [ 484450.0, 4612710.0 ], [ 484450.0, 4603480.0 ], [ 470530.0, 4603480.0 ], [ 470530.0, 4594270.0 ], [ 456580.0, 4594270.0 ], [ 456580.0, 4585090.0 ], [ 442600.0, 4585090.0 ], [ 442600.0, 4575930.0 ], [ 442530.0, 4575930.0 ], [ 442530.0, 4566680.0 ], [ 428380.0, 4566680.0 ], [ 428380.0, 4566810.0 ], [ 414530.0, 4566810.0 ], [ 414530.0, 4557710.0 ], [ 400330.0, 4557710.0 ], [ 400330.0, 4557880.0 ], [ 386450.0, 4557880.0 ], [ 386450.0, 4548840.0 ], [ 372200.0, 4548840.0 ], [ 372200.0, 4549070.0 ], [ 358310.0, 4549070.0 ], [ 358310.0, 4540070.0 ], [ 344000.0, 4540070.0 ], [ 344000.0, 4540360.0 ], [ 330090.0, 4540360.0 ], [ 330090.0, 4531420.0 ], [ 329880.0, 4531420.0 ], [ 329880.0, 4522170.0 ], [ 315610.0, 4522170.0 ], [ 315610.0, 4513360.0 ], [ 329450.0, 4513360.0 ], [ 329450.0, 4503660.0 ], [ 329240.0, 4503660.0 ] ] ] ] } } +] +} diff --git a/data/cat_tall5k_limits.geojson b/data/cat_tall5k_limits.geojson index 288010a..2ff3040 100644 --- a/data/cat_tall5k_limits.geojson +++ b/data/cat_tall5k_limits.geojson @@ -1,8 +1,8 @@ -{ -"type": "FeatureCollection", -"name": "z", -"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, -"features": [ -{ "type": "Feature", "properties": { "gid": 4282 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 293629.999921411275864, 4490580.002789653837681 ], [ 297050.000368323642761, 4490579.997195045463741 ], [ 297050.001579137868248, 4490489.996665474958718 ], [ 300580.003604751080275, 4490490.005214287899435 ], [ 300580.000258714018855, 4490389.997901474125683 ], [ 304280.003194940974936, 4490390.002481003291905 ], [ 304280.003125318558887, 4492619.996091452427208 ], [ 307870.000012289616279, 4492619.998697898350656 ], [ 307870.000981729652267, 4494929.997033353894949 ], [ 307929.999906361277681, 4494930.005183403380215 ], [ 307929.999896695720963, 4497149.996292104013264 ], [ 311509.997423446038738, 4497149.997228164225817 ], [ 311510.001104423543438, 4499460.001682722941041 ], [ 311570.00327001628466, 4499460.003503845073283 ], [ 311570.001408667187206, 4501690.000568738207221 ], [ 314980.003574479720555, 4501689.994387766346335 ], [ 314979.997665139730088, 4501600.005537242628634 ], [ 318670.004081056336872, 4501600.003936660476029 ], [ 318669.996059918077663, 4503829.996273356489837 ], [ 322250.002006394846831, 4503830.003603887744248 ], [ 322249.995976297243033, 4506139.997896730899811 ], [ 322309.996525163762271, 4506140.005427993834019 ], [ 322309.995708533097059, 4508449.996754446998239 ], [ 322360.003047761856578, 4508449.998659706674516 ], [ 322359.996930449211504, 4510769.995689246803522 ], [ 322420.002279297332279, 4510770.001892928034067 ], [ 322420.004129628709052, 4513279.997770846821368 ], [ 318959.998312293086201, 4513279.998713287524879 ], [ 318960.000497145985719, 4515670.002232300117612 ], [ 315499.996672515640967, 4515670.003469483926892 ], [ 315500.003973463200964, 4517879.998942817561328 ], [ 315559.998565517307725, 4517880.002174580469728 ], [ 315560.001673899008892, 4520389.995605164207518 ], [ 312099.999336293200031, 4520390.002159419469535 ], [ 312099.998249960539397, 4522590.00007220543921 ], [ 312159.999036768160295, 4522589.995572841726243 ], [ 312159.998133870773017, 4524819.995514702051878 ], [ 315730.003251336282119, 4524820.002409132197499 ], [ 315729.99851874099113, 4527040.005525114946067 ], [ 319300.002123585785739, 4527039.996810395270586 ], [ 319300.00018315075431, 4529360.001348619349301 ], [ 319350.003006946993992, 4529359.997263281606138 ], [ 319350.001734117628075, 4531579.999717375263572 ], [ 322920.003328284597956, 4531580.005381980910897 ], [ 322919.9993209624663, 4533899.997424726374447 ], [ 322970.003389921737835, 4533900.004997849464417 ], [ 322969.99745760706719, 4536129.99450995400548 ], [ 326539.99789402942406, 4536129.997103706933558 ], [ 326539.996175345499068, 4538440.002652183175087 ], [ 326590.00092294922797, 4538439.999752507545054 ], [ 326590.002431458095089, 4540670.001628323458135 ], [ 330149.998354218027089, 4540670.004636017605662 ], [ 330150.000307747803163, 4542900.001081093214452 ], [ 333700.001508646178991, 4542899.997071694582701 ], [ 333699.99623292835895, 4545139.997567443177104 ], [ 337100.001468517410103, 4545139.996162881143391 ], [ 337099.998546322342008, 4545060.000766530632973 ], [ 340759.997631872189231, 4545060.000280058011413 ], [ 340759.999287982005626, 4547299.998257901519537 ], [ 344100.003238738630898, 4547300.005361592397094 ], [ 344100.000588739407249, 4544910.004418919794261 ], [ 347760.001433138386346, 4544909.998109306208789 ], [ 347760.000284914160147, 4547150.001621010713279 ], [ 351309.998403845296707, 4547150.000069503672421 ], [ 351310.002945269341581, 4549390.00495124887675 ], [ 354860.003204962937161, 4549390.004955785349011 ], [ 354859.999231519526802, 4551639.997131397947669 ], [ 358240.003397328662686, 4551639.994524493813515 ], [ 358239.999770033522509, 4551570.004712752997875 ], [ 361899.998132339562289, 4551570.004224221222103 ], [ 361900.000918664620258, 4553819.996759654022753 ], [ 365280.002360919723287, 4553820.001070491038263 ], [ 365279.99735008738935, 4553750.002853703685105 ], [ 368929.997361255227588, 4553750.000101866200566 ], [ 368930.000172720814589, 4556010.003876549191773 ], [ 372320.001091000332963, 4556009.995943509973586 ], [ 372320.001818176126108, 4555949.994790203869343 ], [ 375969.999741306179203, 4555949.994860551320016 ], [ 375969.997183802479412, 4558200.002737599425018 ], [ 379350.002133705536835, 4558199.997378746978939 ], [ 379350.000816280022264, 4558139.998301415704191 ], [ 382849.996776967891492, 4558139.997502004727721 ], [ 382850.000164678727742, 4558090.004653215408325 ], [ 386489.999148386297747, 4558090.002877465449274 ], [ 386490.003595501999371, 4560350.002286480739713 ], [ 389869.996903902560007, 4560349.998095746152103 ], [ 389869.997065437433776, 4560299.995734633877873 ], [ 393369.998701087664813, 4560300.002004060894251 ], [ 393370.002459722338244, 4560239.995665455237031 ], [ 397010.002311483374797, 4560240.002989424392581 ], [ 397010.003538843418937, 4562510.003822200000286 ], [ 400529.997821127064526, 4562509.99527361150831 ], [ 400530.001437418919522, 4564780.002830043435097 ], [ 403909.997868836915586, 4564779.995538351126015 ], [ 403910.000617597368546, 4564729.995909855701029 ], [ 407399.99859925894998, 4564730.002128703519702 ], [ 407400.001438070030417, 4564689.996329184621572 ], [ 411030.002361328166444, 4564689.99631607811898 ], [ 411030.001289357664064, 4566960.00368077494204 ], [ 414420.00266360072419, 4566960.001097338274121 ], [ 414420.001651691854931, 4566919.996283822692931 ], [ 417909.995892545382958, 4566919.999742773361504 ], [ 417909.997302510892041, 4566879.99541050195694 ], [ 421529.997950137592852, 4566880.002808516845107 ], [ 421530.001780850812793, 4569149.998404590412974 ], [ 424909.997735905344598, 4569149.99886467307806 ], [ 424909.998021158913616, 4569119.999006857164204 ], [ 428539.996776244137436, 4569119.997818277217448 ], [ 428539.997063628572505, 4571399.997940383851528 ], [ 432049.999587558093481, 4571400.005365590564907 ], [ 432049.998252450313885, 4573710.000159002840519 ], [ 432069.997094223625027, 4573710.001862453296781 ], [ 432070.003771123767365, 4576020.004969835281372 ], [ 432089.996148600010201, 4576019.995550044812262 ], [ 432089.999220705183689, 4578309.99992694798857 ], [ 435599.999693800520618, 4578309.997087402269244 ], [ 435599.998053866147529, 4580620.004926175810397 ], [ 435620.002645967295393, 4580620.004860573448241 ], [ 435620.000208478188142, 4582899.999340737238526 ], [ 439119.996160004404373, 4582900.001367191784084 ], [ 439120.001291693770327, 4585210.003920141607523 ], [ 439140.001282509416342, 4585210.002260192297399 ], [ 439139.995867694611661, 4587529.994601557031274 ], [ 439159.997894499567337, 4587530.00395957287401 ], [ 439160.004062367079314, 4589810.001507630571723 ], [ 442530.000156055553816, 4589809.997306167148054 ], [ 442530.00382461521076, 4589779.997953494079411 ], [ 446130.001585977210198, 4589780.002487344667315 ], [ 446129.999093741760589, 4592070.005308855324984 ], [ 449629.996164548618253, 4592070.004920657724142 ], [ 449630.003394323750399, 4594359.997796197421849 ], [ 453119.995935025974177, 4594359.998247258365154 ], [ 453119.997189430170693, 4596650.004741185344756 ], [ 456609.99773196055321, 4596650.000451013445854 ], [ 456610.000726692378521, 4598950.002813678234816 ], [ 460099.99754756281618, 4598949.996267548762262 ], [ 460099.996403141471092, 4601240.000248851254582 ], [ 463470.004040822910611, 4601240.002119429409504 ], [ 463470.002614246332087, 4601219.995671994052827 ], [ 467059.996796686551534, 4601219.998766678385437 ], [ 467059.999982868495863, 4603519.999892676249146 ], [ 470539.996797018218786, 4603519.999294839799404 ], [ 470539.998519478423987, 4605819.997859071940184 ], [ 473899.997286544530652, 4605819.995560482144356 ], [ 473900.002683516475372, 4605810.003486283123493 ], [ 477489.996206543350127, 4605810.003761337138712 ], [ 477490.000285843154415, 4608110.00355535838753 ], [ 480969.999398654268589, 4608110.002983216196299 ], [ 480969.997662437905092, 4610419.995906699448824 ], [ 484450.004105352680199, 4610419.998172907158732 ], [ 484449.999565707694273, 4612720.001347167417407 ], [ 487919.996408737672027, 4612720.003600304014981 ], [ 487919.99991856579436, 4615030.002334136515856 ], [ 491279.998622754123062, 4615030.002395627088845 ], [ 491390.001954175997525, 4615030.002677500247955 ], [ 494859.997397566039581, 4615029.994888750836253 ], [ 494859.998204253613949, 4617339.995969426818192 ], [ 498320.002877864753827, 4617340.00338810030371 ], [ 498320.004065642599016, 4619650.000563970766962 ], [ 498319.996612298826221, 4619760.002755343914032 ], [ 498319.997508186090272, 4621959.995032800361514 ], [ 501680.002491815306712, 4621959.995032800361514 ], [ 501789.998949421918951, 4621959.999504533596337 ], [ 505249.999806352076121, 4621960.003268904052675 ], [ 505250.000770893297158, 4624279.999588990584016 ], [ 505250.003098135115579, 4624390.002641353756189 ], [ 505249.998970568820368, 4626590.001034764572978 ], [ 508709.998721669020597, 4626589.995558767579496 ], [ 508710.001787815941498, 4628910.000146590173244 ], [ 508710.00045798427891, 4629020.004113996401429 ], [ 508709.997469930851366, 4631219.998670036904514 ], [ 512159.996690591971856, 4631220.00508249271661 ], [ 512160.000833974627312, 4633530.004579707980156 ], [ 512160.000388750224374, 4633539.996952931396663 ], [ 515620.001280720869545, 4633540.000087545253336 ], [ 515619.995960660744458, 4633550.003573856316507 ], [ 519080.003980177105404, 4633549.998664556071162 ], [ 519080.003515087766573, 4635980.004867779091001 ], [ 519069.996198058826849, 4635980.000271997414529 ], [ 519069.998285189678427, 4638289.994772457517684 ], [ 519060.00247995153768, 4638290.001304872334003 ], [ 519059.997541540360544, 4640489.997505271807313 ], [ 519060.001267265179195, 4640600.004187894053757 ], [ 519059.996458395558875, 4642810.000967000611126 ], [ 522509.999339667439926, 4642809.998163257725537 ], [ 522510.000038274854887, 4645240.003090493381023 ], [ 522499.997391752433032, 4645240.004700994119048 ], [ 522500.000696140457876, 4647549.99580058362335 ], [ 519039.997266063117422, 4647549.994903248734772 ], [ 519040.001240184821654, 4649859.998175339773297 ], [ 519029.996855694218539, 4649860.004629651084542 ], [ 519029.996929907181766, 4652050.00379344355315 ], [ 519029.997554082074203, 4652170.005184617824852 ], [ 519029.999993221077602, 4654480.003055960871279 ], [ 519020.002159018535167, 4654479.998400001786649 ], [ 519019.999138670449611, 4656679.995175363495946 ], [ 519019.999247840140015, 4656799.997440366074443 ], [ 519020.000076966534834, 4659110.001052581705153 ], [ 519010.000511741091032, 4659109.996367 ], [ 519009.998058468743693, 4661419.997264359146357 ], [ 515559.996306445449591, 4661419.995547413825989 ], [ 515559.999598079186399, 4663729.998753931373358 ], [ 512109.997341105190571, 4663730.000142090953887 ], [ 512110.001144988753367, 4666030.002869985997677 ], [ 512100.003176541649736, 4666029.996819058433175 ], [ 512099.995989423419815, 4668230.000924874097109 ], [ 512099.996533347351942, 4668350.00480177719146 ], [ 512100.002533704100642, 4670540.001813357695937 ], [ 512100.002878058119677, 4670659.995023642666638 ], [ 512099.996740460454021, 4672970.004739842377603 ], [ 512090.000358054472599, 4672969.998668377287686 ], [ 512090.000820867193397, 4675170.004639260470867 ], [ 512090.000151145213749, 4675179.997667359188199 ], [ 515410.001527560758404, 4675180.00242150016129 ], [ 515530.003466033376753, 4675179.999830647371709 ], [ 518970.002240717876703, 4675179.996384032070637 ], [ 518970.000020056962967, 4675190.000558491796255 ], [ 522399.998622461629566, 4675190.004086824133992 ], [ 522400.000266119081061, 4677500.004215347580612 ], [ 522400.001420937129296, 4677509.997364286333323 ], [ 525829.99947360495571, 4677510.005154360085726 ], [ 525830.000285936519504, 4679830.004388672299683 ], [ 525829.996113847009838, 4679950.000736095942557 ], [ 525829.99945483810734, 4682260.004564309492707 ], [ 525819.999619728769176, 4682260.00108377635479 ], [ 525820.0027694364544, 4684470.002663932740688 ], [ 529239.996677974006161, 4684470.001227734610438 ], [ 529239.998179689864628, 4686899.99612751789391 ], [ 525799.999943950911984, 4686900.002493485808372 ], [ 525799.998255675309338, 4689200.004919460043311 ], [ 522250.000060586375184, 4689199.99718530010432 ], [ 522249.998864828492515, 4689190.003853235393763 ], [ 518819.999398283078335, 4689189.996079838834703 ], [ 518820.001544102677144, 4689180.002789015881717 ], [ 515499.998763890180271, 4689179.99641134031117 ], [ 515499.998215540894307, 4691490.000734216533601 ], [ 515490.003433232719544, 4691490.000813520513475 ], [ 515490.003183229127899, 4693680.00459792278707 ], [ 515490.0007793593104, 4693800.002432932145894 ], [ 515490.000947937602177, 4696110.001376314088702 ], [ 515479.996311033028178, 4696110.001416007988155 ], [ 515479.996873106167186, 4698430.002182899974287 ], [ 512050.003745893889572, 4698430.003595917485654 ], [ 512049.997334080631845, 4700729.998855204321444 ], [ 508620.000518009590451, 4700730.004589883610606 ], [ 508509.998230041004717, 4700730.002823447808623 ], [ 505190.002156599599402, 4700729.997330337762833 ], [ 505190.001643972995225, 4703039.999380783177912 ], [ 501659.996570607414469, 4703039.997791511006653 ], [ 501659.998949535016436, 4703030.004355877637863 ], [ 498340.001050466380548, 4703030.004355877637863 ], [ 498340.003429393982515, 4703039.997791511006653 ], [ 498340.002923028368969, 4705349.995899046771228 ], [ 494810.000686485785991, 4705349.998742398805916 ], [ 494809.998356028401759, 4703039.999380783177912 ], [ 491490.000090629037004, 4703039.99613337777555 ], [ 491490.004080542305019, 4703050.000684350728989 ], [ 488070.000250393117312, 4703050.005161173641682 ], [ 487949.998514574952424, 4703050.000520242378116 ], [ 484530.001565692131408, 4703049.997826166450977 ], [ 484530.0002828479046, 4700739.995821663178504 ], [ 484520.002276709186845, 4700739.995785131119192 ], [ 484520.003126895229798, 4698430.002182899974287 ], [ 481209.997818284726236, 4698429.995773221366107 ], [ 481210.000062493258156, 4698440.000313299708068 ], [ 477780.002301683940459, 4698440.000351537950337 ], [ 477780.000133156718221, 4698459.998410461470485 ], [ 474230.002810933743604, 4698460.004094403237104 ], [ 474229.999724113382399, 4696160.001395607367158 ], [ 470799.996554717537947, 4696159.999980916269124 ], [ 470800.000194580235984, 4693839.997826548293233 ], [ 470790.000327051617205, 4693839.995169973000884 ], [ 470790.003297571674921, 4691529.994948826730251 ], [ 470780.000174128392246, 4691530.003393727354705 ], [ 470780.002363384119235, 4689230.004996289499104 ], [ 467469.999372909602243, 4689229.995036065578461 ], [ 467469.99701680848375, 4691559.995541848242283 ], [ 464040.003835226467345, 4691560.0007363576442 ], [ 464039.999558019859251, 4691579.99895113799721 ], [ 460480.002960961719509, 4691579.997374529018998 ], [ 460479.996441946015693, 4689290.000354449264705 ], [ 457169.999155855388381, 4689289.994606920517981 ], [ 457169.9990809133742, 4691620.002516300417483 ], [ 453760.000503624731209, 4691620.004364653490484 ], [ 453759.998864514462184, 4693959.997225750237703 ], [ 450350.002378431148827, 4693960.000752565450966 ], [ 450349.998215901374351, 4696299.997290320694447 ], [ 446940.002377289056312, 4696300.004905682988465 ], [ 446939.998042466701008, 4698639.995244666002691 ], [ 443509.997397139843088, 4698640.004583415575325 ], [ 443510.001493452466093, 4698669.997902176342905 ], [ 440100.000718085269909, 4698669.999022000469267 ], [ 440099.997190834896173, 4701010.005487641319633 ], [ 436549.999106808274519, 4701010.000099576078355 ], [ 436549.999628385936376, 4698730.002902245149016 ], [ 433230.001832546549849, 4698729.998398385941982 ], [ 433230.000842347566504, 4698760.003722037188709 ], [ 429800.000380365352612, 4698759.995138574391603 ], [ 429799.999446823610924, 4698799.995254378765821 ], [ 426239.998015502351336, 4698800.000585450790823 ], [ 426240.001511410577223, 4696480.005264733918011 ], [ 426219.998114679707214, 4696480.005435697734356 ], [ 426219.99696162273176, 4694210.002368176355958 ], [ 422760.001083247887436, 4694210.005234251730144 ], [ 422760.002435156609863, 4691930.000370306894183 ], [ 419440.000530096876901, 4691929.995924040675163 ], [ 419439.999901027418673, 4691969.996997968293726 ], [ 416039.996533575467765, 4691969.994818395934999 ], [ 416040.002231530845165, 4694180.002120051532984 ], [ 416069.998140885378234, 4694179.997429906390607 ], [ 416069.99599594733445, 4696489.994922288693488 ], [ 416090.000464537064545, 4696489.999010337516665 ], [ 416090.00116043293383, 4698760.002945126965642 ], [ 419550.004070317256264, 4698759.996860145591199 ], [ 419550.003301678749267, 4701079.99889334384352 ], [ 419570.00246272579534, 4701080.001563470810652 ], [ 419569.998460318194702, 4703389.995072095654905 ], [ 419600.003773199161515, 4703390.004411256872118 ], [ 419599.998485042597167, 4705849.996932337060571 ], [ 416179.996921756421216, 4705849.998369162902236 ], [ 416180.001520691614132, 4705890.0007638130337 ], [ 412610.001675550010987, 4705889.995506602339447 ], [ 412610.00400779908523, 4703579.998637169599533 ], [ 412590.00313193211332, 4703580.005018277093768 ], [ 412589.995942459325306, 4701309.997257302515209 ], [ 409299.999064029077999, 4701309.996620529331267 ], [ 409300.002542652888224, 4703670.003056754358113 ], [ 405910.001908303413074, 4703670.001938638277352 ], [ 405910.001871507905889, 4706029.995207860134542 ], [ 402480.001971088466235, 4706030.003292376175523 ], [ 402480.003266443090979, 4706080.00359267462045 ], [ 399060.003463010129053, 4706080.000285448506474 ], [ 399059.996437950292602, 4706130.001473019830883 ], [ 395669.998725211597048, 4706129.994545386172831 ], [ 395670.003516548254993, 4708500.001124403439462 ], [ 392249.998376566683874, 4708500.00166028086096 ], [ 392249.999971287150402, 4708550.004519456066191 ], [ 388680.000396680668928, 4708550.00526075810194 ], [ 388679.998422478791326, 4706239.995664330199361 ], [ 388639.997384668502491, 4706240.001824867911637 ], [ 388639.997913881554268, 4703980.003962118178606 ], [ 385330.001018837559968, 4703980.000501537695527 ], [ 385330.00126812257804, 4704040.001143451780081 ], [ 381900.001646021613851, 4704040.001887179911137 ], [ 381900.001671063597314, 4704089.995922016911209 ], [ 378329.996503428614233, 4704090.004664490930736 ], [ 378330.000780243834015, 4701779.997946492396295 ], [ 378290.003763648797758, 4701779.995792008005083 ], [ 378289.997569005819969, 4699530.000110605731606 ], [ 375010.000866054266226, 4699529.99996623583138 ], [ 375010.00276995904278, 4701729.99644526746124 ], [ 375050.001197638455778, 4701730.00201512593776 ], [ 375050.001932621526066, 4704050.002961907535791 ], [ 375090.003300865355413, 4704049.997079554013908 ], [ 375090.00360176799586, 4706359.998436810448766 ], [ 375130.000132720277179, 4706360.00345931854099 ], [ 375129.998110981367063, 4708670.002182312309742 ], [ 375179.997682514076587, 4708670.005287317559123 ], [ 375179.996920612407848, 4710989.99825104419142 ], [ 375219.999710192845669, 4710990.002637329511344 ], [ 375219.99820568272844, 4713299.995910088531673 ], [ 375259.995921425928827, 4713300.000097844749689 ], [ 375260.000578183971811, 4715610.001694014295936 ], [ 375300.001216010539792, 4715609.994431846775115 ], [ 375299.996078632771969, 4718099.99830134678632 ], [ 371930.002060869126581, 4718099.9976029638201 ], [ 371930.002604694454931, 4720300.00138823967427 ], [ 371970.002016206446569, 4720299.99612448643893 ], [ 371969.996119249961339, 4722610.001791403628886 ], [ 372009.998606345441658, 4722609.99616695381701 ], [ 372009.996164272713941, 4724929.996597819030285 ], [ 372050.001858230913058, 4724930.001716216094792 ], [ 372050.002973850932904, 4727420.001804465427995 ], [ 368679.996778633387294, 4727419.995406663045287 ], [ 368679.998685762635432, 4729619.997916657477617 ], [ 368729.997981231543235, 4729620.004082954488695 ], [ 368729.997978776227683, 4732109.994635638780892 ], [ 365319.998159940703772, 4732110.000325763598084 ], [ 365320.002790732192807, 4732179.997365828603506 ], [ 361909.998776077700313, 4732179.996777870692313 ], [ 361910.001978000160307, 4732239.997112035751343 ], [ 358490.002413412323222, 4732239.994584398344159 ], [ 358490.002770814229734, 4732320.004256727173924 ], [ 355079.998591502720956, 4732319.995668645948172 ], [ 355080.000537699088454, 4732389.997323331423104 ], [ 351670.001076796441339, 4732390.004272689111531 ], [ 351669.996398883056827, 4732459.996552900411189 ], [ 348310.003249268862419, 4732459.998859751969576 ], [ 348310.001546954270452, 4734669.99569027684629 ], [ 348359.998437807313167, 4734669.997520169243217 ], [ 348360.001299253781326, 4736980.00489969085902 ], [ 348409.997586236975621, 4736979.995200059376657 ], [ 348410.0005134959938, 4739479.996276296675205 ], [ 345010.002870257012546, 4739480.000262338668108 ], [ 345010.000863404304255, 4739559.996015564538538 ], [ 341599.997178570600227, 4739559.994847289286554 ], [ 341600.001675931969658, 4739630.003806365653872 ], [ 338189.999733448261395, 4739629.999336093664169 ], [ 338190.000637128890958, 4739719.998924341052771 ], [ 334839.99990145873744, 4739719.998526304028928 ], [ 334839.998836374492384, 4742109.997251529246569 ], [ 331429.996322864317335, 4742109.994594608433545 ], [ 331429.997877597576007, 4742199.999122215434909 ], [ 328079.998707126243971, 4742199.997209586203098 ], [ 328080.003070999518968, 4744599.99742369633168 ], [ 324740.003243182552978, 4744599.996873980388045 ], [ 324740.001071190228686, 4747000.004063602536917 ], [ 321329.999455947952811, 4747000.002661763690412 ], [ 321329.998713908833452, 4747090.004090500064194 ], [ 317989.997186739521567, 4747089.995378653518856 ], [ 317990.003084707597736, 4749490.000209673307836 ], [ 314579.998911735136062, 4749489.997400709427893 ], [ 314579.999222087848466, 4749580.004236647859216 ], [ 311179.998175882035866, 4749579.994770896621048 ], [ 311179.998728081292938, 4749679.995394786819816 ], [ 307600.003941535833292, 4749680.00098046194762 ], [ 307600.003675098065287, 4747360.003268215805292 ], [ 307540.001236588694155, 4747360.003597786650062 ], [ 307540.002099816862028, 4745049.994736094027758 ], [ 307470.000334074080456, 4745049.996187440119684 ], [ 307469.99750374420546, 4742739.995737880468369 ], [ 307410.003856625349727, 4742739.994526907801628 ], [ 307410.002142775396351, 4740520.002351873554289 ], [ 303939.996527199749835, 4740520.004171430133283 ], [ 303939.996950091270264, 4738209.99525838997215 ], [ 303869.996281434490811, 4738209.995596446096897 ], [ 303869.999892057501711, 4735690.005455992184579 ], [ 307220.003284871403594, 4735689.998508241958916 ], [ 307220.002461351105012, 4733480.0001235390082 ], [ 307149.997831429122016, 4733479.997815418988466 ], [ 307150.001692029531114, 4731169.994944010861218 ], [ 307089.997829367290251, 4731170.00184123031795 ], [ 307090.00078568700701, 4728859.996386276558042 ], [ 307019.99884836061392, 4728860.003605985082686 ], [ 307019.99791779514635, 4726540.00433418340981 ], [ 306960.002769037499093, 4726539.998574681580067 ], [ 306960.000522681511939, 4724019.99749200232327 ], [ 310309.99762822012417, 4724020.002515064552426 ], [ 310309.998725690646097, 4721820.000717034563422 ], [ 310249.998223427450284, 4721819.997573995031416 ], [ 310250.00163074262673, 4719300.000688002444804 ], [ 313599.999956028186716, 4719300.004410004243255 ], [ 313599.996809512434993, 4717100.00512826628983 ], [ 313539.999185122782364, 4717100.004458816722035 ], [ 313540.001272159046493, 4714789.996621919795871 ], [ 313480.000121743418276, 4714789.995399287901819 ], [ 313479.996812836965546, 4712569.997827981598675 ], [ 309990.003623412107117, 4712569.994666039943695 ], [ 309990.001558379852213, 4710250.001308718696237 ], [ 309929.999659133492969, 4710249.995020003058016 ], [ 309929.997192048584111, 4707940.000749167986214 ], [ 309870.000346341170371, 4707940.004766320809722 ], [ 309870.003275506140199, 4705629.996592993848026 ], [ 309810.002984390303027, 4705630.000035014003515 ], [ 309810.002480913884938, 4703309.998859993182123 ], [ 309740.000629846472293, 4703309.996623962186277 ], [ 309740.004212728061248, 4701000.005215355195105 ], [ 309679.996693507710006, 4700999.996484119445086 ], [ 309679.997635264415294, 4698690.002502053044736 ], [ 309620.003485906287096, 4698690.003850108012557 ], [ 309619.998666748637334, 4696169.999073688872159 ], [ 312979.997180158447009, 4696170.000417150557041 ], [ 312979.996232829638757, 4694060.002534439787269 ], [ 309490.003625726210885, 4694060.002098051831126 ], [ 309489.998872359457891, 4691540.004506004974246 ], [ 312860.00122909178026, 4691539.996560169383883 ], [ 312859.996481944806874, 4689340.004736212082207 ], [ 312799.998627575463615, 4689339.996451781131327 ], [ 312799.999963504262269, 4687030.000854985788465 ], [ 312739.999118752079085, 4687030.003114987164736 ], [ 312740.001690876786597, 4684710.003829536959529 ], [ 312669.997867335390765, 4684709.994718017056584 ], [ 312669.996547035232652, 4682400.004803621210158 ], [ 312609.997044750023633, 4682399.994700499810278 ], [ 312609.997779437340796, 4680179.999135013669729 ], [ 309109.996602011146024, 4680180.000773190520704 ], [ 309109.997530004475266, 4677860.003531662747264 ], [ 309049.998173501633573, 4677859.999236355535686 ], [ 309050.003597154514864, 4675550.000423416495323 ], [ 308990.001052792416885, 4675549.995545651763678 ], [ 308990.003696217900142, 4673240.005263747647405 ], [ 308919.998554535675794, 4673240.004457321017981 ], [ 308919.996098007308319, 4670919.999291473999619 ], [ 308860.003966656338889, 4670920.003985585644841 ], [ 308859.997035241511185, 4668609.997379338368773 ], [ 308800.001777517958544, 4668610.001489333808422 ], [ 308800.00020665867487, 4666300.003189912997186 ], [ 308740.001540369761642, 4666299.995611177757382 ], [ 308740.001705509494059, 4664080.003121257759631 ], [ 305230.001056408742443, 4664079.99756074976176 ], [ 305229.999741433304735, 4661770.003035061061382 ], [ 305160.001807548105717, 4661769.999036338180304 ], [ 305160.001087308512069, 4659450.00048372708261 ], [ 305099.999765923013911, 4659449.998076010495424 ], [ 305099.999440250452608, 4657139.998083189129829 ], [ 305040.003365822252817, 4657139.994840838015079 ], [ 305040.001128465635702, 4654830.00337038282305 ], [ 304970.000764279742725, 4654829.997116011567414 ], [ 304969.999552066554315, 4652610.001219311729074 ], [ 301459.998063869774342, 4652610.0026442296803 ], [ 301459.999264451558702, 4650390.003307247534394 ], [ 297939.996419143455569, 4650389.998927799984813 ], [ 297940.001928045472596, 4648179.996372277848423 ], [ 294419.997732226911467, 4648179.99764531198889 ], [ 294419.997611794504337, 4645860.00237331353128 ], [ 294349.998890025715809, 4645859.995053158141673 ], [ 294349.996409919054713, 4643340.004868690855801 ], [ 297739.999184643267654, 4643339.997544868849218 ], [ 297739.9976846287027, 4641139.998973184265196 ], [ 297680.002347785979509, 4641140.004915191791952 ], [ 297679.999651398160495, 4638829.998055350035429 ], [ 297610.001582526834682, 4638829.998725855723023 ], [ 297610.002308438997716, 4636610.001711666584015 ], [ 294079.998940697289072, 4636609.999384769238532 ], [ 294080.003974836668931, 4634399.998021576553583 ], [ 290559.998848053801339, 4634399.997356109321117 ], [ 290560.003596943221055, 4632190.000509522855282 ], [ 287029.998841768945567, 4632190.003640071488917 ], [ 287029.997287099249661, 4629869.996395021677017 ], [ 286960.001338617294095, 4629869.995551879517734 ], [ 286960.001851566601545, 4627670.001175789162517 ], [ 283420.000284559151623, 4627669.99941929616034 ], [ 283420.000884157489054, 4625460.004653253592551 ], [ 279889.996436127112247, 4625460.002250787802041 ], [ 279889.997078755812254, 4623139.999699416570365 ], [ 279820.003411563811824, 4623139.997354805469513 ], [ 279819.999939480156172, 4620940.003439853899181 ], [ 276279.999138204962946, 4620939.996499280445278 ], [ 276280.002257871325128, 4618630.00172832608223 ], [ 276210.002713648369536, 4618629.998339514248073 ], [ 276209.99691184994299, 4616309.998119167052209 ], [ 276129.99895117583219, 4616309.994801048189402 ], [ 276129.997358671273105, 4613999.99462900031358 ], [ 276060.002935790573247, 4614000.000476835295558 ], [ 276059.996198744280264, 4611689.9977807700634 ], [ 275989.995922020170838, 4611690.002907034009695 ], [ 275989.997814268572256, 4609370.005432772450149 ], [ 275919.999594151566271, 4609369.998469384387136 ], [ 275920.003808378707618, 4606840.004129533655941 ], [ 279389.996220199740492, 4606839.99949277471751 ], [ 279389.999166324152611, 4606739.996044894680381 ], [ 282789.997013127780519, 4606739.999400103464723 ], [ 282789.998896222328767, 4604529.999539347365499 ], [ 282720.002369880094193, 4604530.001056025736034 ], [ 282719.996671482105739, 4602219.998580013401806 ], [ 282650.002718261384871, 4602219.999163959175348 ], [ 282649.99798794160597, 4599910.005031771957874 ], [ 282579.99828856025124, 4599910.004933991469443 ], [ 282580.000753337983042, 4597699.995336894877255 ], [ 279219.995812751934864, 4597699.995195892639458 ], [ 279219.996357393101789, 4597809.999421302229166 ], [ 275560.001283041667193, 4597810.001738811843097 ], [ 275560.003623518627137, 4595489.999299502000213 ], [ 275479.999712280521635, 4595489.998178574256599 ], [ 275480.003850513370708, 4593179.995524441823363 ], [ 275409.999263794219587, 4593180.004838 ], [ 275409.997849726642016, 4590869.999659503810108 ], [ 275340.003967205295339, 4590869.996622019447386 ], [ 275339.99615954014007, 4588549.997447296977043 ], [ 275269.996889336325694, 4588550.004780287854373 ], [ 275270.001621238421649, 4586240.005170091986656 ], [ 275199.996389915817417, 4586240.000669984146953 ], [ 275200.003795931406785, 4583929.998275693506002 ], [ 275130.00167629646603, 4583930.003888672217727 ], [ 275130.002900246588979, 4581609.996482594870031 ], [ 275049.996334621449932, 4581610.000452139414847 ], [ 275049.998087326181121, 4579300.00375843141228 ], [ 274980.001129637472332, 4579299.996378472074866 ], [ 274979.999054395477287, 4576769.999268997460604 ], [ 278399.997629917925224, 4576770.003846218809485 ], [ 278399.99677499209065, 4574570.003328936174512 ], [ 278329.999838451389223, 4574570.004993795417249 ], [ 278329.999531494919211, 4572249.998890902847052 ], [ 278259.997012350359, 4572249.999839608557522 ], [ 278259.999436306883581, 4570050.003661084920168 ], [ 274700.000972077948973, 4570049.997816018760204 ], [ 274699.998949033906683, 4567739.998854925855994 ], [ 274619.998831060831435, 4567739.996526325121522 ], [ 274620.000799911678769, 4565529.994767319411039 ], [ 271060.002138829790056, 4565529.995167239569128 ], [ 271059.996654537622817, 4563220.000038371421397 ], [ 270990.001100542838685, 4563219.997616765089333 ], [ 270989.999972410209011, 4561020.00515943672508 ], [ 267419.997248710074928, 4561019.998752169311047 ], [ 267420.00193621055223, 4558810.000860259868205 ], [ 263840.001029406790622, 4558810.000823309645057 ], [ 263840.001176272693556, 4556500.000845870003104 ], [ 263770.001279814634472, 4556499.996174230240285 ], [ 263769.998978882562369, 4554190.004748200066388 ], [ 263689.997872665117029, 4554189.999974139966071 ], [ 263689.997966742375866, 4551880.005591752938926 ], [ 263619.995860045775771, 4551879.999132259748876 ], [ 263619.998241963214241, 4549559.998986106365919 ], [ 263549.999532276531681, 4549560.002546980045736 ], [ 263550.002523457747884, 4547250.002822532318532 ], [ 263470.001241435762495, 4547249.994804104790092 ], [ 263469.996753003913909, 4544710.001930739730597 ], [ 266899.998660654993728, 4544709.995539820753038 ], [ 266900.002561087254435, 4542510.001138587482274 ], [ 266829.998979276162572, 4542510.002003152854741 ], [ 266830.00240227393806, 4539979.997971673496068 ], [ 270260.002146412734874, 4539979.996487775817513 ], [ 270260.002589579438791, 4537770.004098331555724 ], [ 270189.999427016300615, 4537770.003073492087424 ], [ 270189.99767816363601, 4535569.9982770383358 ], [ 266610.000788830337115, 4535569.994448252022266 ], [ 266609.999087586184032, 4533260.004921487532556 ], [ 266530.0012328834855, 4533259.99674732517451 ], [ 266530.000405042606872, 4530950.004277559928596 ], [ 266459.996259685605764, 4530950.000578369945288 ], [ 266460.003071049344726, 4528630.00281763356179 ], [ 266390.002179865608923, 4528629.998055453412235 ], [ 266390.001134499034379, 4526320.000262588262558 ], [ 266310.004168896004558, 4526320.000007599592209 ], [ 266310.003875993366819, 4524009.999271171167493 ], [ 266240.001669585006312, 4524010.00385332480073 ], [ 266240.001156451588031, 4521689.998178884387016 ], [ 266170.002276784274727, 4521690.001695977523923 ], [ 266170.00150065345224, 4519379.995635351166129 ], [ 266089.997222773963585, 4519380.003558792173862 ], [ 266090.002230773156043, 4517179.996180085465312 ], [ 262690.001900706673041, 4517179.999341526068747 ], [ 262689.998549310083035, 4517290.005018190480769 ], [ 258990.0023488937004, 4517289.999087851494551 ], [ 258990.003152894525556, 4514979.999835666269064 ], [ 258910.002193510037614, 4514980.003671479411423 ], [ 258909.997388604213484, 4512670.001720394939184 ], [ 258839.998918585537467, 4512670.001266948878765 ], [ 258839.996466146956664, 4510129.999176405370235 ], [ 262360.003940176975448, 4510129.998252022080123 ], [ 262359.997315034037456, 4510020.005129186436534 ], [ 265799.999961054883897, 4510019.998885232955217 ], [ 265800.001875101123005, 4507589.999358547851443 ], [ 269250.001308661769144, 4507589.999755456112325 ], [ 269249.997147156042047, 4505499.99487166851759 ], [ 265659.996016858611256, 4505500.005624862387776 ], [ 265659.998812538688071, 4503190.002414025366306 ], [ 265579.997283428208902, 4503190.002827920019627 ], [ 265580.001144065987319, 4500659.998710844665766 ], [ 269039.999846224265639, 4500660.000822782516479 ], [ 269039.999021777242888, 4498229.999541094526649 ], [ 272559.997503111837432, 4498229.998769164085388 ], [ 272559.999365829920862, 4498129.997881448827684 ], [ 276020.00398585095536, 4498129.998181630857289 ], [ 276019.998747740872204, 4495709.995156968943775 ], [ 279480.003921187715605, 4495710.000106263905764 ], [ 279480.002761899260804, 4493509.996527491137385 ], [ 279409.997268736362457, 4493510.001134619116783 ], [ 279409.996400331787299, 4490980.002467009238899 ], [ 282869.997980243409984, 4490979.996050633490086 ], [ 282870.001439255196601, 4488570.001779474318027 ], [ 286399.995912368409336, 4488570.002100352197886 ], [ 286400.000835966260638, 4488470.00472635962069 ], [ 289929.999966211675201, 4488469.994999750517309 ], [ 289930.001354870502837, 4488370.000910380855203 ], [ 293630.002475327230059, 4488370.002074592746794 ], [ 293629.999921411275864, 4490580.002789653837681 ] ] ] } } -] -} +{ +"type": "FeatureCollection", +"name": "z", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::25831" } }, +"features": [ +{ "type": "Feature", "properties": { "gid": 4282 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 293629.999921411275864, 4490580.002789653837681 ], [ 297050.000368323642761, 4490579.997195045463741 ], [ 297050.001579137868248, 4490489.996665474958718 ], [ 300580.003604751080275, 4490490.005214287899435 ], [ 300580.000258714018855, 4490389.997901474125683 ], [ 304280.003194940974936, 4490390.002481003291905 ], [ 304280.003125318558887, 4492619.996091452427208 ], [ 307870.000012289616279, 4492619.998697898350656 ], [ 307870.000981729652267, 4494929.997033353894949 ], [ 307929.999906361277681, 4494930.005183403380215 ], [ 307929.999896695720963, 4497149.996292104013264 ], [ 311509.997423446038738, 4497149.997228164225817 ], [ 311510.001104423543438, 4499460.001682722941041 ], [ 311570.00327001628466, 4499460.003503845073283 ], [ 311570.001408667187206, 4501690.000568738207221 ], [ 314980.003574479720555, 4501689.994387766346335 ], [ 314979.997665139730088, 4501600.005537242628634 ], [ 318670.004081056336872, 4501600.003936660476029 ], [ 318669.996059918077663, 4503829.996273356489837 ], [ 322250.002006394846831, 4503830.003603887744248 ], [ 322249.995976297243033, 4506139.997896730899811 ], [ 322309.996525163762271, 4506140.005427993834019 ], [ 322309.995708533097059, 4508449.996754446998239 ], [ 322360.003047761856578, 4508449.998659706674516 ], [ 322359.996930449211504, 4510769.995689246803522 ], [ 322420.002279297332279, 4510770.001892928034067 ], [ 322420.004129628709052, 4513279.997770846821368 ], [ 318959.998312293086201, 4513279.998713287524879 ], [ 318960.000497145985719, 4515670.002232300117612 ], [ 315499.996672515640967, 4515670.003469483926892 ], [ 315500.003973463200964, 4517879.998942817561328 ], [ 315559.998565517307725, 4517880.002174580469728 ], [ 315560.001673899008892, 4520389.995605164207518 ], [ 312099.999336293200031, 4520390.002159419469535 ], [ 312099.998249960539397, 4522590.00007220543921 ], [ 312159.999036768160295, 4522589.995572841726243 ], [ 312159.998133870773017, 4524819.995514702051878 ], [ 315730.003251336282119, 4524820.002409132197499 ], [ 315729.99851874099113, 4527040.005525114946067 ], [ 319300.002123585785739, 4527039.996810395270586 ], [ 319300.00018315075431, 4529360.001348619349301 ], [ 319350.003006946993992, 4529359.997263281606138 ], [ 319350.001734117628075, 4531579.999717375263572 ], [ 322920.003328284597956, 4531580.005381980910897 ], [ 322919.9993209624663, 4533899.997424726374447 ], [ 322970.003389921737835, 4533900.004997849464417 ], [ 322969.99745760706719, 4536129.99450995400548 ], [ 326539.99789402942406, 4536129.997103706933558 ], [ 326539.996175345499068, 4538440.002652183175087 ], [ 326590.00092294922797, 4538439.999752507545054 ], [ 326590.002431458095089, 4540670.001628323458135 ], [ 330149.998354218027089, 4540670.004636017605662 ], [ 330150.000307747803163, 4542900.001081093214452 ], [ 333700.001508646178991, 4542899.997071694582701 ], [ 333699.99623292835895, 4545139.997567443177104 ], [ 337100.001468517410103, 4545139.996162881143391 ], [ 337099.998546322342008, 4545060.000766530632973 ], [ 340759.997631872189231, 4545060.000280058011413 ], [ 340759.999287982005626, 4547299.998257901519537 ], [ 344100.003238738630898, 4547300.005361592397094 ], [ 344100.000588739407249, 4544910.004418919794261 ], [ 347760.001433138386346, 4544909.998109306208789 ], [ 347760.000284914160147, 4547150.001621010713279 ], [ 351309.998403845296707, 4547150.000069503672421 ], [ 351310.002945269341581, 4549390.00495124887675 ], [ 354860.003204962937161, 4549390.004955785349011 ], [ 354859.999231519526802, 4551639.997131397947669 ], [ 358240.003397328662686, 4551639.994524493813515 ], [ 358239.999770033522509, 4551570.004712752997875 ], [ 361899.998132339562289, 4551570.004224221222103 ], [ 361900.000918664620258, 4553819.996759654022753 ], [ 365280.002360919723287, 4553820.001070491038263 ], [ 365279.99735008738935, 4553750.002853703685105 ], [ 368929.997361255227588, 4553750.000101866200566 ], [ 368930.000172720814589, 4556010.003876549191773 ], [ 372320.001091000332963, 4556009.995943509973586 ], [ 372320.001818176126108, 4555949.994790203869343 ], [ 375969.999741306179203, 4555949.994860551320016 ], [ 375969.997183802479412, 4558200.002737599425018 ], [ 379350.002133705536835, 4558199.997378746978939 ], [ 379350.000816280022264, 4558139.998301415704191 ], [ 382849.996776967891492, 4558139.997502004727721 ], [ 382850.000164678727742, 4558090.004653215408325 ], [ 386489.999148386297747, 4558090.002877465449274 ], [ 386490.003595501999371, 4560350.002286480739713 ], [ 389869.996903902560007, 4560349.998095746152103 ], [ 389869.997065437433776, 4560299.995734633877873 ], [ 393369.998701087664813, 4560300.002004060894251 ], [ 393370.002459722338244, 4560239.995665455237031 ], [ 397010.002311483374797, 4560240.002989424392581 ], [ 397010.003538843418937, 4562510.003822200000286 ], [ 400529.997821127064526, 4562509.99527361150831 ], [ 400530.001437418919522, 4564780.002830043435097 ], [ 403909.997868836915586, 4564779.995538351126015 ], [ 403910.000617597368546, 4564729.995909855701029 ], [ 407399.99859925894998, 4564730.002128703519702 ], [ 407400.001438070030417, 4564689.996329184621572 ], [ 411030.002361328166444, 4564689.99631607811898 ], [ 411030.001289357664064, 4566960.00368077494204 ], [ 414420.00266360072419, 4566960.001097338274121 ], [ 414420.001651691854931, 4566919.996283822692931 ], [ 417909.995892545382958, 4566919.999742773361504 ], [ 417909.997302510892041, 4566879.99541050195694 ], [ 421529.997950137592852, 4566880.002808516845107 ], [ 421530.001780850812793, 4569149.998404590412974 ], [ 424909.997735905344598, 4569149.99886467307806 ], [ 424909.998021158913616, 4569119.999006857164204 ], [ 428539.996776244137436, 4569119.997818277217448 ], [ 428539.997063628572505, 4571399.997940383851528 ], [ 432049.999587558093481, 4571400.005365590564907 ], [ 432049.998252450313885, 4573710.000159002840519 ], [ 432069.997094223625027, 4573710.001862453296781 ], [ 432070.003771123767365, 4576020.004969835281372 ], [ 432089.996148600010201, 4576019.995550044812262 ], [ 432089.999220705183689, 4578309.99992694798857 ], [ 435599.999693800520618, 4578309.997087402269244 ], [ 435599.998053866147529, 4580620.004926175810397 ], [ 435620.002645967295393, 4580620.004860573448241 ], [ 435620.000208478188142, 4582899.999340737238526 ], [ 439119.996160004404373, 4582900.001367191784084 ], [ 439120.001291693770327, 4585210.003920141607523 ], [ 439140.001282509416342, 4585210.002260192297399 ], [ 439139.995867694611661, 4587529.994601557031274 ], [ 439159.997894499567337, 4587530.00395957287401 ], [ 439160.004062367079314, 4589810.001507630571723 ], [ 442530.000156055553816, 4589809.997306167148054 ], [ 442530.00382461521076, 4589779.997953494079411 ], [ 446130.001585977210198, 4589780.002487344667315 ], [ 446129.999093741760589, 4592070.005308855324984 ], [ 449629.996164548618253, 4592070.004920657724142 ], [ 449630.003394323750399, 4594359.997796197421849 ], [ 453119.995935025974177, 4594359.998247258365154 ], [ 453119.997189430170693, 4596650.004741185344756 ], [ 456609.99773196055321, 4596650.000451013445854 ], [ 456610.000726692378521, 4598950.002813678234816 ], [ 460099.99754756281618, 4598949.996267548762262 ], [ 460099.996403141471092, 4601240.000248851254582 ], [ 463470.004040822910611, 4601240.002119429409504 ], [ 463470.002614246332087, 4601219.995671994052827 ], [ 467059.996796686551534, 4601219.998766678385437 ], [ 467059.999982868495863, 4603519.999892676249146 ], [ 470539.996797018218786, 4603519.999294839799404 ], [ 470539.998519478423987, 4605819.997859071940184 ], [ 473899.997286544530652, 4605819.995560482144356 ], [ 473900.002683516475372, 4605810.003486283123493 ], [ 477489.996206543350127, 4605810.003761337138712 ], [ 477490.000285843154415, 4608110.00355535838753 ], [ 480969.999398654268589, 4608110.002983216196299 ], [ 480969.997662437905092, 4610419.995906699448824 ], [ 484450.004105352680199, 4610419.998172907158732 ], [ 484449.999565707694273, 4612720.001347167417407 ], [ 487919.996408737672027, 4612720.003600304014981 ], [ 487919.99991856579436, 4615030.002334136515856 ], [ 491279.998622754123062, 4615030.002395627088845 ], [ 491390.001954175997525, 4615030.002677500247955 ], [ 494859.997397566039581, 4615029.994888750836253 ], [ 494859.998204253613949, 4617339.995969426818192 ], [ 498320.002877864753827, 4617340.00338810030371 ], [ 498320.004065642599016, 4619650.000563970766962 ], [ 498319.996612298826221, 4619760.002755343914032 ], [ 498319.997508186090272, 4621959.995032800361514 ], [ 501680.002491815306712, 4621959.995032800361514 ], [ 501789.998949421918951, 4621959.999504533596337 ], [ 505249.999806352076121, 4621960.003268904052675 ], [ 505250.000770893297158, 4624279.999588990584016 ], [ 505250.003098135115579, 4624390.002641353756189 ], [ 505249.998970568820368, 4626590.001034764572978 ], [ 508709.998721669020597, 4626589.995558767579496 ], [ 508710.001787815941498, 4628910.000146590173244 ], [ 508710.00045798427891, 4629020.004113996401429 ], [ 508709.997469930851366, 4631219.998670036904514 ], [ 512159.996690591971856, 4631220.00508249271661 ], [ 512160.000833974627312, 4633530.004579707980156 ], [ 512160.000388750224374, 4633539.996952931396663 ], [ 515620.001280720869545, 4633540.000087545253336 ], [ 515619.995960660744458, 4633550.003573856316507 ], [ 519080.003980177105404, 4633549.998664556071162 ], [ 519080.003515087766573, 4635980.004867779091001 ], [ 519069.996198058826849, 4635980.000271997414529 ], [ 519069.998285189678427, 4638289.994772457517684 ], [ 519060.00247995153768, 4638290.001304872334003 ], [ 519059.997541540360544, 4640489.997505271807313 ], [ 519060.001267265179195, 4640600.004187894053757 ], [ 519059.996458395558875, 4642810.000967000611126 ], [ 522509.999339667439926, 4642809.998163257725537 ], [ 522510.000038274854887, 4645240.003090493381023 ], [ 522499.997391752433032, 4645240.004700994119048 ], [ 522500.000696140457876, 4647549.99580058362335 ], [ 519039.997266063117422, 4647549.994903248734772 ], [ 519040.001240184821654, 4649859.998175339773297 ], [ 519029.996855694218539, 4649860.004629651084542 ], [ 519029.996929907181766, 4652050.00379344355315 ], [ 519029.997554082074203, 4652170.005184617824852 ], [ 519029.999993221077602, 4654480.003055960871279 ], [ 519020.002159018535167, 4654479.998400001786649 ], [ 519019.999138670449611, 4656679.995175363495946 ], [ 519019.999247840140015, 4656799.997440366074443 ], [ 519020.000076966534834, 4659110.001052581705153 ], [ 519010.000511741091032, 4659109.996367 ], [ 519009.998058468743693, 4661419.997264359146357 ], [ 515559.996306445449591, 4661419.995547413825989 ], [ 515559.999598079186399, 4663729.998753931373358 ], [ 512109.997341105190571, 4663730.000142090953887 ], [ 512110.001144988753367, 4666030.002869985997677 ], [ 512100.003176541649736, 4666029.996819058433175 ], [ 512099.995989423419815, 4668230.000924874097109 ], [ 512099.996533347351942, 4668350.00480177719146 ], [ 512100.002533704100642, 4670540.001813357695937 ], [ 512100.002878058119677, 4670659.995023642666638 ], [ 512099.996740460454021, 4672970.004739842377603 ], [ 512090.000358054472599, 4672969.998668377287686 ], [ 512090.000820867193397, 4675170.004639260470867 ], [ 512090.000151145213749, 4675179.997667359188199 ], [ 515410.001527560758404, 4675180.00242150016129 ], [ 515530.003466033376753, 4675179.999830647371709 ], [ 518970.002240717876703, 4675179.996384032070637 ], [ 518970.000020056962967, 4675190.000558491796255 ], [ 522399.998622461629566, 4675190.004086824133992 ], [ 522400.000266119081061, 4677500.004215347580612 ], [ 522400.001420937129296, 4677509.997364286333323 ], [ 525829.99947360495571, 4677510.005154360085726 ], [ 525830.000285936519504, 4679830.004388672299683 ], [ 525829.996113847009838, 4679950.000736095942557 ], [ 525829.99945483810734, 4682260.004564309492707 ], [ 525819.999619728769176, 4682260.00108377635479 ], [ 525820.0027694364544, 4684470.002663932740688 ], [ 529239.996677974006161, 4684470.001227734610438 ], [ 529239.998179689864628, 4686899.99612751789391 ], [ 525799.999943950911984, 4686900.002493485808372 ], [ 525799.998255675309338, 4689200.004919460043311 ], [ 522250.000060586375184, 4689199.99718530010432 ], [ 522249.998864828492515, 4689190.003853235393763 ], [ 518819.999398283078335, 4689189.996079838834703 ], [ 518820.001544102677144, 4689180.002789015881717 ], [ 515499.998763890180271, 4689179.99641134031117 ], [ 515499.998215540894307, 4691490.000734216533601 ], [ 515490.003433232719544, 4691490.000813520513475 ], [ 515490.003183229127899, 4693680.00459792278707 ], [ 515490.0007793593104, 4693800.002432932145894 ], [ 515490.000947937602177, 4696110.001376314088702 ], [ 515479.996311033028178, 4696110.001416007988155 ], [ 515479.996873106167186, 4698430.002182899974287 ], [ 512050.003745893889572, 4698430.003595917485654 ], [ 512049.997334080631845, 4700729.998855204321444 ], [ 508620.000518009590451, 4700730.004589883610606 ], [ 508509.998230041004717, 4700730.002823447808623 ], [ 505190.002156599599402, 4700729.997330337762833 ], [ 505190.001643972995225, 4703039.999380783177912 ], [ 501659.996570607414469, 4703039.997791511006653 ], [ 501659.998949535016436, 4703030.004355877637863 ], [ 498340.001050466380548, 4703030.004355877637863 ], [ 498340.003429393982515, 4703039.997791511006653 ], [ 498340.002923028368969, 4705349.995899046771228 ], [ 494810.000686485785991, 4705349.998742398805916 ], [ 494809.998356028401759, 4703039.999380783177912 ], [ 491490.000090629037004, 4703039.99613337777555 ], [ 491490.004080542305019, 4703050.000684350728989 ], [ 488070.000250393117312, 4703050.005161173641682 ], [ 487949.998514574952424, 4703050.000520242378116 ], [ 484530.001565692131408, 4703049.997826166450977 ], [ 484530.0002828479046, 4700739.995821663178504 ], [ 484520.002276709186845, 4700739.995785131119192 ], [ 484520.003126895229798, 4698430.002182899974287 ], [ 481209.997818284726236, 4698429.995773221366107 ], [ 481210.000062493258156, 4698440.000313299708068 ], [ 477780.002301683940459, 4698440.000351537950337 ], [ 477780.000133156718221, 4698459.998410461470485 ], [ 474230.002810933743604, 4698460.004094403237104 ], [ 474229.999724113382399, 4696160.001395607367158 ], [ 470799.996554717537947, 4696159.999980916269124 ], [ 470800.000194580235984, 4693839.997826548293233 ], [ 470790.000327051617205, 4693839.995169973000884 ], [ 470790.003297571674921, 4691529.994948826730251 ], [ 470780.000174128392246, 4691530.003393727354705 ], [ 470780.002363384119235, 4689230.004996289499104 ], [ 467469.999372909602243, 4689229.995036065578461 ], [ 467469.99701680848375, 4691559.995541848242283 ], [ 464040.003835226467345, 4691560.0007363576442 ], [ 464039.999558019859251, 4691579.99895113799721 ], [ 460480.002960961719509, 4691579.997374529018998 ], [ 460479.996441946015693, 4689290.000354449264705 ], [ 457169.999155855388381, 4689289.994606920517981 ], [ 457169.9990809133742, 4691620.002516300417483 ], [ 453760.000503624731209, 4691620.004364653490484 ], [ 453759.998864514462184, 4693959.997225750237703 ], [ 450350.002378431148827, 4693960.000752565450966 ], [ 450349.998215901374351, 4696299.997290320694447 ], [ 446940.002377289056312, 4696300.004905682988465 ], [ 446939.998042466701008, 4698639.995244666002691 ], [ 443509.997397139843088, 4698640.004583415575325 ], [ 443510.001493452466093, 4698669.997902176342905 ], [ 440100.000718085269909, 4698669.999022000469267 ], [ 440099.997190834896173, 4701010.005487641319633 ], [ 436549.999106808274519, 4701010.000099576078355 ], [ 436549.999628385936376, 4698730.002902245149016 ], [ 433230.001832546549849, 4698729.998398385941982 ], [ 433230.000842347566504, 4698760.003722037188709 ], [ 429800.000380365352612, 4698759.995138574391603 ], [ 429799.999446823610924, 4698799.995254378765821 ], [ 426239.998015502351336, 4698800.000585450790823 ], [ 426240.001511410577223, 4696480.005264733918011 ], [ 426219.998114679707214, 4696480.005435697734356 ], [ 426219.99696162273176, 4694210.002368176355958 ], [ 422760.001083247887436, 4694210.005234251730144 ], [ 422760.002435156609863, 4691930.000370306894183 ], [ 419440.000530096876901, 4691929.995924040675163 ], [ 419439.999901027418673, 4691969.996997968293726 ], [ 416039.996533575467765, 4691969.994818395934999 ], [ 416040.002231530845165, 4694180.002120051532984 ], [ 416069.998140885378234, 4694179.997429906390607 ], [ 416069.99599594733445, 4696489.994922288693488 ], [ 416090.000464537064545, 4696489.999010337516665 ], [ 416090.00116043293383, 4698760.002945126965642 ], [ 419550.004070317256264, 4698759.996860145591199 ], [ 419550.003301678749267, 4701079.99889334384352 ], [ 419570.00246272579534, 4701080.001563470810652 ], [ 419569.998460318194702, 4703389.995072095654905 ], [ 419600.003773199161515, 4703390.004411256872118 ], [ 419599.998485042597167, 4705849.996932337060571 ], [ 416179.996921756421216, 4705849.998369162902236 ], [ 416180.001520691614132, 4705890.0007638130337 ], [ 412610.001675550010987, 4705889.995506602339447 ], [ 412610.00400779908523, 4703579.998637169599533 ], [ 412590.00313193211332, 4703580.005018277093768 ], [ 412589.995942459325306, 4701309.997257302515209 ], [ 409299.999064029077999, 4701309.996620529331267 ], [ 409300.002542652888224, 4703670.003056754358113 ], [ 405910.001908303413074, 4703670.001938638277352 ], [ 405910.001871507905889, 4706029.995207860134542 ], [ 402480.001971088466235, 4706030.003292376175523 ], [ 402480.003266443090979, 4706080.00359267462045 ], [ 399060.003463010129053, 4706080.000285448506474 ], [ 399059.996437950292602, 4706130.001473019830883 ], [ 395669.998725211597048, 4706129.994545386172831 ], [ 395670.003516548254993, 4708500.001124403439462 ], [ 392249.998376566683874, 4708500.00166028086096 ], [ 392249.999971287150402, 4708550.004519456066191 ], [ 388680.000396680668928, 4708550.00526075810194 ], [ 388679.998422478791326, 4706239.995664330199361 ], [ 388639.997384668502491, 4706240.001824867911637 ], [ 388639.997913881554268, 4703980.003962118178606 ], [ 385330.001018837559968, 4703980.000501537695527 ], [ 385330.00126812257804, 4704040.001143451780081 ], [ 381900.001646021613851, 4704040.001887179911137 ], [ 381900.001671063597314, 4704089.995922016911209 ], [ 378329.996503428614233, 4704090.004664490930736 ], [ 378330.000780243834015, 4701779.997946492396295 ], [ 378290.003763648797758, 4701779.995792008005083 ], [ 378289.997569005819969, 4699530.000110605731606 ], [ 375010.000866054266226, 4699529.99996623583138 ], [ 375010.00276995904278, 4701729.99644526746124 ], [ 375050.001197638455778, 4701730.00201512593776 ], [ 375050.001932621526066, 4704050.002961907535791 ], [ 375090.003300865355413, 4704049.997079554013908 ], [ 375090.00360176799586, 4706359.998436810448766 ], [ 375130.000132720277179, 4706360.00345931854099 ], [ 375129.998110981367063, 4708670.002182312309742 ], [ 375179.997682514076587, 4708670.005287317559123 ], [ 375179.996920612407848, 4710989.99825104419142 ], [ 375219.999710192845669, 4710990.002637329511344 ], [ 375219.99820568272844, 4713299.995910088531673 ], [ 375259.995921425928827, 4713300.000097844749689 ], [ 375260.000578183971811, 4715610.001694014295936 ], [ 375300.001216010539792, 4715609.994431846775115 ], [ 375299.996078632771969, 4718099.99830134678632 ], [ 371930.002060869126581, 4718099.9976029638201 ], [ 371930.002604694454931, 4720300.00138823967427 ], [ 371970.002016206446569, 4720299.99612448643893 ], [ 371969.996119249961339, 4722610.001791403628886 ], [ 372009.998606345441658, 4722609.99616695381701 ], [ 372009.996164272713941, 4724929.996597819030285 ], [ 372050.001858230913058, 4724930.001716216094792 ], [ 372050.002973850932904, 4727420.001804465427995 ], [ 368679.996778633387294, 4727419.995406663045287 ], [ 368679.998685762635432, 4729619.997916657477617 ], [ 368729.997981231543235, 4729620.004082954488695 ], [ 368729.997978776227683, 4732109.994635638780892 ], [ 365319.998159940703772, 4732110.000325763598084 ], [ 365320.002790732192807, 4732179.997365828603506 ], [ 361909.998776077700313, 4732179.996777870692313 ], [ 361910.001978000160307, 4732239.997112035751343 ], [ 358490.002413412323222, 4732239.994584398344159 ], [ 358490.002770814229734, 4732320.004256727173924 ], [ 355079.998591502720956, 4732319.995668645948172 ], [ 355080.000537699088454, 4732389.997323331423104 ], [ 351670.001076796441339, 4732390.004272689111531 ], [ 351669.996398883056827, 4732459.996552900411189 ], [ 348310.003249268862419, 4732459.998859751969576 ], [ 348310.001546954270452, 4734669.99569027684629 ], [ 348359.998437807313167, 4734669.997520169243217 ], [ 348360.001299253781326, 4736980.00489969085902 ], [ 348409.997586236975621, 4736979.995200059376657 ], [ 348410.0005134959938, 4739479.996276296675205 ], [ 345010.002870257012546, 4739480.000262338668108 ], [ 345010.000863404304255, 4739559.996015564538538 ], [ 341599.997178570600227, 4739559.994847289286554 ], [ 341600.001675931969658, 4739630.003806365653872 ], [ 338189.999733448261395, 4739629.999336093664169 ], [ 338190.000637128890958, 4739719.998924341052771 ], [ 334839.99990145873744, 4739719.998526304028928 ], [ 334839.998836374492384, 4742109.997251529246569 ], [ 331429.996322864317335, 4742109.994594608433545 ], [ 331429.997877597576007, 4742199.999122215434909 ], [ 328079.998707126243971, 4742199.997209586203098 ], [ 328080.003070999518968, 4744599.99742369633168 ], [ 324740.003243182552978, 4744599.996873980388045 ], [ 324740.001071190228686, 4747000.004063602536917 ], [ 321329.999455947952811, 4747000.002661763690412 ], [ 321329.998713908833452, 4747090.004090500064194 ], [ 317989.997186739521567, 4747089.995378653518856 ], [ 317990.003084707597736, 4749490.000209673307836 ], [ 314579.998911735136062, 4749489.997400709427893 ], [ 314579.999222087848466, 4749580.004236647859216 ], [ 311179.998175882035866, 4749579.994770896621048 ], [ 311179.998728081292938, 4749679.995394786819816 ], [ 307600.003941535833292, 4749680.00098046194762 ], [ 307600.003675098065287, 4747360.003268215805292 ], [ 307540.001236588694155, 4747360.003597786650062 ], [ 307540.002099816862028, 4745049.994736094027758 ], [ 307470.000334074080456, 4745049.996187440119684 ], [ 307469.99750374420546, 4742739.995737880468369 ], [ 307410.003856625349727, 4742739.994526907801628 ], [ 307410.002142775396351, 4740520.002351873554289 ], [ 303939.996527199749835, 4740520.004171430133283 ], [ 303939.996950091270264, 4738209.99525838997215 ], [ 303869.996281434490811, 4738209.995596446096897 ], [ 303869.999892057501711, 4735690.005455992184579 ], [ 307220.003284871403594, 4735689.998508241958916 ], [ 307220.002461351105012, 4733480.0001235390082 ], [ 307149.997831429122016, 4733479.997815418988466 ], [ 307150.001692029531114, 4731169.994944010861218 ], [ 307089.997829367290251, 4731170.00184123031795 ], [ 307090.00078568700701, 4728859.996386276558042 ], [ 307019.99884836061392, 4728860.003605985082686 ], [ 307019.99791779514635, 4726540.00433418340981 ], [ 306960.002769037499093, 4726539.998574681580067 ], [ 306960.000522681511939, 4724019.99749200232327 ], [ 310309.99762822012417, 4724020.002515064552426 ], [ 310309.998725690646097, 4721820.000717034563422 ], [ 310249.998223427450284, 4721819.997573995031416 ], [ 310250.00163074262673, 4719300.000688002444804 ], [ 313599.999956028186716, 4719300.004410004243255 ], [ 313599.996809512434993, 4717100.00512826628983 ], [ 313539.999185122782364, 4717100.004458816722035 ], [ 313540.001272159046493, 4714789.996621919795871 ], [ 313480.000121743418276, 4714789.995399287901819 ], [ 313479.996812836965546, 4712569.997827981598675 ], [ 309990.003623412107117, 4712569.994666039943695 ], [ 309990.001558379852213, 4710250.001308718696237 ], [ 309929.999659133492969, 4710249.995020003058016 ], [ 309929.997192048584111, 4707940.000749167986214 ], [ 309870.000346341170371, 4707940.004766320809722 ], [ 309870.003275506140199, 4705629.996592993848026 ], [ 309810.002984390303027, 4705630.000035014003515 ], [ 309810.002480913884938, 4703309.998859993182123 ], [ 309740.000629846472293, 4703309.996623962186277 ], [ 309740.004212728061248, 4701000.005215355195105 ], [ 309679.996693507710006, 4700999.996484119445086 ], [ 309679.997635264415294, 4698690.002502053044736 ], [ 309620.003485906287096, 4698690.003850108012557 ], [ 309619.998666748637334, 4696169.999073688872159 ], [ 312979.997180158447009, 4696170.000417150557041 ], [ 312979.996232829638757, 4694060.002534439787269 ], [ 309490.003625726210885, 4694060.002098051831126 ], [ 309489.998872359457891, 4691540.004506004974246 ], [ 312860.00122909178026, 4691539.996560169383883 ], [ 312859.996481944806874, 4689340.004736212082207 ], [ 312799.998627575463615, 4689339.996451781131327 ], [ 312799.999963504262269, 4687030.000854985788465 ], [ 312739.999118752079085, 4687030.003114987164736 ], [ 312740.001690876786597, 4684710.003829536959529 ], [ 312669.997867335390765, 4684709.994718017056584 ], [ 312669.996547035232652, 4682400.004803621210158 ], [ 312609.997044750023633, 4682399.994700499810278 ], [ 312609.997779437340796, 4680179.999135013669729 ], [ 309109.996602011146024, 4680180.000773190520704 ], [ 309109.997530004475266, 4677860.003531662747264 ], [ 309049.998173501633573, 4677859.999236355535686 ], [ 309050.003597154514864, 4675550.000423416495323 ], [ 308990.001052792416885, 4675549.995545651763678 ], [ 308990.003696217900142, 4673240.005263747647405 ], [ 308919.998554535675794, 4673240.004457321017981 ], [ 308919.996098007308319, 4670919.999291473999619 ], [ 308860.003966656338889, 4670920.003985585644841 ], [ 308859.997035241511185, 4668609.997379338368773 ], [ 308800.001777517958544, 4668610.001489333808422 ], [ 308800.00020665867487, 4666300.003189912997186 ], [ 308740.001540369761642, 4666299.995611177757382 ], [ 308740.001705509494059, 4664080.003121257759631 ], [ 305230.001056408742443, 4664079.99756074976176 ], [ 305229.999741433304735, 4661770.003035061061382 ], [ 305160.001807548105717, 4661769.999036338180304 ], [ 305160.001087308512069, 4659450.00048372708261 ], [ 305099.999765923013911, 4659449.998076010495424 ], [ 305099.999440250452608, 4657139.998083189129829 ], [ 305040.003365822252817, 4657139.994840838015079 ], [ 305040.001128465635702, 4654830.00337038282305 ], [ 304970.000764279742725, 4654829.997116011567414 ], [ 304969.999552066554315, 4652610.001219311729074 ], [ 301459.998063869774342, 4652610.0026442296803 ], [ 301459.999264451558702, 4650390.003307247534394 ], [ 297939.996419143455569, 4650389.998927799984813 ], [ 297940.001928045472596, 4648179.996372277848423 ], [ 294419.997732226911467, 4648179.99764531198889 ], [ 294419.997611794504337, 4645860.00237331353128 ], [ 294349.998890025715809, 4645859.995053158141673 ], [ 294349.996409919054713, 4643340.004868690855801 ], [ 297739.999184643267654, 4643339.997544868849218 ], [ 297739.9976846287027, 4641139.998973184265196 ], [ 297680.002347785979509, 4641140.004915191791952 ], [ 297679.999651398160495, 4638829.998055350035429 ], [ 297610.001582526834682, 4638829.998725855723023 ], [ 297610.002308438997716, 4636610.001711666584015 ], [ 294079.998940697289072, 4636609.999384769238532 ], [ 294080.003974836668931, 4634399.998021576553583 ], [ 290559.998848053801339, 4634399.997356109321117 ], [ 290560.003596943221055, 4632190.000509522855282 ], [ 287029.998841768945567, 4632190.003640071488917 ], [ 287029.997287099249661, 4629869.996395021677017 ], [ 286960.001338617294095, 4629869.995551879517734 ], [ 286960.001851566601545, 4627670.001175789162517 ], [ 283420.000284559151623, 4627669.99941929616034 ], [ 283420.000884157489054, 4625460.004653253592551 ], [ 279889.996436127112247, 4625460.002250787802041 ], [ 279889.997078755812254, 4623139.999699416570365 ], [ 279820.003411563811824, 4623139.997354805469513 ], [ 279819.999939480156172, 4620940.003439853899181 ], [ 276279.999138204962946, 4620939.996499280445278 ], [ 276280.002257871325128, 4618630.00172832608223 ], [ 276210.002713648369536, 4618629.998339514248073 ], [ 276209.99691184994299, 4616309.998119167052209 ], [ 276129.99895117583219, 4616309.994801048189402 ], [ 276129.997358671273105, 4613999.99462900031358 ], [ 276060.002935790573247, 4614000.000476835295558 ], [ 276059.996198744280264, 4611689.9977807700634 ], [ 275989.995922020170838, 4611690.002907034009695 ], [ 275989.997814268572256, 4609370.005432772450149 ], [ 275919.999594151566271, 4609369.998469384387136 ], [ 275920.003808378707618, 4606840.004129533655941 ], [ 279389.996220199740492, 4606839.99949277471751 ], [ 279389.999166324152611, 4606739.996044894680381 ], [ 282789.997013127780519, 4606739.999400103464723 ], [ 282789.998896222328767, 4604529.999539347365499 ], [ 282720.002369880094193, 4604530.001056025736034 ], [ 282719.996671482105739, 4602219.998580013401806 ], [ 282650.002718261384871, 4602219.999163959175348 ], [ 282649.99798794160597, 4599910.005031771957874 ], [ 282579.99828856025124, 4599910.004933991469443 ], [ 282580.000753337983042, 4597699.995336894877255 ], [ 279219.995812751934864, 4597699.995195892639458 ], [ 279219.996357393101789, 4597809.999421302229166 ], [ 275560.001283041667193, 4597810.001738811843097 ], [ 275560.003623518627137, 4595489.999299502000213 ], [ 275479.999712280521635, 4595489.998178574256599 ], [ 275480.003850513370708, 4593179.995524441823363 ], [ 275409.999263794219587, 4593180.004838 ], [ 275409.997849726642016, 4590869.999659503810108 ], [ 275340.003967205295339, 4590869.996622019447386 ], [ 275339.99615954014007, 4588549.997447296977043 ], [ 275269.996889336325694, 4588550.004780287854373 ], [ 275270.001621238421649, 4586240.005170091986656 ], [ 275199.996389915817417, 4586240.000669984146953 ], [ 275200.003795931406785, 4583929.998275693506002 ], [ 275130.00167629646603, 4583930.003888672217727 ], [ 275130.002900246588979, 4581609.996482594870031 ], [ 275049.996334621449932, 4581610.000452139414847 ], [ 275049.998087326181121, 4579300.00375843141228 ], [ 274980.001129637472332, 4579299.996378472074866 ], [ 274979.999054395477287, 4576769.999268997460604 ], [ 278399.997629917925224, 4576770.003846218809485 ], [ 278399.99677499209065, 4574570.003328936174512 ], [ 278329.999838451389223, 4574570.004993795417249 ], [ 278329.999531494919211, 4572249.998890902847052 ], [ 278259.997012350359, 4572249.999839608557522 ], [ 278259.999436306883581, 4570050.003661084920168 ], [ 274700.000972077948973, 4570049.997816018760204 ], [ 274699.998949033906683, 4567739.998854925855994 ], [ 274619.998831060831435, 4567739.996526325121522 ], [ 274620.000799911678769, 4565529.994767319411039 ], [ 271060.002138829790056, 4565529.995167239569128 ], [ 271059.996654537622817, 4563220.000038371421397 ], [ 270990.001100542838685, 4563219.997616765089333 ], [ 270989.999972410209011, 4561020.00515943672508 ], [ 267419.997248710074928, 4561019.998752169311047 ], [ 267420.00193621055223, 4558810.000860259868205 ], [ 263840.001029406790622, 4558810.000823309645057 ], [ 263840.001176272693556, 4556500.000845870003104 ], [ 263770.001279814634472, 4556499.996174230240285 ], [ 263769.998978882562369, 4554190.004748200066388 ], [ 263689.997872665117029, 4554189.999974139966071 ], [ 263689.997966742375866, 4551880.005591752938926 ], [ 263619.995860045775771, 4551879.999132259748876 ], [ 263619.998241963214241, 4549559.998986106365919 ], [ 263549.999532276531681, 4549560.002546980045736 ], [ 263550.002523457747884, 4547250.002822532318532 ], [ 263470.001241435762495, 4547249.994804104790092 ], [ 263469.996753003913909, 4544710.001930739730597 ], [ 266899.998660654993728, 4544709.995539820753038 ], [ 266900.002561087254435, 4542510.001138587482274 ], [ 266829.998979276162572, 4542510.002003152854741 ], [ 266830.00240227393806, 4539979.997971673496068 ], [ 270260.002146412734874, 4539979.996487775817513 ], [ 270260.002589579438791, 4537770.004098331555724 ], [ 270189.999427016300615, 4537770.003073492087424 ], [ 270189.99767816363601, 4535569.9982770383358 ], [ 266610.000788830337115, 4535569.994448252022266 ], [ 266609.999087586184032, 4533260.004921487532556 ], [ 266530.0012328834855, 4533259.99674732517451 ], [ 266530.000405042606872, 4530950.004277559928596 ], [ 266459.996259685605764, 4530950.000578369945288 ], [ 266460.003071049344726, 4528630.00281763356179 ], [ 266390.002179865608923, 4528629.998055453412235 ], [ 266390.001134499034379, 4526320.000262588262558 ], [ 266310.004168896004558, 4526320.000007599592209 ], [ 266310.003875993366819, 4524009.999271171167493 ], [ 266240.001669585006312, 4524010.00385332480073 ], [ 266240.001156451588031, 4521689.998178884387016 ], [ 266170.002276784274727, 4521690.001695977523923 ], [ 266170.00150065345224, 4519379.995635351166129 ], [ 266089.997222773963585, 4519380.003558792173862 ], [ 266090.002230773156043, 4517179.996180085465312 ], [ 262690.001900706673041, 4517179.999341526068747 ], [ 262689.998549310083035, 4517290.005018190480769 ], [ 258990.0023488937004, 4517289.999087851494551 ], [ 258990.003152894525556, 4514979.999835666269064 ], [ 258910.002193510037614, 4514980.003671479411423 ], [ 258909.997388604213484, 4512670.001720394939184 ], [ 258839.998918585537467, 4512670.001266948878765 ], [ 258839.996466146956664, 4510129.999176405370235 ], [ 262360.003940176975448, 4510129.998252022080123 ], [ 262359.997315034037456, 4510020.005129186436534 ], [ 265799.999961054883897, 4510019.998885232955217 ], [ 265800.001875101123005, 4507589.999358547851443 ], [ 269250.001308661769144, 4507589.999755456112325 ], [ 269249.997147156042047, 4505499.99487166851759 ], [ 265659.996016858611256, 4505500.005624862387776 ], [ 265659.998812538688071, 4503190.002414025366306 ], [ 265579.997283428208902, 4503190.002827920019627 ], [ 265580.001144065987319, 4500659.998710844665766 ], [ 269039.999846224265639, 4500660.000822782516479 ], [ 269039.999021777242888, 4498229.999541094526649 ], [ 272559.997503111837432, 4498229.998769164085388 ], [ 272559.999365829920862, 4498129.997881448827684 ], [ 276020.00398585095536, 4498129.998181630857289 ], [ 276019.998747740872204, 4495709.995156968943775 ], [ 279480.003921187715605, 4495710.000106263905764 ], [ 279480.002761899260804, 4493509.996527491137385 ], [ 279409.997268736362457, 4493510.001134619116783 ], [ 279409.996400331787299, 4490980.002467009238899 ], [ 282869.997980243409984, 4490979.996050633490086 ], [ 282870.001439255196601, 4488570.001779474318027 ], [ 286399.995912368409336, 4488570.002100352197886 ], [ 286400.000835966260638, 4488470.00472635962069 ], [ 289929.999966211675201, 4488469.994999750517309 ], [ 289930.001354870502837, 4488370.000910380855203 ], [ 293630.002475327230059, 4488370.002074592746794 ], [ 293629.999921411275864, 4490580.002789653837681 ] ] ] } } +] +} diff --git a/product_metadata.json b/data/product_metadata.json similarity index 100% rename from product_metadata.json rename to data/product_metadata.json diff --git a/metadata.txt b/metadata.txt index 4581525..5824188 100644 --- a/metadata.txt +++ b/metadata.txt @@ -28,8 +28,15 @@ email=qgis.openicgc@icgc.cat qgisMinimumVersion=2.99 qgisMaximumVersion=3.99 -version=1.1.12 -changelog=v1.1.12 (2023-03-22) +version=1.1.13 +changelog=v1.1.13 (2023-04-18) + - Added FiraSans font to symbolization + - Fixed problems with selection in photograms dialog based on geojson query with regional settings not in english + - Fixed problems loading Catalonia limit geojsons with regional settings not in english + - Fixed problems downloading photograms with polygons layer + - Fixed problems operating with result of photo name search + + v1.1.12 (2023-03-22) - Added product information links on map layers and download tool - Added sort columns option to geofinder dialog - Fixed compatibility problems with QGIS v3.30 @@ -95,7 +102,7 @@ changelog=v1.1.12 (2023-03-22) - Added access to ICGC historical photo library (visualization and downloads) - Added download geological map GT I and GT VI product - Fixed timeline bars to skip one year when click on it - + v1.0.7 (2022-01-18) - Fixed problems with buttons activation events - Fixed problem accessing to annual orthophoto layers diff --git a/openicgc.py b/openicgc.py index 661fe36..f075183 100644 --- a/openicgc.py +++ b/openicgc.py @@ -28,8 +28,6 @@ import io import logging import json -import locale -locale.setlocale(locale.LC_ALL, '') from urllib.request import urlopen, Request from urllib.parse import urljoin, quote from importlib import reload @@ -63,7 +61,8 @@ from .qlib3.downloaddialog.downloaddialog import DownloadDialog # Import wms resources access functions from .resources3.wms import get_historic_ortho, get_lastest_ortoxpres, get_superexpedita_ortho, get_full_ortho - from .resources3.fme import get_clip_data_url, get_services, get_historic_ortho_code, get_historic_ortho_ref, get_regex_styles as get_fme_regex_styles, FME_DOWNLOAD_EPSG + from .resources3.fme import get_clip_data_url, get_services, get_historic_ortho_code, get_historic_ortho_ref + from .resources3.fme import get_regex_styles as get_fme_regex_styles, FME_DOWNLOAD_EPSG, FME_MAX_POLYGON_POINTS from .resources3.http import get_dtms, get_sheets, get_delimitations, get_ndvis, get_topographic_5k, get_regex_styles as get_http_regex_styles from .resources3 import http as http_resources, wms as wms_resources, fme as fme_resources else: @@ -95,7 +94,8 @@ from resources3.wms import get_historic_ortho, get_lastest_ortoxpres, get_superexpedita_ortho, get_full_ortho import resources3.fme reload(resources3.fme) - from resources3.fme import get_clip_data_url, get_services, get_historic_ortho_code, get_historic_ortho_ref, get_regex_styles as get_fme_regex_styles, FME_DOWNLOAD_EPSG + from resources3.fme import get_clip_data_url, get_services, get_historic_ortho_code, get_historic_ortho_ref + from resources3.fme import get_regex_styles as get_fme_regex_styles, FME_DOWNLOAD_EPSG, FME_MAX_POLYGON_POINTS import resources3.http reload(resources3.http) from resources3.http import get_dtms, get_sheets, get_delimitations, get_ndvis, get_topographic_5k, get_regex_styles as get_http_regex_styles @@ -106,7 +106,7 @@ # Constants PHOTOLIB_WFS_MAX_FEATURES = 1000 -PHOTOLIB_WFS = "https://fototeca-connector.icgc.cat/" +PHOTOLIB_WFS = "https://fototeca-connector.icgc.cat/" PHOTOLIB_WMS = PHOTOLIB_WFS @@ -189,7 +189,7 @@ def canvasReleaseEvent(self, event): if event.button() == Qt.LeftButton: self.subscene(event.pos().x(), event.pos().y()) - def subscene(self, x=0, y=0): + def subscene(self, x=None, y=None): # Gets selection geometry area = None if self.mode_area_not_point: @@ -197,7 +197,7 @@ def subscene(self, x=0, y=0): geo = self.rubberBand.asGeometry() if geo: area = geo.boundingBox() - if not area: + if not area and x is not None and y is not None: # If not area then we takes a point point = self.toMapCoordinates(QPoint(x, y)) area = QgsRectangle(point.x(), point.y(), point.x(), point.y()) @@ -243,7 +243,7 @@ class UpdateType: plugin_manager = 0 qgis_web = 1 icgc_web = 2 - + class OpenICGC(PluginBase): """ Plugin for accessing open data published by ICGC """ @@ -312,7 +312,7 @@ class OpenICGC(PluginBase): #"photo": "Photo library", } - PRODUCT_METADATA_FILE = os.path.join(os.path.dirname(__file__), "product_metadata.json") + PRODUCT_METADATA_FILE = os.path.join(os.path.dirname(__file__), "data", "product_metadata.json") download_action = None time_series_action = None @@ -347,6 +347,9 @@ def __init__(self, iface, debug_mode=False): wms_resources.log = self.log fme_resources.log = self.log + # Load extra fonts (Fira Sans) + self.load_fonts() + # Translated long tooltip text self.TOOLTIP_HELP = self.tr("""Find: Address: municipality, street number or vice versa @@ -541,27 +544,25 @@ def get_catalonia_limits(self, filename, buffer=0, segments=10): """ Gets Catalonia limits from geojson resource file Apply 250m of buffer to fix possible errors on CAT envolope scale 1:1,000,000 """ pathname = os.path.join(self.plugin_path, "data", "%s.geojson" % filename) - with open(pathname, "r") as fin: - geojson_text = fin.read() if not os.path.exists(pathname): self.log.warning("Geometry limits %s file not found %s", filename, pathname) return None, None - tmp_layer = QgsVectorLayer(pathname, "cat_geojson", "ogr") + tmp_layer = QgsVectorLayer(pathname, "cat_limits", "ogr") if tmp_layer.featureCount() < 1: - self.log.warning("Load geometry limits %s error: %s\nFeatures: %s\nGeoJson: %s", - filename, pathname, tmp_layer.featureCount(), geojson_text) - geom = tmp_layer.getFeature(0).geometry().buffer(buffer, segments) + self.log.warning("Load geometry limits %s error: %s\nFeatures: %s", + filename, pathname, tmp_layer.featureCount()) + geom = list(tmp_layer.getFeatures())[0].geometry().buffer(buffer, segments) if not geom or geom.isEmpty(): - self.log.warning("Load geometry limits %s empty: %s\nFeatures: %s\nGeoJson: %s", - filename, pathname, tmp_layer.featureCount(), geojson_text) + self.log.warning("Load geometry limits %s empty: %s\nFeatures: %s", + filename, pathname, tmp_layer.featureCount()) epsg = tmp_layer.crs().authid() - self.log.info("Load geometry limits: %s (features: %s, empty: %s, buffer: %s, segments: %s, EPSG:%s)", + self.log.info("Load geometry limits: %s (features: %s, empty: %s, buffer: %s, segments: %s, EPSG:%s)", pathname, tmp_layer.featureCount(), geom.isEmpty(), buffer, segments, epsg) return geom, epsg def format_scale(self, scale): """ Format scale number with locale separator """ - text = locale.format_string("%d", scale, grouping=True) + text = format(scale, ",d") if self.translation.get_qgis_language() in ['ca', 'es']: text = text.replace(',', '.') return text @@ -615,8 +616,8 @@ def initGui(self, check_qgis_updates=True, check_icgc_updates=False): ortoxpres_color_list = [(str(year), layer_id, layer_name) for layer_id, layer_name, ortho_type, color, year in historic_ortho_list if ortho_type == "ortoxpres" and color != "irc"] ortoxpres_color_year, ortoxpres_color_layer_id, ortoxpres_color_layer_name = ortoxpres_color_list[-1] if ortoxpres_color_list else (None, None, None) ortoxpres_infrared_list = [(str(year), layer_id, layer_name) for layer_id, layer_name, ortho_type, color, year in historic_ortho_list if ortho_type == "ortoxpres" and color == "irc"] - ortoxpres_infrared_year, ortoxpres_infrared_layer_id, ortoxpres_infrared_layer_name = ortoxpres_infrared_list[-1] if ortoxpres_infrared_list else (None, None, None) - + ortoxpres_infrared_year, ortoxpres_infrared_layer_id, ortoxpres_infrared_layer_name = ortoxpres_infrared_list[-1] if ortoxpres_infrared_list else (None, None, None) + # Gets anaglyph fotograms. Last year can not have full photograms coverage, we select previous year as default photolib_wms_url = PHOTOLIB_WMS photolib_time_series_list, photolib_current_time = self.layers.get_wms_t_time_series(photolib_wms_url, "anaglif_central") @@ -804,15 +805,15 @@ def initGui(self, check_qgis_updates=True, check_icgc_updates=False): "---", (self.tr("Centered anaglyph photogram"), None, QIcon(":/lib/qlib3/photosearchselectiondialog/images/stereo_preview.png"), [ (self.tr("Centered anaglyph photogram %s (annual serie)") % anaglyph_year, - lambda _checked,anaglyph_year=anaglyph_year,anaglyph_layer=anaglyph_layer:self.add_wms_t_layer(self.tr("[AS] Centered anaglyph phootogram"), photolib_wms_url, anaglyph_layer, str(anaglyph_year), "central,100,false", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), + lambda _checked,anaglyph_year=anaglyph_year,anaglyph_layer=anaglyph_layer:self.add_wms_t_layer(self.tr("[AS] Centered anaglyph phootogram"), photolib_wms_url, anaglyph_layer, str(anaglyph_year), "central,100,false", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), QIcon(":/lib/qlib3/photosearchselectiondialog/images/stereo_preview.png") ) for anaglyph_year, anaglyph_layer in reversed(photolib_time_series_list)]) ] + ([ (self.tr("Centered rectified photogram (annual serie)"), - lambda _checked:self.add_wms_t_layer(self.tr("[AS] Centered rectified photogram"), photolib_wms_url, "ortoxpres_central", photolib_current_time, "central", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), + lambda _checked:self.add_wms_t_layer(self.tr("[AS] Centered rectified photogram"), photolib_wms_url, "ortoxpres_central", photolib_current_time, "central", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), QIcon(":/lib/qlib3/photosearchselectiondialog/images/rectified_preview.png")), (self.tr("Centered photogram (annual serie)"), - lambda _checked:self.add_wms_t_layer(self.tr("[AS] Centered photogram"), photolib_wms_url, "foto_central", photolib_current_time, "central", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), + lambda _checked:self.add_wms_t_layer(self.tr("[AS] Centered photogram"), photolib_wms_url, "foto_central", photolib_current_time, "central", "image/png", None, None, 25831, "referer=ICGC", self.backgroup_map_group_name, only_one_map_on_group=False, set_current=False), QIcon(":/lib/qlib3/photosearchselectiondialog/images/photo_preview.png")), ] if self.debug_mode else []) + [ "---" @@ -1012,7 +1013,7 @@ def get_download_menu(self, fme_services_list, raster_not_vector=None, nested_do prefix_id = id[:2] if id else None previous_id = fme_extra_services_list[i-1][0] if i > 0 else id previous_prefix_id = previous_id[:2] - + # If break group prefix, create a grouped menu entry if previous_prefix_id != prefix_id: # Find group product common prefix @@ -1037,7 +1038,7 @@ def get_download_menu(self, fme_services_list, raster_not_vector=None, nested_do QIcon(self.FME_ICON_DICT.get(previous_prefix_id, None)), True, True, previous_prefix_id, self.manage_metadata_button(self.FME_METADATA_DICT.get(previous_id, None) \ - or self.FME_METADATA_DICT.get(previous_prefix_id, None)), + or self.FME_METADATA_DICT.get(previous_prefix_id, None)), True )) gsd_info_dict = {} @@ -1083,7 +1084,7 @@ def get_download_menu(self, fme_services_list, raster_not_vector=None, nested_do previous_id = fme_extra_services_list[i-1][0] if i > 0 else id previous_prefix_id = previous_id[:2] if previous_id else None # If change 2 first characters the inject a separator - if prefix_id != previous_prefix_id: + if prefix_id != previous_prefix_id: fme_extra_services_list.append((None, None, None, None, None, None, None, None, None, None, None)) # 10 + 1 (vectorial_not_raster) vectorial_not_raster = not self.is_raster_file(filename) fme_extra_services_list.append((id, name, min_side, max_query_area, min_px_side, max_px_area, filename, limits, vectorial_not_raster, url_pattern, url_ref_or_wms_tuple)) # 8 params @@ -1095,7 +1096,7 @@ def get_download_menu(self, fme_services_list, raster_not_vector=None, nested_do QIcon(self.FME_ICON_DICT.get(id[:2], None)), True, True, id, # Indiquem: actiu, checkable i un id d'acció self.manage_metadata_button(self.FME_METADATA_DICT.get(id, None) \ - or self.FME_METADATA_DICT.get(prefix_id, None)), + or self.FME_METADATA_DICT.get(prefix_id, None)), True ) if id else "---" for id, name, min_side, max_query_area, min_px_side, max_px_area, filename, limits, vectorial_not_raster, url_pattern, url_ref_or_wms_tuple in fme_extra_services_list ] @@ -1124,7 +1125,7 @@ def on_change_photo_selection(self): if self.photo_search_dialog and self.photo_search_dialog.isVisible(): photo_id, flight_year, _flight_code, _filename, _photo_name, gsd, _epsg = self.get_selected_photo_info(show_errors=False) if self.photo_search_dialog: - self.photo_search_dialog.select_photo(photo_id, flight_year) + self.photo_search_dialog.select_photo(photo_id, flight_year, update_map=False) if self.tool_subscene: self.tool_subscene.set_gsd(gsd) @@ -1177,12 +1178,12 @@ def add_wms_t_layer(self, layer_name, url, layer_id, time, style, image_format, self.time_series_action.setChecked(self.tools.time_series_dialog is not None and self.tools.time_series_dialog.isVisible()) # Show stereo anaglyph options if layer_id and layer_id.lower().startswith("anaglif"): - self.tools.show_anaglyph_dialog(layer, self.tr("Anaglyph"), self.tr("Anaglyph"), self.tr("Inverted stereo")) + self.tools.show_anaglyph_dialog(layer, self.tr("Anaglyph"), self.tr("Anaglyph"), self.tr("Inverted stereo")) # Show "on the fly" central photogram rendering layers warning if layer_id and layer_id.lower().endswith("_central"): message = self.tr("This layer renders only the most centered photogram in the map view, you can zoom in for continuous navigation. Please note that current year may not have full photogram coverage") self.iface.messageBar().pushMessage(layer_name, message, level=Qgis.Info, duration=10) - + return layer def find(self, user_text): @@ -1222,7 +1223,7 @@ def find(self, user_text): scale = self.geofinder_dialog.get_scale() # We resituate the map (implemented in parent PluginBase) self.set_map_point(x, y, epsg, scale) - + def is_unsupported_file(self, pathname): return self.is_file_type(pathname, ["dgn", "dwg"]) def is_unsupported_extension(self, ext): @@ -1267,7 +1268,7 @@ def enable_download_subscene(self, data_type, name, min_side, max_download_area, if is_photo: # If we want download a photogram, we need have select it one photo_id, _flight_year, _flight_code, _filename, _photo_name, gsd, _epsg = self.get_selected_photo_info() - if not photo_id: + if photo_id is None: action.setChecked(False) self.gui.enable_tool(None) return @@ -1310,7 +1311,7 @@ def enable_download_subscene(self, data_type, name, min_side, max_download_area, download_description, download_operation_code = fme_download_type_dict[self.download_type] time_code = self.download_dialog.get_year() gsd = self.download_dialog.get_gsd() - if gsd_dict and gsd: + if gsd_dict and gsd: data_type, name, min_side, max_download_area, min_px_side, max_px_area, time_list, download_list, filename, limits, url_ref_or_wms_tuple = gsd_dict[gsd] # Changes icon and tooltip of download button @@ -1327,7 +1328,7 @@ def enable_download_subscene(self, data_type, name, min_side, max_download_area, color_not_irc = data_type.startswith("hc") ref_file = get_historic_ortho_ref(color_not_irc, gsd, time_code) url_ref_or_wms_tuple = (ref_file, symbol_file) if ref_file else None - name += " %d" % time_code + name += " %d" % time_code self.load_last_ref_layer = lambda:self.load_ref_layer(url_ref_or_wms_tuple, name) self.load_last_ref_layer() @@ -1373,7 +1374,7 @@ def enable_download_tool(self, with_ref_layer=False): self.tool_subscene.subscene() def download_map_area(self, geo, data_type, min_side, max_download_area, min_px_side, max_px_area, gsd, time_code, download_operation_code, local_filename, limits="cat_simple"): - """ Download a FME server data area (limited to max_download_area) """ + """ Download a FME server data area (limited to max_download_area) """ # Check download file type filename, ext = os.path.splitext(local_filename) @@ -1395,7 +1396,7 @@ def download_map_area(self, geo, data_type, min_side, max_download_area, min_px_ ortho_code = get_historic_ortho_code(rgb_not_irc, gsd, time_code) extra_params = [ortho_code] filename = "%s_%s" % (os.path.splitext(filename)[0], time_code) - + # Get download geometry geo = self.download_get_geometry(geo, download_epsg, min_side, max_download_area, min_px_side, max_px_area, gsd, limits) if not geo: @@ -1508,7 +1509,7 @@ def download_map_area(self, geo, data_type, min_side, max_download_area, min_px_ def download_get_geometry(self, geo, download_epsg, min_side, max_download_area, min_px_side, max_px_area, gsd, limits, default_point_buffer=50): """ Gets geometry to download """ - title = self.tr("Download tool") + title = self.tr("Download tool") epsg = None if self.download_type == 'dt_coord': @@ -1554,18 +1555,17 @@ def download_get_geometry(self, geo, download_epsg, min_side, max_download_area, return None if self.download_type == 'dt_layer_polygon': # Check geometry max number of points - max_polygons_points = 100 polygons_points_count = sum(1 for _v in multipolygon.vertices()) - if polygons_points_count > max_polygons_points: - self.log.warning("Download type polygon with too many points %d / %d", polygons_points_count, max_polygons_points) + if polygons_points_count > FME_MAX_POLYGON_POINTS: + self.log.warning("Download type polygon with too many points %d / %d", polygons_points_count, FME_MAX_POLYGON_POINTS) QMessageBox.warning(self.iface.mainWindow(), title, - self.tr("Your polygons have too many points: %d maximum %d" % (polygons_points_count, max_polygons_points))) + self.tr("Your polygons have too many points: %d maximum %d" % (polygons_points_count, FME_MAX_POLYGON_POINTS))) return None # Force download by polygon geo = multipolygon else: # if self.download_type == 'dt_layer_polygon_bb': geo = QgsGeometry.fromRect(multipolygon.boundingBox()) - + else: self.log.debug("Download tool user selection (%s)", self.download_type) @@ -1585,7 +1585,7 @@ def download_get_geometry(self, geo, download_epsg, min_side, max_download_area, self.log.debug("User geometry %s (EPSG:%s)", geo.asWkt() if is_polygon else geo.asWktCoordinates(), epsg) geo = self.crs.transform(geo, epsg, download_epsg) self.log.debug("Download (transformed) geometry %s (EPSG:%s)", geo.asWkt() if is_polygon else geo.asWktCoordinates(), download_epsg) - + title = self.tr("Download map area") if is_area or is_polygon else self.tr("Download point") # Check area limit @@ -1646,8 +1646,8 @@ def download_get_geometry(self, geo, download_epsg, min_side, max_download_area, self.log.warning("The selected area is outside Catalonia %s", limits) self.log.debug("Limits geometry: %s (EPSG: %s)", geo_limits, geo_limits_epsg) QMessageBox.warning(self.iface.mainWindow(), title, self.tr("The selected area is outside Catalonia")) - return None - + return None + return geo def get_selected_photo_info(self, show_errors=True): @@ -1659,7 +1659,7 @@ def get_selected_photo_info(self, show_errors=True): photo_info_list = self.layers.get_attributes_selection_by_id(self.photo_search_layer_id, ['flight_year', 'flight_code', 'image_filename', 'name', 'gsd', 'epsg'], lambda p: len(p) != 1, self.tr("You must select one photogram")) else: photo_info_list = self.layers.get_attributes_selection_by_id(self.photo_search_layer_id, ['flight_year', 'flight_code', 'image_filename', 'name', 'gsd', 'epsg'], lambda p: len(p) != 1) - photo_id, flight_year, flight_code, filename, name, gsd, epsg = (([photo_id] + list(photo_info_list[0])) if photo_info_list else (None, None, None, None, None, None, None)) + photo_id, flight_year, flight_code, filename, name, gsd, epsg = (([photo_id] + list(photo_info_list[0])) if photo_info_list else (None, None, None, None, None, None, None)) return photo_id, flight_year, flight_code, filename, name, gsd, epsg def disable_ref_layers(self, hide_not_remove=False): @@ -1997,17 +1997,17 @@ def search_photos(self, x=None, y=None, name=None, photolib_wfs=PHOTOLIB_WFS, da # Walkthrough to show photo search dialog with current search if self.photo_search_dialog: self.photo_search_dialog.show() - return False + return False # Remove previous photo search, before disables reset dialog when delete layer event photo_search_layer = self.layers.get_by_id(self.photo_search_layer_id) if photo_search_layer and self.photo_search_dialog: photo_search_layer.willBeDeleted.disconnect(self.photo_search_dialog.reset) self.legend.empty_group(group) - # If photo search group not exist, we ensure that it is created before download group + # If photo search group not exist, we ensure that it is created before download group if not group: # If not exists download group return -1 - group_pos = self.legend.get_group_position_by_name(self.download_group_name) + 1 - + group_pos = self.legend.get_group_position_by_name(self.download_group_name) + 1 + # Fix event problems betwen photo layer and photo dialog for QGIS versions < 3.10 # Needs create photo dialog previous to photo layer... if not self.photo_search_dialog and not self.check_qgis_version(310000): @@ -2020,7 +2020,7 @@ def search_photos(self, x=None, y=None, name=None, photolib_wfs=PHOTOLIB_WFS, da layer_filter = None with WaitCursor(): # Search by coordinates - if x and y: + if x and y: # Get municipality information of coordinate if not epsg: epsg = int(self.project.get_epsg()) @@ -2048,7 +2048,7 @@ def search_photos(self, x=None, y=None, name=None, photolib_wfs=PHOTOLIB_WFS, da # Search by name if name and len(name) > 7: # at least flight code and wildcard ... layer_name = self.photo_search_label % name - #layer_filter = "SELECT * FROM fotogrames WHERE name LIKE '%s'" % (name) + #layer_filter = "SELECT * FROM fotogrames WHERE name LIKE '%s'" % (name) layer_filter = '' \ '' \ 'name' \ @@ -2068,9 +2068,12 @@ def search_photos(self, x=None, y=None, name=None, photolib_wfs=PHOTOLIB_WFS, da # collapsed=False, visible=True, transparency=None, set_current=True) fake_file = '%s/?SERVICE=WFS&VERSION=%s&REQUEST=GetFeature&TYPENAMES=%s&FILTER=%s&outputformat=geojson&referer=ICGC' % ( photolib_wfs, "2.0.0", "icgc:fotogrames", quote(layer_filter)) + begin_time = datetime.datetime.now() photo_search_layer = self.layers.add_vector_layer(layer_name, fake_file, group_name=self.photos_group_name, group_pos=group_pos, only_one_map_on_group=False, only_one_visible_map_on_group=True, expanded=True, visible=True, transparency=None, set_current=True) + end_time = datetime.datetime.now() + self.log.debug("Photo search time: %s" % (end_time - begin_time)) if not photo_search_layer or type(photo_search_layer) is not QgsVectorLayer: return @@ -2167,16 +2170,22 @@ def photo_preview(self, photo_name, rectified=False, stereo=False, only_one=True photo_label = self.photo_label % photo_name if photo_layer: # Update current photo_layer + begin_time = datetime.datetime.now() self.layers.update_wms_layer(photo_layer, wms_layer=layer_name, wms_style=photo_style) + end_time = datetime.datetime.now() + self.log.debug("Update photo raster time: %s" % (end_time - begin_time)) photo_layer.setName(photo_label) self.layers.set_visible(photo_layer) self.legend.set_group_visible_by_name(self.photos_group_name) else: # Load new preview layer at top (using WMS or UNC path to file) + begin_time = datetime.datetime.now() photo_layer = self.layers.add_wms_layer(photo_label, photolib_wms, [layer_name], [photo_style], "image/png", self.project.get_epsg(), extra_tags="referer=ICGC&bgcolor=0x000000", group_name=self.photos_group_name, group_pos=0, only_one_map_on_group=False, only_one_visible_map_on_group=False, collapsed=False, visible=True, transparency=None, set_current=False) + end_time = datetime.datetime.now() + self.log.debug("Load photo raster time: %s" % (end_time - begin_time)) self.photo_layer_id = photo_layer.id() if photo_layer else "" # Restore previous selected layer if current_layer: @@ -2193,7 +2202,7 @@ def show_photo_search_dialog(self, layer, years_list, current_year=None, title=N # If not exist dialog we create it else we configure and show it update_photo_time_callback = lambda current_year, range_year: self.update_photo_search_layer_year(layer, current_year, range_year) - update_photo_selection_callback = lambda photo_id: self.layers.set_selection(layer, [photo_id] if photo_id else []) + update_photo_selection_callback = lambda photo_id: self.layers.set_selection(layer, [photo_id] if photo_id is not None else []) show_info_callback = lambda photo_id: self.iface.openFeatureForm(layer, layer.getFeature(photo_id)) preview_callback = lambda photo_id: self.photo_preview(layer.getFeature(photo_id)['name']) rectified_preview_callback = lambda photo_id: self.photo_preview(layer.getFeature(photo_id)['name'], rectified=True) @@ -2212,7 +2221,7 @@ def show_photo_search_dialog(self, layer, years_list, current_year=None, title=N if not self.photo_search_dialog: self.photo_search_dialog = PhotoSearchSelectionDialog(layer, years_list, current_year, - update_photo_time_callback, update_photo_selection_callback, show_info_callback, + update_photo_time_callback, update_photo_selection_callback, show_info_callback, preview_callback, rectified_preview_callback, stereo_preview_callback, None, download_callback, request_certificate_callback, request_scan_callback, report_photo_bug_callback, autoshow=True, parent=self.iface.mainWindow()) @@ -2226,7 +2235,7 @@ def show_photo_search_dialog(self, layer, years_list, current_year=None, title=N # Configure search result information self.photo_search_dialog.set_info(layer, years_list, current_year, - update_photo_time_callback, update_photo_selection_callback, show_info_callback, + update_photo_time_callback, update_photo_selection_callback, show_info_callback, preview_callback, rectified_preview_callback, stereo_preview_callback, None, download_callback, request_certificate_callback, request_scan_callback, report_photo_bug_callback) # Mostrem el diàleg @@ -2242,7 +2251,7 @@ def update_photo_search_layer_year(self, photo_layer, current_year, range_year): if photo_layer: self.layers.set_categories_visible(photo_layer, set(self.search_photos_year_list) - set(year_range), False) self.layers.set_categories_visible(photo_layer, year_range, True) - self.layers.set_current_layer(photo_layer) # click in categories of layer can unselect layer... we fix it + #self.layers.set_current_layer(photo_layer) # click in categories of layer can unselect layer... we fix it self.layers.set_visible(photo_layer) # force visibility of photo layer self.legend.set_group_visible_by_name(self.photos_group_name) # force visibility of photo group @@ -2263,7 +2272,7 @@ def report_photo_bug(self, photo_name, flight_code="", photo_date="", photo_reso def save_map(self, report_template, title="Map"): """ Save current map as PDF applying a template """ - # Prepare a default filename + # Prepare a default filename municipality = self.get_current_municipality() default_filename = ("%s.pdf" % municipality) if municipality else "" default_pathname = os.path.join(self.layers.get_download_path(), default_filename) @@ -2271,7 +2280,7 @@ def save_map(self, report_template, title="Map"): pathname, _filter = QFileDialog.getSaveFileName( self.iface.mainWindow(), title, default_pathname, self.tr("PDF file (*.pdf)")) if not pathname: - return False + return False with WaitCursor(): # Load report template @@ -2305,16 +2314,16 @@ def save_map(self, report_template, title="Map"): note_item.setText(self.tr("This PDF shows all the data visible in the QGIS project at the time of its generation")) location_label_item = self.composer.get_composer_item_by_id(composition, "location_label") if location_label_item: - location_label_item.setText(self.tr("Location map:")) + location_label_item.setText(self.tr("Location map:")) topographic_label_item = self.composer.get_composer_item_by_id(composition, "topographic_label") if topographic_label_item: topographic_label_item.setText(self.tr("Topographic map:")) map_label_item = self.composer.get_composer_item_by_id(composition, "map_label") if map_label_item: - map_label_item.setText(self.tr("Map:")) + map_label_item.setText(self.tr("Map:")) # Save PDF status_ok = self.composer.export_composition(composition, pathname) - + # Open PDF if Ok if status_ok and os.path.exists(pathname): self.gui.open_file_folder(pathname) diff --git a/qlib3/base/pluginbase.py b/qlib3/base/pluginbase.py index 3ace970..3ef42ff 100644 --- a/qlib3/base/pluginbase.py +++ b/qlib3/base/pluginbase.py @@ -2253,7 +2253,7 @@ def classify_by_id(self, layer_idprefix, class_attribute=None, values_list=None, layer = self.get_by_id(layer_idprefix, pos) if not layer: return False - self.classify(layer, class_attribute, values_list, color_list, border_color_list, expand, width, size, opacity, use_current_symbol, base_symbol, label_function, alpha, sort, ininterpolate_colors) + self.classify(layer, class_attribute, values_list, color_list, border_color_list, expand, width, size, opacity, use_current_symbol, base_symbol, label_function, alpha, sort, interpolate_colors) return True def classify(self, layer, class_attribute=None, values_list=None, color_list=None, border_color_list=None, expand=None, width=None, size=None, opacity=None, use_current_symbol=True, base_symbol=None, label_function=None, alpha=None, sort=False, interpolate_colors=False): @@ -4534,8 +4534,7 @@ def add_group(self, group_name, expanded=True, visible_group=True, layer_list=[] group = self.move_group_to_group(group, group_parent, group_pos) if layer_list: self.move_layers_to_group(group, layer_list, visible_layer=visible_group) - if not expanded: - group.setExpanded(False) + group.setExpanded(expanded) return group def remove_group_by_name(self, group_name): @@ -4781,7 +4780,7 @@ def expand_group(self, group, expand=True): """ group.setExpanded(expand) - def is_group_expanded_by_name(self, group): + def is_group_expanded_by_name(self, group_name): """ Informa de si està expandit un grup per nom --- Informs if a group is expanded by name @@ -5088,7 +5087,7 @@ def select_epsg(self, asPrefixedText = False): ps.exec_() crs = ps.crs() if crs: - return format_epsg(crs.authid(), asPrefixedText) + return self.format_epsg(crs.authid(), asPrefixedText) else: return None @@ -5895,7 +5894,7 @@ def send_email(self, mail_to, subject="", body="", copy_to="", hidden_copy_to="" subject or " ", ("&body=%s" % urllib.parse.quote(body, safe="")) if body else "", ("&cc=%s" % copy_to) if copy_to else "", - ("&bcc=%s" % hidden_copy) if hidden_copy_to else "") + ("&bcc=%s" % hidden_copy_to) if hidden_copy_to else "") return self.parent.show_url(mail_url) diff --git a/qlib3/photosearchselectiondialog/photosearchselectiondialog.py b/qlib3/photosearchselectiondialog/photosearchselectiondialog.py index 9096a92..4313c0a 100644 --- a/qlib3/photosearchselectiondialog/photosearchselectiondialog.py +++ b/qlib3/photosearchselectiondialog/photosearchselectiondialog.py @@ -353,7 +353,7 @@ def update_photos(self): self.checkBox_inverted_stereo.setEnabled(enable) # Simulate update selection signal (and enable/disable selection dependent buttons) - self.on_photo_changed() + self.update_buttons() def set_time_series(self, time_series_list, current_time): """ Update year sliders information """ @@ -520,8 +520,10 @@ def get_selected_photo_name(self): photo_name = item.text() return photo_name - def select_photo(self, photo_id, year): + def select_photo(self, photo_id, year, update_map=False): """ Select specified photo in tableWidget """ + if self.get_selected_photo_id() == photo_id: + return # Search photo id in table row = None if photo_id is not None: @@ -531,22 +533,34 @@ def select_photo(self, photo_id, year): if photo_id2 == photo_id: row = i break + + # If no row and we have year, try change year and search again + if row is None and year: + self.set_current_time(year) + return self.select_photo(photo_id, year=None, update_map=update_map) + # Select found row (or not) + # Blocks events + self.tableWidget_photos.blockSignals(not update_map) if row is not None: self.tableWidget_photos.selectRow(row) - elif year: - # If we have year, try change year and search again - self.set_current_time(year) - self.select_photo(photo_id, year=None) else: self.tableWidget_photos.clearSelection() + self.tableWidget_photos.blockSignals(False) + self.update_buttons() def on_photo_changed(self): """ Mapped event to update photo layer selection when change selected photogram """ - # Select phootogram - photo_id, image_available, publishable, available, analog = self.get_selected_photo_info() + # Update dialog buttons + photo_id = self.update_buttons() + # Select phootogram on map if self.photo_selection_callback: self.photo_selection_callback(photo_id) + + def update_buttons(self): + """ Update dialog button state """ + photo_id, image_available, publishable, available, analog = self.get_selected_photo_info() + # Select year current_time, current_range = self.get_current_time_range() if self.update_callback and current_time: @@ -574,64 +588,66 @@ def on_photo_changed(self): self.pushButton_download_hd.setEnabled(enable and image_available and publishable and nominal_preview) self.pushButton_request_certificate.setEnabled(enable and image_available and publishable) self.pushButton_request_scan.setEnabled(enable and not image_available and available) + + return photo_id def show_info(self): """ Mapped event to show photo information when push button """ photo_id = self.get_selected_photo_id() - if self.show_info_callback and photo_id: + if self.show_info_callback and photo_id is not None: self.show_info_callback(photo_id) def preview(self): """ Mapped event to load photo raster when push button """ photo_id = self.get_selected_photo_id() - if self.preview_callback and photo_id: + if self.preview_callback and photo_id is not None: self.preview_callback(photo_id) self.preview_type = PreviewType.NOMINAL - self.on_photo_changed() + self.update_buttons() def rectified_preview(self): """ Mapped event to load rectified photo raster when push button """ photo_id = self.get_selected_photo_id() - if self.rectified_preview_callback and photo_id: + if self.rectified_preview_callback and photo_id is not None: self.rectified_preview_callback(photo_id) self.preview_type = PreviewType.RECTIFIED - self.on_photo_changed() + self.update_buttons() def stereo_preview(self): """ Mapped event to load stereo photo raster when push button """ photo_id = self.get_selected_photo_id() - if self.stereo_preview_callback and photo_id: + if self.stereo_preview_callback and photo_id is not None: self.stereo_preview_callback(photo_id) self.preview_type = PreviewType.STEREO - self.on_photo_changed() + self.update_buttons() def adjust(self): photo_id = self.get_selected_photo_id() - if self.adjust_callback and photo_id: + if self.adjust_callback and photo_id is not None: self.adjust_callback(photo_id) def download_hd(self): """ Mapped event to enable download tool when push button """ photo_id = self.get_selected_photo_id() - if self.download_callback and photo_id: + if self.download_callback and photo_id is not None: self.download_callback(photo_id) def request_certificate(self): """ Mapped event to request certificate when push button """ photo_id = self.get_selected_photo_id() - if self.request_certificate_callback and photo_id: + if self.request_certificate_callback and photo_id is not None: self.request_certificate_callback(photo_id) def request_scan(self): """ Mapped event to request certificate when push button """ photo_id = self.get_selected_photo_id() - if self.request_scan_callback and photo_id: + if self.request_scan_callback and photo_id is not None: self.request_scan_callback(photo_id) def report_bug(self): """ Mapped event to report bug when push button """ photo_id = self.get_selected_photo_id() - if self.report_bug_callback and photo_id: + if self.report_bug_callback and photo_id is not None: self.report_bug_callback(photo_id) def on_table_key_press(self, event): diff --git a/resources3/fme.py b/resources3/fme.py index 73808b5..755fc00 100644 --- a/resources3/fme.py +++ b/resources3/fme.py @@ -28,7 +28,7 @@ FME_URL = "https://qgis:qgis@descarregues.icgc.cat" # Servidor extern / adreça externa (producció) FME_DOWNLOAD_EPSG = 25831 - +FME_MAX_POLYGON_POINTS = 100 FME_AUTO_SEARCH = "Search" services_list = [