Problema ao Reprojetar SRC de uma camada

93 views
Skip to first unread message

Whilamys Pontes

unread,
Jul 8, 2020, 6:11:22 PM7/8/20
to qgisbrasil
Olá Pessoal, boa noite.

Estou iniciando os trabalho com o Qgis.

Li alguns manuais, e estava certo de que conseguiria, com certa facilidade, reprojetar  o src de um pequeno conjunto de pontos.

1 - Eu configurei o projeto, com o src de entrada (PSD93)



2 - Inseri os pontos via gerenciador de fonte de dados|texto delimitado 

3 - Depois fui na caixa de ferramentas de processamento | Vetor Geral | Reprojetar camada.

4 - Selecionei o WGS como src de destino.



O algorítimo rodou sem erros.
Mais de acordo com o que li, a tabela de atributos da camada reprojetada deveria conter as coordenadas em WGS84, porém não é isso o que acontece. As coordenadas da nova camada não foram reprojetadas.

Sei que minha dúvida é simples, mais já tentei o quanto pude e não obtive êxito.

Será que alguém poderia me ajudar ?

Desde já, agradeço que ajuda e compreensão.

Whilamys Pontes.

yjmenezes

unread,
Jul 8, 2020, 6:28:50 PM7/8/20
to qgisbrasil
1- Qual valor de EPSG esta usando ?
2- tem como enviar uma amostra do seu TXT de entrada ?

Isso fica la pelos lados do querido IRAN ?

[]s
julio
USA esta feio na foto.  segunda onda e subindo.

Whilamys Pontes

unread,
Jul 8, 2020, 6:59:31 PM7/8/20
to qgisb...@googlegroups.com
Olá yjmenezes, muito obrigado pela atenção.

Estou usando o EPSG 3440

Envio amostra em anexo.

Os dados foram coletados em Oman.

Eu trabalho em projetos de inspeção e construção de gasodutos e estou subcontratado em Oman.
Meu cliente forneceu os dados em PSD93, mas exige que eu os reporte em WSG84.

Estou acostumado a trabalhar com os Datas do Brasil (atual e antigos), e desenvolvi uma aplicação, bem básica, para reprojetar.

Mais o cliente me orientou a usar o Qgis.

Abs,

--
Comunidade QGIS Brasil: http://qgisbrasil.org/
---
Você recebeu essa mensagem porque está inscrito no grupo "qgisbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para qgisbrasil+...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/qgisbrasil/d9a325ea-88ef-4e94-89d4-b08d35d2bcbdn%40googlegroups.com.


--
--
Whilamys Pontes
Especialista em Técnicas de Inspeção
whil...@pipeway.com
www.pipeway.com

PipeWay Engenharia LTDA.
Praça Mário Nazaré 40 - São Cristovão
CEP 20940-080    Rio de Janeiro - RJ
Ramal: (55 21) 3214-1629
Central: (55 21) 3214-1600
Fax.: (55 21) 3214-1618
teste.csv

yjmenezes

unread,
Jul 8, 2020, 8:49:17 PM7/8/20
to qgisbrasil
@Whiçamys

Eu uso UNIX e geralmente acabo resolvendo muita coisa na linha de comandos.
No seu caso, tera uma mudanca de DATUM. O utilitario para isso sera o CS2CS;
cs2cs +proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_defs +to +proj=latlong +datum=WGS84 -W3

tem de conferir se seriam estas as translacoes em rotacoes entre o PSD93 e o WGS84
A saida do CS2CS tera a distancia vertical  considerando zero a altitude de entrada.

A saida esta em anexo.

No QGIS, o que acredito que possa fazer eh:
a) abrir um projeto novo, com EPSG:3440
b) carregar o teste.csv
c) Exportar como Lon/Lat  EPSG:4326

[]s
julio





