[Portugal] Grelhas NTv2 com o proj4js
Jose Gonçalves
jagoncal gmail.com
Sexta-Feira, 25 de Dezembro de 2015 - 15:26:20 PST
Caro Pedro
Há uma maneira de atenuar o problema, se os dados a tratar forem de uma
região pequena. Pode-se calcular parâmetros de Molodensky para essa região,
que serão tanto melhores quanto menor for a área. Isso pode ser feito
calculando a diferença de coordenadas cartesianas geocêntricas para um
ponto médio da área.
Por exemplo, para o concelho de Viseu, considerando um ponto médio com
coordenadas geográficas LON=-7.91, LAT=40.66:
1. Calcular coordenadas cartesianas geocêntricas WGS84
echo -7.91 40.66 | cs2cs +datum=WGS84 +proj=latlong +to +datum=WGS84
+proj=geocent
O resultado é: 4799176.70 -666794.56 4133854.14
2. Calcular coordenadas cartesianas geocêntricas no datum 73 (elipsoide de
Hayford)
echo -7.91 40.66 | cs2cs +datum=WGS84 +proj=latlong +to +ellps=intl
+nadgrids=pt73_e89.gsb +proj=geocent
O resultado é: 4799442.87 -666910.21 4133854.48
3. Cálculo da translação:
dX = 4799176.70 - 4799442.87 = -266.17 m
dY = -666794.56 + 666910.21 = 115.65 m
dZ = 4133854.14 - 4133854.48 = -0.34 m
Na definição do datum 73 poderá agora ser usado:
+towgs84=-266.17,115.65,-0.34
O mesmo cálculo poderia ser feito para o datum Lisboa, usando as grelhas do
datum Lisboa.
Verifiquei num ponto muito afastado do centro do concelho e o erro foi
inferior a 20 cm. Em média os erros devem ser de uns 10 cm.
Com 7 parâmetros o resultado poderia ser bastante melhor, mesmo para uma
região um pouco maior, só que daria mais algum trabalho fazer o cálculo.
Espero que isto possa ser útil.
Abraços
José Alberto Gonçalves
Em 22 de dezembro de 2015 09:47, Pedro Venâncio <pedrongvenancio gmail.com>
escreveu:
> Olá Marco,
>
> Obrigado pela confirmação! Era muito bom poder correr a transformação com
> as grelhas, totalmente do lado do cliente. Com molodensky e bursa-wolf
> funciona bem, vou ter de me contentar com os resultados conseguidos com
> estes métodos, para já!
>
> Abraço!
> Pedro
>
>
>
> No dia 21 de dezembro de 2015 às 00:42, Marco Afonso <mafonso333 gmail.com
> > escreveu:
>
>> Viva,
>>
>> Infelizmente na nossa aplicaçao web de intranet, todas as operaçoes que
>> requerem o uso das grelhas, temos usar chamadas ajax para os resultados
>> virem do Postgis visto que n conhecemos uma soluçao puramente em js.
>> Em 21/12/2015 00:34, "Pedro Venâncio" <pedrongvenancio gmail.com>
>> escreveu:
>>
>>> Boa noite,
>>>
>>> Alguém sabe se é possível usar as grelhas NTv2 com o proj4js?
>>>
>>> Como o proj4js corre no browser, não consegue interpretar o ficheiro
>>> .gsb das grelhas, que é um binário.
>>>
>>> No entanto, encontrei este ticket que, aparentemente, acrescenta essa
>>> possibilidade ao proj4js - https://trac.osgeo.org/proj4js/ticket/81
>>> usando uma versão javascript do ficheiro da grelha:
>>> https://svn.osgeo.org/metacrs/proj4js/trunk/lib/defs/ntf_r93.gsb.js
>>>
>>> Estava a criar uma coisa muito simples, para fazer a conversão de
>>> coordenadas XY em javascript, para usar offline no telemóvel.
>>>
>>> Usando os parâmetros de bursa worlf no +towgs84, tudo funciona bem.
>>>
>>> Colocando o parâmetro +nadgrids o erro é muito maior, simplesmente
>>> porque ele ignora a grelha e o resultado vem como se não tivesse inserido
>>> nenhum parâmetro de transformação.
>>>
>>> Aqui fica o exemplo de um ponto em EPSG:3763, convertido para o
>>> EPSG:20790:
>>>
>>> -> Coordenadas de origem:
>>> 89526.76, 123853.15
>>>
>>> -> Conversão com cs2cs, usando as grelhas:
>>> pedro tsunami:~$ cs2cs +init=pt:pttm06 +to +init=pt:dlxhgmil
>>> 89526.76 123853.15
>>> 289529.21 423852.66 -0.00
>>>
>>> -> Conversão com o proj4js, usando o parâmetro +towgs84 (bursa wolf):
>>> 289528.59, 423854.29
>>>
>>> -> Conversão com o proj4js, usando o parâmetro +nadgrids (grelhas):
>>> 289428.24, 424122.54
>>>
>>> -> Conversão com o proj4js, sem parâmetros de transformação (+towgs84 ou
>>> +nadgrids):
>>> 289428.24, 424122.54
>>>
>>> Alguém já implementou a transformação das grelhas com o proj4js? Há
>>> alguma outra forma de conseguir fazer o que pretendo?
>>>
>>> Obrigado!
>>>
>>>
>>> Abraço,
>>> Pedro Venâncio
>>>
>>> _______________________________________________
>>> Portugal mailing list
>>> Portugal lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/portugal
>>>
>>
>> _______________________________________________
>> Portugal mailing list
>> Portugal lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/portugal
>>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.osgeo.org/pipermail/portugal/attachments/20151225/2eda388f/attachment.html>
More information about the Portugal
mailing list