Ir para o conteúdo

 Voltar a Geral - usuá...
Tela cheia

Bug do datadownload

6 de Agosto de 2009, 15:31 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 9 vezes

Olá

Estamos trabalhando com a versão 4.1.1 do i3geo. Estamos enfretando problemas para realizar o download dos temas através da página datadownload. Nenhum tema efetua o download corretamente, tanto temas do postgis quanto temas de shapefiles.

Consegui identificar o problema na classe funcoes_gerais.php , mas especificamente na função downloadTema() .

Gostaria de saber se este problema já foi corrigido na versão 4.2 beta2 !

Caso contrário tentarei corrigir o problema aqui alterando a função.

Obrigado !

Autor: Leandro Leal Parente


55 comentários

  • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
    6 de Agosto de 2009, 17:06

     

    Leandro:

    Não tinha conhecimento do bug, então não sei se o problema persiste na versão 4.2 beta (já está na beta 3). Sugiro que vc use o SVN para manter seus códigos atualizados no ambiente de produção, dessa forma, posso ajudar vc a resolver o problema.

    O arquivo da versão 4.2 beta 3, já está desatualizado, pois fiz algumas correções no código hoje, por isso seria importante vc usar o SVN.

    Se vc preferir alterar o código vc mesmo, por favor me dê um retorno sobre o problema encontrado e a solução, dessa forma eu posso incorporar seu código nas novas versões.

    • 3fda06c11b1614491646246c387584ee?only path=false&size=50&d=404Leandro Leal Parente(usuário não autenticado)
      6 de Agosto de 2009, 18:30

       

      Solução para o primeiro problema:

      O datadownload não estava funcionando porque nos meus mapfiles o atributo NAME e NOMEORIGINAL não estava com o mesmo nome do arquivo mapfile. Por exemplo:

      Meu arquivo chamava geo_localidades.map e nos atributos NAME e NOMEORIGINAL estava escrito apenas "localidades".

      Quando eu alterei isto  o datadownload passou a funcionar corretamente, para shapefiles e para temas do Postgis.

      Portanto o problema não era na função PHP e sim na configuração dos meus mapfiles.

      Segundo problema:

      Dentro função criaSHP no momento em que os atributos do dbf na linha 1622 está assim:

      $def[] = array($temp,"C","254");

      Isto indica que todos os campos do dbf terão 254 caracteres de tamanho incluindo campos númericos. Entretanto isto aumento muito o tamanho do dbf o que em alguns casos dificulta o download do tema.

      É possivel adicionarmos um campos dentro dos METADADOS do mapfile que indicasse o tipo e o tamanho de cada campo do dbf ?

      Ou seria melhor acessar cada tabela do tema e verificar o tipo e o tamanho de cada atributo no PostgreSQL?

      Outra dúvida, a função pegaItens() pega apenas o esta dentro do campo "ITENS" do METADADOS no mapfile

      • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
        6 de Agosto de 2009, 23:53

         

        Fiz algumas mudanças nas rotinas de download para melhorar a documentação, o retorno das mensagens de erro e o download de imagens, quando for o caso.

        Não tem como determinar o tipo de campo e seu tamanho. O Mapserver não tem essa função e é difícil prever cada caso, por exemplo, o layer pode estar usando o Oracle, SDE, etc. Fica difícil criar uma rotina para cada caso. Uma alternativa seria pegar alguns dados e verificar se é numero ou texto, mas isso pode provocar erros de interpretação, seria necessário ler todos os dados, e aí demora muito (um layer pode ter milhares de registros). Colocar as informações em um metadado poderia ser a solução, mas é muito trabalhosa para o usuário. Talvez algo opcional. Mas como seria, uma lista? E se o sql for "select * from"...? Pega-se apenas o que está no metadata "ITENS"?

        A função pegaItens retorna todos os itens.

        Não precisa definir o metadata "NOMEORIGINAL", ele é usado apenas internamente pelo i3Geo para guardar o código original do layer. Quando um layer é adicionado, o NAME é alterado, dessa forma, pode-se adicionar o mesmo layer mais de uma vez. O NAME original é então guardado em NOMEORIGINAL para ser usado em funções que precisam saber isso.

        Um abraço e obrigado. Se vc tiver alguma outra idéia ou observação, entre em contato.

        • 3fda06c11b1614491646246c387584ee?only path=false&size=50&d=404Leandro Leal Parente(usuário não autenticado)
          7 de Agosto de 2009, 8:08

           

          Primeiramente obrigado pelos esclarecimentos.

          Seria possível inserir na seção METADADA do mapfile uma nova informação como "TIPOITENS" ?

          "Mas como seria, uma lista? "

          O campo "TIPOITENS" seria algo como:

          "TIPOITENS"  "N-8,  N-8.6, C-20  D-12,  L"

          "ITENS"  "campo_inteiro, campo_double, campo_caractere, campo_date, campo_boolean"

          A informação de "TIPOITENS" seria algo opcional, e não precisaria conter o tipo de todos os ITENS. Para os ITENS que não tivessem TIPOS seria utilizado o tipo caractere com tamanho 254.

          "E se o sql for "select * from"...? Pega-se apenas o que está no metadata "ITENS"? "

          Poderíamos incluir no dbf apenas o que foi informado em "ITENS"

          Isto é possível e viável ?

          • 04f1e660b0aa64c4b4491da31b6b3356?only path=false&size=50&d=404Edmar Moretti(usuário não autenticado)
            7 de Agosto de 2009, 17:47

             

            Ok. implementarei dessa forma. Por favor, adicione um ticket no TRAC (http://svn.softwarepublico.gov.br/trac/i3geo) do i3Geo para que a proposta fique registrada.

            []'s

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