jmenezes@gnu000:/mnt/covida/gisdata$ dos2unix < teste.csv | awk -F \, 'NR > 1 { print $2,$3,0,"wgs"$1 }'  | cs2cs +proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_defs +to +proj=latlong +datum=WGS84 -W3 | unix2dos  > testewgs.txt

testewgs.txt

yjmenezes

unread,
Jul 9, 2020, 3:10:58 PM7/9/20
to qgisbrasil
@whilamys,

ve que a sintaxe do CS2CS pode ser simplificada pa aesta forma:

cs2cs    +init=epsg:3440    +to     +init=epsg:4326   -W3

Os comando UNIX para preparar a entrada na forma  ( X Y H atributos )  foi feito com AWK, ferramenta nativa de qq UNIX.

Como falei, nao se trata apenas de projetar, existe uma mudanca de DATUM envolvida.

jmenezes@gnu000:/mnt/covida/gisdata$ dos2unix < teste.csv | awk -F \, 'NR > 1 { print $2,$3,0.0,"wgs"$1 }'  | cs2cs +init=epsg:3440 +to +init=epsg:4326 -W3

56d33'14.215"E    21d28'26.070"N -32.073 wgs1
56d32'30.332"E    21d28'22.721"N -32.079 wgs2
56d32'14.332"E    21d28'23.241"N -32.080 wgs3
56d31'15.646"E    21d28'26.249"N -32.087 wgs4
56d30'39.721"E    21d28'14.283"N -32.093 wgs5
56d29'54.547"E    21d28'42.039"N -32.094 wgs6
56d29'27.205"E    21d28'59.136"N -32.095 wgs7

[]s
julio

Whilamys Pontes

unread,
Jul 10, 2020, 12:17:01 AM7/10/20
to qgisb...@googlegroups.com
Olá Julio.

Muito obrigado por todo o apoio.
Suas informações foram preciosas.

Segui seu conselho e parti para uma aplicação UNIX.

Criei uma máquina virtual com o Debian.
Instalei o Proj e consegui executar o utilitário CS2CS.

Eu consigo converter o Datum digitando os pontos.
image.png

Entretanto, não consegui fazer com que o programa leia o arquivo de entrada .csv (teste.csv).
Eu te enviei apenas uma amostra, o arquivo tem mais de 258 mil pontos. Impraticável digitar.

Na linha de comando abaixo, o que seria o parâmetro dos2unix ?

dos2unix < teste.csv | awk -F \, 'NR > 1 { print $2,$3,0.0,"wgs"$1 }'  | cs2cs +init=epsg:3440 +to +init=epsg:4326 -W3

Mais uma vez, muito obrigado.

Abs,
-- 
--
Whilamys Pontes
Especialista em Técnicas de Inspeção
whil...@pipeway.com
www.pipeway.com


yjmenezes

unread,
Jul 10, 2020, 9:37:31 AM7/10/20
to qgisbrasil
@Whilamys,

bom dia.

Que otimo que conseguiu rodar. 
Ter 250 mil pontos eh completamente irrelevante para UNIX, ja no Excell.  flames >> /dev/null


dos2unix eh um utilitario que transforma arquivo TXT  que as linhas terminam com dois caracters  ( retorno de carro e alimentacao de  linha ) CR e LF ou \r\n 
para formato UNIX que usa apenas um caracter, LF ou \n.

sudo apt-get update; sudo apt-get install  dos2unix

isso pode ser implementado com o TR  ( translate , padrao em qq UNIX ) com a opcao -d ( delete )
tr --help

tr -d '\r' < entrada_dos.txt

o AWK, outro poderoso processador de stream de texto. 
-F \delimitador   
NR > 1   abandona a primeira linha ( header )
print trocando a ordem das colunas
awk -F \, 'NR > 1 { print $2,$3,0.0,"wgs"$1 }' 


outro detalhe, UNIX em sensivel a "case". na sintaxe do CS2CS, tem de digitar os parametros em minusculas.
epsg:3440,  se usar EPSG:3440 vai gerar erro.

