Ir para o conteúdo

 Voltar a Geral - usuá...
Tela cheia

Dúvida sobre mapa_inicia.php

28 de Julho de 2010, 10:15 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 2 vezes

Caros,

No arquivo "classesphp/mapa_inicia.php" tem um trecho que se estiver usando a interface do googlemaps ele altera a projeção de todas as camadas para epsg:4291 (linhas 113 a 134). Existe algum motivo para isso? Porque quando eu envio um shapefile que usa uma projecão diferente da epsg:4291 e alterno para a interface do googlemaps, o shape fica perdido pois sua projeção original é alterada (apenas alterada, e não convertida) para epsg:4291.

Removi o trecho de código que altera a projeção e isso "aparentemente " resolveu o problema.

Alguém sabe se remover esse trecho pode causar algum outro problema que não estou conseguindo ver?

 Abraços,

 

Victor Muniz Cezar
Embrapa Informática Agropecuária

Autor: Victor Cezar


55 comentários

  • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
    28 de Julho de 2010, 12:19

     

    O Google Maps utiliza a projeção Mercator, por isso é necessáRIo converter a projeção do layer para a projeção do mapa. Isso é feito pelo Mapserver tomando como parâmetro a definição da projeção de cada layer. Se não existir essa definição, utiliza-se o default.

    No código do i3geo, versão 4.3, é forçado o uso do 4291. Vc pode modificar o código dessa forma:

            if($l->getProjection() == MS_FALSE)
            {$l->setProjection("init=epsg:4291");}

    Ou seja, se a projeção já estiver definida, mantém-se a original. Na versão 4.4 beta já funciona assim.

    Vou corrigir o problema da versão 4.3 em um próximo pacote de correções.

    • 8748767d9c83198773fff76029006c01?only path=false&size=50&d=404Victor Cezar(usuário não autenticado)
      28 de Julho de 2010, 14:36

       

      Ah sim! Entendi ;)

      Só mais uma coisa. Alterando aqui para o que vc falou, ele não funcionou. Continuou alterando a projeção de todos. Algum problema com a constante MS_FALSE.

      Alterei para ao invés de comparar com MS_FALSE, comparar com uma string vazia:

      if($l->getProjection() == "")

      e funcionou certinho. Muito estranho!

      • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
        28 de Julho de 2010, 17:46

         

        Deve ser uma diferença entre as versões do Mapserver. Para garantir, use:

         if($l->getProjection() == "" || $l->getProjection() == MS_FALSE )

        • 8748767d9c83198773fff76029006c01?only path=false&size=50&d=404Victor Cezar(usuário não autenticado)
          29 de Julho de 2010, 10:44

           

          Não posso usar isso, porque se não todas as projeções são alteradas.

          A condição ( $l->getProjection() == MS_FALSE ) , no meu caso, está dando sempre como verdadeira, inclusive quando retorna uma string da projeção.

           

           

          Andei testando a versão 4.4 que vc falou, no próprio MMA. E gerei o seguinte mapfile, após alternar para interface do GoogleMaps:

          mapa​s.mm​a.go​v.br​/ms_​tmp/​zJHY​gnaH​rv/z​JHYg​naHr​v.ma​p&nb​sp;

          Do jeito que está o código, não era pra todas as layers terem a linha PROJECTION? Apenas a layer do shapefile que eu fiz upload aparece com PROJECTION.

          • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
            29 de Julho de 2010, 14:11

             

            É verdade. Percebi esmo, ou seja,deve-se criticar apenas se é = "", apesar de na documentação do Mapserver constar que o retorno é MS_FALSE quando a projeção não está definida.

            Gerei um pacote de correção sp8 para a versão 4.3 com essa e outras correções.

            Obrigado pelas informações.

acesso à versão beta do i3geosaude

19 de Março de 2015, 10:03, por Desconhecido

Prezados amigos, 



comunidade i3geosaude

7 de Janeiro de 2015, 10:22, por Desconhecido

Prezados Colaboradores,



Primeira Reunião do Grupo de Trabalho do i3Geo ocorre no dia 20 de novembro

6 de Novembro de 2013, 17:46, por Desconhecido

Na manhã do dia 20 de novembro, junto ao Seminário Anual do SISP, acontecerá a 1a. Reunião do Grupo de Trabalho da solução i3Geo, para tratar de necessidades de melhoria ou adaptação da solução disponível no Portal SPB, para uso pela Administração Pública Federal. Os anseios dos dirigentes de TI do Sistema de Administração de Recursos de Tecnologia da Informação – SISP, em busca de soluções disponíveis no Portal do SPB que atendam às necessidades da Administração e de cada Órgão em específico, foram objeto de discussão em reuniões da Comissão de Coordenação do Sistema ao longo de 2013. A formação do Grupo de Trabalho do i3Geo é resultado das atividades já realizadas até o momento entre os órgãos integrantes do SISP na reflexão, modelagem e aprimoramento do conceito e da finalidade do Software Público para a Administração Pública e para a Sociedade.



Testes com o i3Geo (Geosaúde) em Manaus

24 de Setembro de 2013, 11:39, por Desconhecido

Projeto do Departamento de Monitoramento e Avaliação do SUS (DEMAS) do Ministério da Saúde, iniciou os testes e implantação do i3Geo, distribuição "Geosaúde", na Secretaria Municipal de Saúde de Manaus.



Funai cria Portal de mapas baseado em tecnologias livres (i3Geo)

1 de Agosto de 2011, 18:27, por Desconhecido

Autor: Edmar Moretti