Importar dados e exportar em ordem especifica

63 views
Skip to first unread message

Daniel Basilio

unread,
Dec 28, 2016, 3:14:56 PM12/28/16
to qgisbrasil
Galera, visando o desenvolvimento de uma ferramenta de apoio ao GEORREFERECIAMENTO DE IMOVEIS RURAIS, eu pensei na seguinte solucao usando o QGIS, porem nao consigo executar.
O processo de GEO é simples:
1º Importa dados (Ponto, X, Y, Z, sigmaX, SigmaY, SigmaZ) e o CONFRONTANTE/CONFINANTE.
2° Exportar esses mesmos dados da seguinte forma: Primeiro ponto precisa ser mais ao NORTE e precisam estar no sentido HORARIO.
Alguem consegue me ajudar a chegar nesse resultado? 
Em anexo esta os pontos e o poligono que podemos usar como teste. 

Daniel Basilio

unread,
Dec 28, 2016, 3:30:17 PM12/28/16
to qgisbrasil

Arquivos
POLIGONO.dxf
PTS_GEO_QGIS.xls

yjmenezes

unread,
Dec 29, 2016, 7:08:18 AM12/29/16
to qgisbrasil
@Daniel,

Bom dia !

Escrevi tres  scripts em 2014 que fazem +- 99% do que deseja.
Teria de edita-los para atender ao seu caso.

Nao testei mas devem rodar no MSYS, pois vi que usa Windows.
O "layout" dos dados eh simples, bem parecido com o seu exemplo.

# cria um conjunto de dados exemplo
./0_cria_dados_memorial.sh  > pontoscampo.txt

# seleciona o ponto mais ao norte e gira os pontos
./1_ponto_norte_giro_txt.sh < pontoscampo.txt  > pontosnorte.txt

# gera os azimutes planos e distancias planas para o memorial descritivo
./2_memorial_awk.sh < pontosnorte.txt  > memorial.txt

# ou fazendo tudo de uma unica vez, sem arquivos intermediarios e gerando o memorial
./0_cria_dados_memorial.sh | ./1_ponto_norte_giro_txt.sh | ./2_memorial_awk.sh > memorial.txt

[]s
julio
cartognu.org


Em quarta-feira, 28 de dezembro de 2016 18:30:17 UTC-2, Daniel Basilio escreveu:

Arquivos
memorial.zip

Daniel Basilio

unread,
Dec 29, 2016, 7:23:57 AM12/29/16
to qgisbrasil
Muito obrigado pela ajuda....
Tem apenas um porem, isso é meio que "grego" pra mim... kkkkkk eu nao faço ideia de como por isso pra funcionar, eu ate achei o MSYS mas to perdido mesmo!
Quanto voce cobraria pra me ajudar nisso, de modo que eu chegue no resultado que preciso?

Daniel Basilio

unread,
Dec 29, 2016, 7:48:20 AM12/29/16
to qgisbrasil

Olha ai o que aconteceu....


Em quinta-feira, 29 de dezembro de 2016 10:08:18 UTC-2, yjmenezes escreveu:

yjmenezes

unread,
Dec 29, 2016, 8:05:36 AM12/29/16
to qgisbrasil
@Daniel,

Isso mesmo, este eh o caminho para gerar o memorial descritivo.

Seguem resultados com seus dados, apos edicao do CSV para colocar pontos na sequencia formando uma poligonal.

# editado PTS_GEO_QGIS.csv, manualmente, porque os pontos nao estavam em sequencia
# tr traduz de virgula para espaco, elimina linhas em branco com grep
cat PTS_GEO_QGIS.csv | tr \, " " | | grep -v ^$ | ./1_ponto_norte_giro_txt.sh > PTS_GEO_QGIS_norte.txt
./2_memorial_awk.sh < PTS_GEO_QGIS_norte.txt  > PTS_GEO_QGIS_memorial.txt 

[]s
julio
cartognu.org
PS: estas ferramentas do MSYS vem por padrao em *NIX, MacOSX... Ou seja, um GNU/Linux puro ja faria o trabalho.
PTS_GEO_QGIS_ler.zip

Daniel Basilio

unread,
Dec 29, 2016, 8:19:55 AM12/29/16
to qgisbrasil
Continua dando a mesma mensagem e nao roda
;/////////////

Daniel Basilio

unread,
Dec 29, 2016, 8:27:04 AM12/29/16
to qgisbrasil


O erro nao sera devido o SO ser Windows nao?

Em quinta-feira, 29 de dezembro de 2016 11:05:36 UTC-2, yjmenezes escreveu:

yjmenezes

unread,
Dec 29, 2016, 8:36:49 AM12/29/16
to qgisbrasil
Daniel,

desculpe, havia m duas barras verticais ( pipe ) antes do GREP, o correto seria uma so, para passar a saida do CAT como entrada TR e depois para entrada do GREP;
CAT lista o arquivo
TR traduz de virgula para espaco, no caso
GREP ^$ filtra e descarta linhas vazias


