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 <[email protected]> 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 <[email protected] > > 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" <[email protected]> >> 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 >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/portugal >>> >> >> _______________________________________________ >> Portugal mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/portugal >> > > > _______________________________________________ > Portugal mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/portugal >
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
