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 | 140 | $_GET["WIDTH"] = 256; |
| 141 | 141 | $_GET["HEIGHT"] = 256; |
| 142 | 142 | } |
| 143 | -else{ | |
| 143 | +elseif(isset($_GET["BBOX"])){ | |
| 144 | 144 | $_GET["mapext"] = str_replace(","," ",$_GET["BBOX"]); |
| 145 | 145 | } |
| 146 | + | |
| 146 | 147 | $mapa = ms_newMapObj($map_fileX); |
| 147 | 148 | $ret = $mapa->extent; |
| 148 | 149 | ... | ... |
ferramentas/cores.htm
| ... | ... | @@ -44,11 +44,11 @@ navn = false; // netscape |
| 44 | 44 | var app = navigator.appName.substring(0,1); |
| 45 | 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 | 52 | function inicia(esquema) |
| 53 | 53 | { |
| 54 | 54 | intnl = Math.ceil(nco / numl); |
| ... | ... | @@ -56,7 +56,7 @@ function inicia(esquema) |
| 56 | 56 | r = 0; |
| 57 | 57 | g = 0; |
| 58 | 58 | b = 0; |
| 59 | - ins = "" | |
| 59 | + ins = ""; | |
| 60 | 60 | for (linhas = 1; linhas < numl; linhas++) |
| 61 | 61 | { |
| 62 | 62 | ins += "<tbody><tr>\n"; |
| ... | ... | @@ -79,29 +79,29 @@ function inicia(esquema) |
| 79 | 79 | if (esquema == "ciano"){b = 255; g = linhas; r = 0;} |
| 80 | 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 | 84 | function muda (e) |
| 85 | 85 | { |
| 86 | - inicia(e.value) | |
| 86 | + inicia(e.value); | |
| 87 | 87 | } |
| 88 | 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 | 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 | 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 | 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 | 106 | </script> |
| 107 | 107 | </body> | ... | ... |
js/analise.js
| ... | ... | @@ -528,7 +528,7 @@ i3GEO.analise = |
| 528 | 528 | * layer para receber os graficos |
| 529 | 529 | */ |
| 530 | 530 | inicia : function() { |
| 531 | - i3GEO.analise.medeDistancia.openlayers.estilo = | |
| 531 | + i3GEO.analise.medeDistancia.openlayers.estilo = | |
| 532 | 532 | new ol.style.Style({ |
| 533 | 533 | stroke: new ol.style.Stroke({ |
| 534 | 534 | color: '#ffcc33', |
| ... | ... | @@ -641,8 +641,10 @@ i3GEO.analise = |
| 641 | 641 | i3GEO.analise.medeDistancia.ultimoWkt = i3GEO.analise.medeDistancia.pontos2wkt(); |
| 642 | 642 | // raio |
| 643 | 643 | if ($i("pararraios") && $i("pararraios").checked === true) { |
| 644 | + | |
| 645 | + temp = i3GEO.util.projGeo2OSM(new ol.geom.Point([x1*1, y1*1])); | |
| 644 | 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 | 649 | circ.setProperties({ |
| 648 | 650 | origem : "medeDistanciaExcluir" |
| ... | ... | @@ -661,7 +663,7 @@ i3GEO.analise = |
| 661 | 663 | // desenha ponto |
| 662 | 664 | if ($i("parartextos") && $i("parartextos").checked === true) { |
| 663 | 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 | 668 | label.setProperties({ |
| 667 | 669 | origem : "medeDistanciaExcluir" |
| ... | ... | @@ -1236,8 +1238,8 @@ i3GEO.analise = |
| 1236 | 1238 | x1 = temp[0]; |
| 1237 | 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 | 1243 | sourceProj = i3geoOL.getView().getProjection(); |
| 1242 | 1244 | geom = (geom.clone().transform(sourceProj, 'EPSG:4326')); |
| 1243 | 1245 | coordinates = geom.getLinearRing(0).getCoordinates(); | ... | ... |
js/desenho.js
| ... | ... | @@ -346,9 +346,7 @@ i3GEO.desenho = |
| 346 | 346 | ox = 0.5; |
| 347 | 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 | 350 | f = new ol.Feature({ |
| 353 | 351 | geometry: point |
| 354 | 352 | }); |
| ... | ... | @@ -386,7 +384,8 @@ i3GEO.desenho = |
| 386 | 384 | } |
| 387 | 385 | }, |
| 388 | 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 | 390 | criaLayerGrafico : function() { |
| 392 | 391 | if (!i3GEO.desenho.layergrafico) { | ... | ... |
js/interface.js
| ... | ... | @@ -825,9 +825,7 @@ i3GEO.Interface = |
| 825 | 825 | }); |
| 826 | 826 | p.baloes.push(b); |
| 827 | 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 | 831 | * Redesenha o mapa atual |
| ... | ... | @@ -1557,7 +1555,6 @@ i3GEO.Interface = |
| 1557 | 1555 | opcoes.isBaseLayer = false; |
| 1558 | 1556 | opcoes.visible = true; |
| 1559 | 1557 | } else { |
| 1560 | - | |
| 1561 | 1558 | // verifica se havera apenas um tile |
| 1562 | 1559 | // 10 e do tipo grid de coordenadas |
| 1563 | 1560 | if (camada.tiles === "nao" || camada.escondido.toLowerCase() === "sim" |
| ... | ... | @@ -1598,19 +1595,30 @@ i3GEO.Interface = |
| 1598 | 1595 | }); |
| 1599 | 1596 | source.set("tipoServico", "ImageWMS"); |
| 1600 | 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 | 1623 | opcoes.title = camada.tema; |
| 1616 | 1624 | opcoes.name = camada.name; | ... | ... |
js/util.js
| ... | ... | @@ -2946,11 +2946,11 @@ i3GEO.util = |
| 2946 | 2946 | } |
| 2947 | 2947 | if (temp[0] * 1 <= 180 && temp[0] * 1 >= -180) { |
| 2948 | 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 | 2950 | ext = metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; |
| 2951 | 2951 | if (temp.length > 2) { |
| 2952 | 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 | 2954 | ext += sep + metrica.getCoordinates()[0] + sep + metrica.getCoordinates()[1]; |
| 2955 | 2955 | } |
| 2956 | 2956 | } |
| ... | ... | @@ -2967,7 +2967,7 @@ i3GEO.util = |
| 2967 | 2967 | * Converte string 'xmin ymin xmax ymax' ou 'xmin ymin' de geo para a projecao OSM |
| 2968 | 2968 | */ |
| 2969 | 2969 | extOSM2Geo : function(ext, retornaArray) { |
| 2970 | - var metrica, point, temp, sep; | |
| 2970 | + var point, temp, sep; | |
| 2971 | 2971 | sep = " "; |
| 2972 | 2972 | if (typeof ext == "object") { |
| 2973 | 2973 | return i3GEO.util.projOSM2Geo(ext); |
| ... | ... | @@ -2980,12 +2980,12 @@ i3GEO.util = |
| 2980 | 2980 | } |
| 2981 | 2981 | if (temp[0] * 1 >= 180 || temp[0] * 1 <= -180) { |
| 2982 | 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 | 2985 | if (temp.length > 2) { |
| 2986 | 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 | 3002 | */ |
| 3003 | 3003 | projOSM2Geo : function(obj) { |
| 3004 | 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 | 3013 | * Function: projGeo2OSM |
| ... | ... | @@ -3013,9 +3016,12 @@ i3GEO.util = |
| 3013 | 3016 | */ |
| 3014 | 3017 | projGeo2OSM : function(obj) { |
| 3015 | 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 | 3027 | * Function: navegadorDir | ... | ... |