Ao passo que cada linha do TXT do CNEFE está em ordem decrescente e
percorre a quadra (fechada ou não) da face N para a face 1, é possível
criar por meio de programa um XML já com a numeração de casas
esparramadas ao longo da face.

Se a gente conseguir fazer essa ideia sair do papel, não será preciso
ter que esparramar manualmente os números nas faces, ou seja, "80%" de
redução de trabalho braçal.

Alguém de vocês já programou escrevendo em arquivos XML? Pessoalmente
eu peguei a manha de ler arquivos XML em PHP, mas escrever um XML
nunca fiz. Posso até aprender, não me parece difícil. Mas não tenho
certeza que PHP seja a linguagem ideal, se há que exista, para
escrever os arquivos XML OSM. E mesmo que consiga escrever XML
precisaria de ajuda na parte lógica.

Alguém saberia onde encontrar programadores experientes dispostos (a
ajudar) a criar um programa para fazer isso? A menos que a gente tenha
aqui na lista mesmo ;) Ou todos são programadores :0 ???? Eu sou mais
um entusiasta do que alguém preparado para isso.

Algorítimo: Ponta-pé inicial:

Algoritimo CNEFE_XML_OSM;

  Ler o arquivo “.osm” (XML) com as faces.  Armazenar os atributos de
cada face em um vetor;

  Ler o aquivo cnefeTXT. Armazenar os atributos de cada casa em um vetor;

  Para cada vetor(cnefeTXT) faça {
        Busca no vetor de faces, a face correspondente;
        Obtêm-se os nodes dos extremos da face;
        Analisa-se o sentido do way da face, observando que o último node da
face atual será o primeiro node da face antecessora (visto que o
cnefeTXT está em ordem decrescente);
        Com base nas coordenadas dos extremos das faces e com o uso de
geometria, aloca-se os pontos ao longo da face;
        Escreve no XML os nodes e seus atributos;
        Escreve no XML as faces e seus atributos, extinguindo-se os nodes
originais, e adicionando-se os nodes alocados como referencia;
  }

FIM_Algoritimo;

_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-br

Responder a