Commit 96f17bdbb9e6c355af2a9373c36b12c4cb641faf
1 parent
93cc47be
Exists in
master
and in
7 other branches
Correções no posicionamento de geometrias na interface OSM
Showing
7 changed files
with
69 additions
and
53 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/mapa_googlemaps.php
@@ -140,9 +140,10 @@ elseif ($_GET["X"] != ""){ | @@ -140,9 +140,10 @@ elseif ($_GET["X"] != ""){ | ||
140 | $_GET["WIDTH"] = 256; | 140 | $_GET["WIDTH"] = 256; |
141 | $_GET["HEIGHT"] = 256; | 141 | $_GET["HEIGHT"] = 256; |
142 | } | 142 | } |
143 | -else{ | 143 | +elseif(isset($_GET["BBOX"])){ |
144 | $_GET["mapext"] = str_replace(","," ",$_GET["BBOX"]); | 144 | $_GET["mapext"] = str_replace(","," ",$_GET["BBOX"]); |
145 | } | 145 | } |
146 | + | ||
146 | $mapa = ms_newMapObj($map_fileX); | 147 | $mapa = ms_newMapObj($map_fileX); |
147 | $ret = $mapa->extent; | 148 | $ret = $mapa->extent; |
148 | 149 |
ferramentas/cores.htm
@@ -44,11 +44,11 @@ navn = false; // netscape | @@ -44,11 +44,11 @@ navn = false; // netscape | ||
44 | var app = navigator.appName.substring(0,1); | 44 | var app = navigator.appName.substring(0,1); |
45 | if (app=='N') navn=true; else navm=true; | 45 | if (app=='N') navn=true; else navm=true; |
46 | 46 | ||
47 | -numl = 20 | ||
48 | -numc = 20 | ||
49 | -nco = 255 | 47 | +numl = 20; |
48 | +numc = 20; | ||
49 | +nco = 255; | ||
50 | 50 | ||
51 | -inicia("vermelho") | 51 | +inicia("vermelho"); |
52 | function inicia(esquema) | 52 | function inicia(esquema) |
53 | { | 53 | { |
54 | intnl = Math.ceil(nco / numl); | 54 | intnl = Math.ceil(nco / numl); |
@@ -56,7 +56,7 @@ function inicia(esquema) | @@ -56,7 +56,7 @@ function inicia(esquema) | ||
56 | r = 0; | 56 | r = 0; |
57 | g = 0; | 57 | g = 0; |
58 | b = 0; | 58 | b = 0; |
59 | - ins = "" | 59 | + ins = ""; |
60 | for (linhas = 1; linhas < numl; linhas++) | 60 | for (linhas = 1; linhas < numl; linhas++) |
61 | { | 61 | { |
62 | ins += "<tbody><tr>\n"; | 62 | ins += "<tbody><tr>\n"; |
@@ -79,29 +79,29 @@ function inicia(esquema) | @@ -79,29 +79,29 @@ function inicia(esquema) | ||
79 | if (esquema == "ciano"){b = 255; g = linhas; r = 0;} | 79 | if (esquema == "ciano"){b = 255; g = linhas; r = 0;} |
80 | if (esquema == "amarelo"){b = 0; g = linhas; r = 255;} | 80 | if (esquema == "amarelo"){b = 0; g = linhas; r = 255;} |
81 | } | 81 | } |
82 | - document.getElementById("cores").innerHTML = "\<table cellpadding='0' cellspacing='0' border='0'\>"+ins+"\<\/table\>" | 82 | + document.getElementById("cores").innerHTML = "\<table cellpadding='0' cellspacing='0' border='0'\>"+ins+"\<\/table\>"; |
83 | } | 83 | } |
84 | function muda (e) | 84 | function muda (e) |
85 | { | 85 | { |
86 | - inicia(e.value) | 86 | + inicia(e.value); |
87 | } | 87 | } |
88 | function mais() | 88 | function mais() |
89 | { | 89 | { |
90 | - nco = nco + 20 | ||
91 | - inicia(document.getElementById("esq").value) | 90 | + nco = nco + 20; |
91 | + inicia(document.getElementById("esq").value); | ||
92 | } | 92 | } |
93 | function menos() | 93 | function menos() |
94 | { | 94 | { |
95 | - nco = nco - 20 | ||
96 | - inicia(document.getElementById("esq").value) | 95 | + nco = nco - 20; |
96 | + inicia(document.getElementById("esq").value); | ||
97 | } | 97 | } |
98 | function aplicacor(c) | 98 | function aplicacor(c) |
99 | { | 99 | { |
100 | - var doc = unescape(((((window.location.href).split("doc="))[1]).split("&"))[0] ) | ||
101 | - var doc = (navm) ? window.parent.frames(doc).document : window.parent.document.getElementById(doc).contentDocument | 100 | + var doc = unescape(((((window.location.href).split("doc="))[1]).split("&"))[0] ); |
101 | + var doc = (navm) ? window.parent.frames(doc).document : window.parent.document.getElementById(doc).contentDocument; | ||
102 | var elemento = unescape(((((window.location.href).split("elemento="))[1]).split("&"))[0] ); | 102 | var elemento = unescape(((((window.location.href).split("elemento="))[1]).split("&"))[0] ); |
103 | - doc.getElementById(elemento).value = c | ||
104 | - window.parent.wdocafechaf('wdocac') | 103 | + doc.getElementById(elemento).value = c; |
104 | + window.parent.wdocafechaf('wdocac'); | ||
105 | } | 105 | } |
106 | </script> | 106 | </script> |
107 | </body> | 107 | </body> |
js/analise.js
@@ -528,7 +528,7 @@ i3GEO.analise = | @@ -528,7 +528,7 @@ i3GEO.analise = | ||
528 | * layer para receber os graficos | 528 | * layer para receber os graficos |
529 | */ | 529 | */ |
530 | inicia : function() { | 530 | inicia : function() { |
531 | - i3GEO.analise.medeDistancia.openlayers.estilo = | 531 | + i3GEO.analise.medeDistancia.openlayers.estilo = |
532 | new ol.style.Style({ | 532 | new ol.style.Style({ |
533 | stroke: new ol.style.Stroke({ | 533 | stroke: new ol.style.Stroke({ |
534 | color: '#ffcc33', | 534 | color: '#ffcc33', |
@@ -641,8 +641,10 @@ i3GEO.analise = | @@ -641,8 +641,10 @@ i3GEO.analise = | ||
641 | i3GEO.analise.medeDistancia.ultimoWkt = i3GEO.analise.medeDistancia.pontos2wkt(); | 641 | i3GEO.analise.medeDistancia.ultimoWkt = i3GEO.analise.medeDistancia.pontos2wkt(); |
642 | // raio | 642 | // raio |
643 | if ($i("pararraios") && $i("pararraios").checked === true) { | 643 | if ($i("pararraios") && $i("pararraios").checked === true) { |
644 | + | ||
645 | + temp = i3GEO.util.projGeo2OSM(new ol.geom.Point([x1*1, y1*1])); | ||
644 | circ = new ol.Feature({ | 646 | circ = new ol.Feature({ |
645 | - geometry: new ol.geom.Circle([x1, y1],raio) | 647 | + geometry: new ol.geom.Circle(temp.getCoordinates(),raio) |
646 | }); | 648 | }); |
647 | circ.setProperties({ | 649 | circ.setProperties({ |
648 | origem : "medeDistanciaExcluir" | 650 | origem : "medeDistanciaExcluir" |
@@ -661,7 +663,7 @@ i3GEO.analise = | @@ -661,7 +663,7 @@ i3GEO.analise = | ||
661 | // desenha ponto | 663 | // desenha ponto |
662 | if ($i("parartextos") && $i("parartextos").checked === true) { | 664 | if ($i("parartextos") && $i("parartextos").checked === true) { |
663 | label = new ol.Feature({ | 665 | label = new ol.Feature({ |
664 | - geometry: new ol.geom.Point([x2, y2]) | 666 | + geometry: i3GEO.util.projGeo2OSM(new ol.geom.Point([x2*1, y2*1])) |
665 | }); | 667 | }); |
666 | label.setProperties({ | 668 | label.setProperties({ |
667 | origem : "medeDistanciaExcluir" | 669 | origem : "medeDistanciaExcluir" |
@@ -1236,8 +1238,8 @@ i3GEO.analise = | @@ -1236,8 +1238,8 @@ i3GEO.analise = | ||
1236 | x1 = temp[0]; | 1238 | x1 = temp[0]; |
1237 | y1 = temp[1]; | 1239 | y1 = temp[1]; |
1238 | } | 1240 | } |
1239 | - per += i3GEO.calculo.distancia(x1, y1, x2, y2); | ||
1240 | - //getGeodesicArea | 1241 | + per += i3GEO.calculo.distancia(x1, y1, x2, y2); |
1242 | + //getGeodesicArea | ||
1241 | sourceProj = i3geoOL.getView().getProjection(); | 1243 | sourceProj = i3geoOL.getView().getProjection(); |
1242 | geom = (geom.clone().transform(sourceProj, 'EPSG:4326')); | 1244 | geom = (geom.clone().transform(sourceProj, 'EPSG:4326')); |
1243 | coordinates = geom.getLinearRing(0).getCoordinates(); | 1245 | coordinates = geom.getLinearRing(0).getCoordinates(); |
js/desenho.js
@@ -346,9 +346,7 @@ i3GEO.desenho = | @@ -346,9 +346,7 @@ i3GEO.desenho = | ||
346 | ox = 0.5; | 346 | ox = 0.5; |
347 | oy = 1; | 347 | oy = 1; |
348 | } | 348 | } |
349 | - point = new ol.geom.Point([x, y]); | ||
350 | - point = i3GEO.util.extGeo2OSM(point); | ||
351 | - | 349 | + point = i3GEO.util.extGeo2OSM(new ol.geom.Point([x, y])); |
352 | f = new ol.Feature({ | 350 | f = new ol.Feature({ |
353 | geometry: point | 351 | geometry: point |
354 | }); | 352 | }); |
@@ -386,7 +384,8 @@ i3GEO.desenho = | @@ -386,7 +384,8 @@ i3GEO.desenho = | ||
386 | } | 384 | } |
387 | }, | 385 | }, |
388 | movePin : function(pin, x, y) { | 386 | movePin : function(pin, x, y) { |
389 | - pin.getGeometry().setCoordinates([x,y]); | 387 | + var point = i3GEO.util.extGeo2OSM(new ol.geom.Point([x, y])); |
388 | + pin.getGeometry().setCoordinates(point.getCoordinates()); | ||
390 | }, | 389 | }, |
391 | criaLayerGrafico : function() { | 390 | criaLayerGrafico : function() { |
392 | if (!i3GEO.desenho.layergrafico) { | 391 | if (!i3GEO.desenho.layergrafico) { |
js/interface.js
@@ -825,9 +825,7 @@ i3GEO.Interface = | @@ -825,9 +825,7 @@ i3GEO.Interface = | ||
825 | }); | 825 | }); |
826 | p.baloes.push(b); | 826 | p.baloes.push(b); |
827 | i3geoOL.addOverlay(b); | 827 | i3geoOL.addOverlay(b); |
828 | - b.setPosition([ | ||
829 | - x, y | ||
830 | - ]); | 828 | + b.setPosition(i3GEO.util.projGeo2OSM(new ol.geom.Point([x, y])).getCoordinates()); |
831 | }, | 829 | }, |
832 | /** | 830 | /** |
833 | * Redesenha o mapa atual | 831 | * Redesenha o mapa atual |
@@ -1557,7 +1555,6 @@ i3GEO.Interface = | @@ -1557,7 +1555,6 @@ i3GEO.Interface = | ||
1557 | opcoes.isBaseLayer = false; | 1555 | opcoes.isBaseLayer = false; |
1558 | opcoes.visible = true; | 1556 | opcoes.visible = true; |
1559 | } else { | 1557 | } else { |
1560 | - | ||
1561 | // verifica se havera apenas um tile | 1558 | // verifica se havera apenas um tile |
1562 | // 10 e do tipo grid de coordenadas | 1559 | // 10 e do tipo grid de coordenadas |
1563 | if (camada.tiles === "nao" || camada.escondido.toLowerCase() === "sim" | 1560 | if (camada.tiles === "nao" || camada.escondido.toLowerCase() === "sim" |
@@ -1598,19 +1595,30 @@ i3GEO.Interface = | @@ -1598,19 +1595,30 @@ i3GEO.Interface = | ||
1598 | }); | 1595 | }); |
1599 | source.set("tipoServico", "ImageWMS"); | 1596 | source.set("tipoServico", "ImageWMS"); |
1600 | } else { | 1597 | } else { |
1601 | - source = new ol.source.WMTS({ | ||
1602 | - url : urllayer, | ||
1603 | - matrixSet : opcoes.projection, | ||
1604 | - format : 'image/png', | ||
1605 | - projection : opcoes.projection, | ||
1606 | - tileGrid : new ol.tilegrid.WMTS({ | ||
1607 | - origin : ol.extent.getTopLeft(projectionExtent), | ||
1608 | - resolutions : resolutions, | ||
1609 | - matrixIds : matrixIds | ||
1610 | - }), | ||
1611 | - wrapX : true | ||
1612 | - }); | ||
1613 | - source.set("tipoServico", "WMTS"); | 1598 | + if(i3GEO.Interface.openlayers.googleLike === false){ |
1599 | + source = new ol.source.WMTS({ | ||
1600 | + url : urllayer, | ||
1601 | + matrixSet : opcoes.projection, | ||
1602 | + format : 'image/png', | ||
1603 | + projection : opcoes.projection, | ||
1604 | + tileGrid : new ol.tilegrid.WMTS({ | ||
1605 | + origin : ol.extent.getTopLeft(projectionExtent), | ||
1606 | + resolutions : resolutions, | ||
1607 | + matrixIds : matrixIds | ||
1608 | + }), | ||
1609 | + wrapX : true | ||
1610 | + }); | ||
1611 | + source.set("tipoServico", "WMTS"); | ||
1612 | + }else{ | ||
1613 | + source = new ol.source.XYZ({ | ||
1614 | + url : urllayer+"&X={x}&Y={y}&Z={z}", | ||
1615 | + matrixSet : opcoes.projection, | ||
1616 | + format : 'image/png', | ||
1617 | + projection : opcoes.projection, | ||
1618 | + wrapX : true | ||
1619 | + }); | ||
1620 | + source.set("tipoServico", "WMTS"); | ||
1621 | + } | ||
1614 | } | 1622 | } |
1615 | opcoes.title = camada.tema; | 1623 | opcoes.title = camada.tema; |
1616 | opcoes.name = camada.name; | 1624 | opcoes.name = camada.name; |
js/util.js
@@ -2946,11 +2946,11 @@ i3GEO.util = | @@ -2946,11 +2946,11 @@ i3GEO.util = | ||
2946 | } | 2946 | } |
2947 | if (temp[0] * 1 <= 180 && temp[0] * 1 >= -180) { | 2947 | if (temp[0] * 1 <= 180 && temp[0] * 1 >= -180) { |
2948 | point = new ol.geom.Point([temp[0]*1, temp[1]*1]); | 2948 | point = new ol.geom.Point([temp[0]*1, temp[1]*1]); |
2949 | - metrica = point.transform("EPSG:4326","EPSG:900913"); | 2949 | + metrica = point.transform("EPSG:4326","EPSG:3857"); |
2950 | ext = metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; | 2950 | ext = metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; |
2951 | if (temp.length > 2) { | 2951 | if (temp.length > 2) { |
2952 | point = new ol.geom.Point([temp[2]*1, temp[3]*1]); | 2952 | point = new ol.geom.Point([temp[2]*1, temp[3]*1]); |
2953 | - metrica = point.transform("EPSG:4326","EPSG:900913"); | 2953 | + metrica = point.transform("EPSG:4326","EPSG:3857"); |
2954 | ext += sep + metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; | 2954 | ext += sep + metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; |
2955 | } | 2955 | } |
2956 | } | 2956 | } |
@@ -2967,7 +2967,7 @@ i3GEO.util = | @@ -2967,7 +2967,7 @@ i3GEO.util = | ||
2967 | * Converte string 'xmin ymin xmax ymax' ou 'xmin ymin' de geo para a projecao OSM | 2967 | * Converte string 'xmin ymin xmax ymax' ou 'xmin ymin' de geo para a projecao OSM |
2968 | */ | 2968 | */ |
2969 | extOSM2Geo : function(ext, retornaArray) { | 2969 | extOSM2Geo : function(ext, retornaArray) { |
2970 | - var metrica, point, temp, sep; | 2970 | + var point, temp, sep; |
2971 | sep = " "; | 2971 | sep = " "; |
2972 | if (typeof ext == "object") { | 2972 | if (typeof ext == "object") { |
2973 | return i3GEO.util.projOSM2Geo(ext); | 2973 | return i3GEO.util.projOSM2Geo(ext); |
@@ -2980,12 +2980,12 @@ i3GEO.util = | @@ -2980,12 +2980,12 @@ i3GEO.util = | ||
2980 | } | 2980 | } |
2981 | if (temp[0] * 1 >= 180 || temp[0] * 1 <= -180) { | 2981 | if (temp[0] * 1 >= 180 || temp[0] * 1 <= -180) { |
2982 | point = new ol.geom.Point([temp[0], temp[1]]); | 2982 | point = new ol.geom.Point([temp[0], temp[1]]); |
2983 | - metrica = point.transform("EPSG:900913","EPSG:4326"); | ||
2984 | - ext = metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; | 2983 | + point.transform("EPSG:3857","EPSG:4326"); |
2984 | + ext = point.getCoordinates()[0] + sep + point.getCoordinates()[1]; | ||
2985 | if (temp.length > 2) { | 2985 | if (temp.length > 2) { |
2986 | point = new ol.geom.Point([temp[2], temp[3]]); | 2986 | point = new ol.geom.Point([temp[2], temp[3]]); |
2987 | - metrica = point.transform("EPSG:900913","EPSG:4326"); | ||
2988 | - ext += sep + metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; | 2987 | + point.transform("EPSG:3857","EPSG:4326"); |
2988 | + ext += sep + point.getCoordinates()[0] + sep + point.getCoordinates()[1]; | ||
2989 | } | 2989 | } |
2990 | } | 2990 | } |
2991 | } | 2991 | } |
@@ -3002,9 +3002,12 @@ i3GEO.util = | @@ -3002,9 +3002,12 @@ i3GEO.util = | ||
3002 | */ | 3002 | */ |
3003 | projOSM2Geo : function(obj) { | 3003 | projOSM2Geo : function(obj) { |
3004 | if (i3GEO.Interface.openlayers.googleLike === true) { | 3004 | if (i3GEO.Interface.openlayers.googleLike === true) { |
3005 | - obj = obj.transform("EPSG:900913","EPSG:4326"); | 3005 | + var clone = obj.clone(); |
3006 | + clone.transform("EPSG:3857","EPSG:4326"); | ||
3007 | + return clone; | ||
3008 | + }else{ | ||
3009 | + return obj; | ||
3006 | } | 3010 | } |
3007 | - return obj; | ||
3008 | }, | 3011 | }, |
3009 | /** | 3012 | /** |
3010 | * Function: projGeo2OSM | 3013 | * Function: projGeo2OSM |
@@ -3013,9 +3016,12 @@ i3GEO.util = | @@ -3013,9 +3016,12 @@ i3GEO.util = | ||
3013 | */ | 3016 | */ |
3014 | projGeo2OSM : function(obj) { | 3017 | projGeo2OSM : function(obj) { |
3015 | if (i3GEO.Interface.openlayers.googleLike === true) { | 3018 | if (i3GEO.Interface.openlayers.googleLike === true) { |
3016 | - obj = obj.transform("EPSG:4326","EPSG:900913"); | 3019 | + var clone = obj.clone(); |
3020 | + clone.transform("EPSG:4326","EPSG:3857"); | ||
3021 | + return clone; | ||
3022 | + }else{ | ||
3023 | + return obj; | ||
3017 | } | 3024 | } |
3018 | - return obj; | ||
3019 | }, | 3025 | }, |
3020 | /** | 3026 | /** |
3021 | * Function: navegadorDir | 3027 | * Function: navegadorDir |