1 votos

Cambiar el SRID de la columna de geometría

Tengo en mi columna de la tabla geom con geometría, el tipo de datos de esta columna es geometry(Point,102067) . Quiero cambiar SRID de 102067 a 5514 pero si utilizo este comando

select UpdateGeometrySRID('my_schema', 'table', 'geom', 5514) ;

dicen los doctores: ERROR: SRID no válido: 5514 no encontrado en spatial_ref_sys CONTEXTO: sentencia SQL "SELECT UpdateGeometrySRID('', $1,$ 2, $3,$ 4)"

Encontré, que EPSG:5514 = EPSG:102067 (ambos son S-JTSK_Krovak_East_North), pero en la segunda tabla tengo EPSG:5514, y por ejemplo el comando ST_Contains dice: Operación en geometrías SRID mixtas.

5voto

andrz_001 Puntos 124

El error se produce porque EPSG:5514 no está añadido en la tabla spatal_ref_sys. Así que puedes añadirlo usando la siguiente consulta.

INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 5514, 'EPSG', 5514, '+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +units=m +no_defs ', 'PROJCS["S-JTSK / Krovak East North",GEOGCS["S-JTSK",DATUM["System_Jednotne_Trigonometricke_Site_Katastralni",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[589,76,480,0,0,0,0],AUTHORITY["EPSG","6156"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4156"]],PROJECTION["Krovak"],PARAMETER["latitude_of_center",49.5],PARAMETER["longitude_of_center",24.83333333333333],PARAMETER["azimuth",30.28813972222222],PARAMETER["pseudo_standard_parallel_1",78.5],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","5514"]]');

Fuente: https://epsg.io/5514

Haga clic en el menú lateral bajo PostGIS para ver la consulta de inserción.

Compruebe si el SRID-5514 se inserta utilizando:

SELECT * FROM spatial_ref_sys WHERE srid = 5514;

Una vez que la haya insertado, podrá cambiar el SRID de su columna de geometría utilizando el código:

SELECT UpdateGeometrySRID('your_schema', 'table', 'geom', 5514);

A continuación, puede comprobar el cambio mediante:

SELECT ST_SRID(geom) FROM table LIMIT 1;

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X