cat PTS_GEO_QGIS.csv | tr \, " " | grep -v ^$ | ./1_ponto_norte_giro_txt.sh > PTS_GEO_QGIS_norte.txt
./2_memorial_awk.sh < PTS_GEO_QGIS_norte.txt  > PTS_GEO_QGIS_memorial.txt 

aproveitando,
cat lista o aquivo csv em sequencia
tac listaria o arquivo da ultima linha para a primeira. Pode usar TAC se a poligonal estiver no sentido anti-horario.

teste para ver:
cat PTS_GEO_QGIS.csv
tac PTS_GEO_QGIS.csv

tac PTOS_GEO_QGIS | grep [0-9]

[]s
julio
cartognu.org
[]s
julio
cartognu.org

Daniel Basilio

unread,
Dec 29, 2016, 8:58:43 AM12/29/16
to qgisbrasil



Olha ai, ate gerou os arquivos mas estao vazios
A grande questao pra mim eh pegar os dados desordenados, sem sequencia alguma e ordena-los no sentido correto.
Porque quando eu faço meu trabalho as vezes antes de importar os dados estao fora de ordem, dai o programa que uso é que faz a ordem de acordo com a poligonal, pois eu clico vertice por vertice na sequencia, dai ele usa a coordenadas para ordenar os pontos. 
Tem como voce passar seu wpp?

yjmenezes

unread,
Dec 29, 2016, 9:06:14 AM12/29/16
to qgisbrasil
Daniel,

Voce esta executando o TXT, e o que tem de executar sao os scripts 1 e 2 que terminam com extensao SH.

O anexo anterior gerei um CSV com os seus dados para serem usados como entrata para os scripts.

seriam estes os passos, partindo dos dados CSV:


cat PTS_GEO_QGIS.csv | tr \, " " | grep -v ^$ | ./1_ponto_norte_giro_txt.sh > PTS_GEO_QGIS_norte.txt
e

Daniel Basilio

unread,
Dec 29, 2016, 9:36:41 AM12/29/16
to qgisbrasil

E agora? o que fiz errado?

yjmenezes

unread,
Dec 29, 2016, 9:46:01 AM12/29/16
to qgisbrasil
Daniel,

pelo jeito nao portaram para o MSYS o mktemp que cria um arquivo temporario.
edite o script e substitua:
TMP=$(mktemp /tmp/memo.XXX)
por
TMP=memo.XXX

[]s
julio
PS: sorry, eu nao testei no MSYS, me da preguica usar windows;

Daniel Basilio

unread,
Dec 29, 2016, 9:46:24 AM12/29/16
to qgisbrasil
Nao seria possivel editar o Azimuth e Distance Calculator pra fazer isso nao, visto que ja tem os campos de confrontantes ? Porque ele nao capta o nome dos vertices... tem como editar pra ele ler os pontos e exportar?


Em quinta-feira, 29 de dezembro de 2016 12:06:14 UTC-2, yjmenezes escreveu:

Daniel Basilio

unread,
Dec 29, 2016, 9:55:45 AM12/29/16
to qgisbrasil
Desconfiei que tinha algo a ver com isso, cheguei a esse resultado mas olha como esta
Nao tem quebra....

Daniel Basilio

unread,
Dec 29, 2016, 11:26:36 AM12/29/16
to qgisbrasil

Tem quebra sim, apenas no bloco de notas que nao aparece...
grato pela ajuda

yjmenezes

unread,
Dec 29, 2016, 11:51:14 AM12/29/16
to qgisbrasil
@Daniel,

Dei uma modificada nos scripts para ficarem de acordo com seus dados.
O uso seria:

./1_ponto_norte_giro_txt.sh <  PTS_GEO_QGIS.csv | ./2_memorial_awk.sh  > PTS_GEO_QGIS_memorial.txt

[]s
julio
cartognu.org

entrando com:
VERTICE,Position X,Position Y,Position Z,SIGMA_X,SIGMA_Y,SIGMA_Z,CONFRONTANTE

A saida:
De    Para    Azimute_gms    distancia_m    confrontante
CD6-M-9863    CD6-M-9868    238 54 35.57       405.838    GLEBA 03
CD6-M-9868    CD6-M-9867    315 41 27.92       64.839     
CD6-M-9867    CD6-M-9865    326 42 10.75       952.364    GLEBA 02
CD6-M-9865    CD6-M-9864    70 59 04.71       200.291    GLEBA 01

Script eh bom que edita e ja roda e ve o resultado.


msys_memorial.zip

Daniel Basilio

unread,
Dec 29, 2016, 11:59:40 AM12/29/16
to qgisbrasil
Valeu, ficou top.... gostaria de ter seu contato, voce presta serviço particular?
Reply all
Reply to author
Forward
0 new messages