tr -d  '\r'  <  DuzentosMilPontos.csv  | awk -F \, 'NR > 1 { print $2,$3,0.0,"wgs"$1 }'  | cs2cs +init=epsg:3440 +to +init=epsg:4326 -W3

Whilamys Pontes

unread,
Jul 10, 2020, 10:04:51 PM7/10/20
to qgisb...@googlegroups.com
Boa noite Júlio.

Finalmente consegui.

Muito obrigado por todo o suporte que me prestou.

Se um dia precisar de algo relacionado a área de dutos, estarei à sua total disposição.

Abraços.

yjmenezes

unread,
Jul 11, 2020, 9:00:21 AM7/11/20
to qgisbrasil
Bom dia Whilamys

Quer bom que resolveu instalando uma VM  GNU/Linux.
Eh melhor que DualBoot. 

Eu uso muito VM para testar alguma distribuicao ou para rodar um Windows  XP,  que usava para abrir DWG
Uso QEMU, que eh FLOSS. 
O bom do QEMU eh que coloco a maquina Guest usando HD em particao do Host e  conectada a todas as demais maquinas fisicas da rede interna.
No caso do XP,  fazia compartilhamento do HD do host GNU/Linux usando SAMBA.

1-  Qual VM esta usando ?
2- Qual o host e  distribuicao GNU/Linux e a versao do guest ?
3- Vc usa Postgresql ?

Espero que outros da lista sigam seu exemplo.  

[]s
julio

PS: Eu trabalho com cartografia e ja participei de obras de dutos da Petrobras, ( campo e escritorio ). Cadastro, GPS, LiDAR,  Restituicao, BancoDeDados...

Whilamys Pontes

unread,
Jul 11, 2020, 10:47:53 PM7/11/20
to qgisb...@googlegroups.com
Olá Julio. Boa noite.

Obrigado pelas dicas preciosas.
Não conhecia o QEMU.

Estou usando o VMware Workstation Player.
Ainda estou pesquisando sobre, optei por esse player pois é bastante badalado na internet, e eu já estava com a corda no pescoço para entregar o projeto.
Precisava de uma solução rápida. Mais assim que a poeira baixa, vou pesquisar outras aplicações.

Como host, uso uma máquina Windows 10, com 32 Gb de memória e processador i7 3.70 GHz.
E como Guest, por hora, optei por usar o Ubuntu 18.04.3 LTS.
Usei o virtualbox para criar uma pasta de compartilhamento entre as máquinas.

Sei que essa não é a melhor distribuição do Linux, mais é a que estou familiarizado.
Talvez o Debian poderia ter caído bem. 

Eu ainda não usei o Postgresql, trabalho com o MySQL.
Já tive uma boa experiência com o MariaDB, com suporte para o gerenciamento e evolução da corrosão interna em oleodutos.

Abs,

yjmenezes

unread,
Jul 13, 2020, 8:43:50 AM7/13/20
to qgisbrasil
@whilamys,

Existe uma versao do QEMU oara Win64, mas tem de ser compilada a parir dos fontes.
Nao sei  se eh estavel, entao teria de testar.

MariaDB eh o mesmo MySQL. O criador do MySQL reescreveu, apos a Oracle colocar suas garras no MySQL.
O mesmo aconteceu com o JAVA, o criador do JAVA, James Gosling, que trabalhava na SUN, se recusou a trabalhar para a Oracle.

MariaDB, 100% compativel com MySQL,  ja vem com a extensao Geospacial,  e eh garantido ser FLOSS.
Nao sei a compatibilidade com os padroes OGC.

[]s
julio

PS: o bom de VM eh que, se deixa os dados no HOST, pode trocar de Ubuntu para Debian ou qq outra distribuicao GNU/Linux sem perder nada.
Reply all
Reply to author
Forward
0 new messages