Queria agradecer o auxílio recebido em tempo recorde! :-)
Acabei por usar as duas contribuições aqui deixadas, e produzi um
ficheiro sql modificado para ser usado sobre uma base de dados PostGIS.
Por estar a usar uma versão mais antiga, tive que inserir também o
próprio ETRS89-PTTM06 (EPSG:3763).
De notar que, para além de estar a trabalhar em open source, estou a
usar o sistema operativo Ubuntu 9.10, pelo que tive que adaptar algumas
indicações que se referiam a sistemas com windows.
Por exemplo, os ficheiros do José Gonçalves (extensão gsb e definições
de projecção pt, pt7 e pt3) vão para a pasta /usr/share/proj
Experimentei quer com a linha de comandos (programa cs2cs) quer com o
ficheiro sql copiado para a janela sql do PgAdminIII, e os resultados
foram os esperados para os pontos de teste (1 a 2 centímetros para os
pontos que testei).
Envio em anexo o ficheiro que produzi.
-- Introdução da definição do srid fornecida pela ESRI (não existe no EPSG)
-- Esta definição foi retirada do site spatialreference.org
INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 9102160, 'esri', 102160, '+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m +no_defs ', 'PROJCS["Datum_73_Hayford_Gauss_IGeoE",GEOGCS["GCS_Datum_73",DATUM["Datum_73",SPHEROID["International_1924",6378388,297]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200180.598],PARAMETER["False_Northing",299913.01],PARAMETER["Central_Meridian",-8.131906111111112],PARAMETER["Scale_Factor",1],PARAMETER["Latitude_Of_Origin",39.66666666666666],UNIT["Meter",1],AUTHORITY["EPSG","102160"]]');
-- 3763 - ETRS89_1989_Portugal_TM06
-- Atenção: Já existe na versão mais recente do Postgis (1.5)
INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext)
values ( 3763, 'epsg', 3763,
'+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +towgs84=0,0,0',
'PROJCS["ETRS89 / Portugal TM06",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",39.66825833333333],PARAMETER["central_meridian",-8.133108333333334],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],AUTHORITY["EPSG","3763"],AXIS["X",EAST],AXIS["Y",NORTH]]');
select * from spatial_ref_sys
where srid = 9102160;
select * from spatial_ref_sys
where srid = 3763;
----------------------------------------------------------------------------
-- Grelhas
-- Actualização do sistema de coordenadas para fazer transformação através do método das grelhas
-- 102160 - Hayford-Gauss, Datum 73, origem militar (Auth = ESRI)
update spatial_ref_sys
set proj4text = '+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m +nadgrids=pt73_e89.gsb'
where srid = 9102160;
-------------------------------------
--Testar os métodos de transformação de coordenadas
--Vértice Geodésico ESPINHEIRA
--Coordenadas IGP:
-- Datum 73, origem militar
-- x = 228999.924
-- y = 164612.947
-- PT-TM06
-- x = 29002.41
-- y = -135385.95
-- Datum 73, origem militar -> PT-TM06
select ST_AsText(ST_Transform(ST_SetSRID(ST_Makepoint(228999.924,164612.947), 9102160), 3763));
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal