Cannot find SRID (9479) in spatial_ref_sys
时间: 2024-02-13 16:01:40 浏览: 169
这个错误通常出现在使用 PostGIS 进行空间数据处理时,表示你使用了一个不存在的 SRID(Spatial Reference Identifier)。
解决方法是先查询一下你的数据库中是否有这个 SRID 的定义,可以使用以下 SQL 语句进行查询:
```
SELECT * FROM spatial_ref_sys WHERE srid = 9479;
```
如果查询结果为空,则表示你的数据库中确实没有这个 SRID 的定义,需要手动添加。可以在网上搜索该 SRID 对应的空间参考系统的定义,并使用以下 SQL 语句进行添加:
```
INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values (9479, 'EPSG', 9479, '+proj=longlat +a=3396190 +b=3376200 +no_defs ', 'GEOGCS["Mars 2000",DATUM["D_Mars_2000",SPHEROID["Mars_2000_IAU_IAG",3396190.0,169.8944472236118]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199433]]');
```
其中,proj4text 和 srtext 分别为该 SRID 对应的 Proj4 和 WKT 字符串。
添加完成后,再次执行你的空间数据处理操作即可。
相关问题
mysqlgeometry srid
MySQL中的Geometry类型是用于存储空间数据的数据类型,它可以存储点、线、多边形等几何对象。SRID(Spatial Reference System Identifier)是用于标识空间参考系统的唯一标识符。SRID定义了坐标系和地理空间数据的度量单位。
在MySQL中,可以使用SRID来指定Geometry对象的坐标系。当创建表时,可以在Geometry字段上使用SRID来指定空间参考系统。例如,引用中的代码创建了一个名为t_geo_test的表,其中包含一个名为SHAPE的Geometry字段。在创建表时,使用了SRID为0,表示使用默认的坐标系。
如果要为Geometry字段创建空间索引,可以使用CREATE SPATIAL INDEX语句,如引用所示。将为SHAPE字段创建一个名为i_shape的空间索引,以提高空间查询的性能。
总结起来,MySQL中的Geometry类型可以存储空间数据,并使用SRID来指定坐标系。通过创建空间索引,可以提高空间查询的效率。
mysql SRID
MySQL中的SRID是空间参考标识符(Spatial Reference Identifier)的缩写。它用于表示空间数据的坐标系和投影信息。SRID是一个整数值,用于标识具体的坐标系和投影方式。
在MySQL中,SRID主要用于空间数据类型的存储和查询。通过指定SRID,可以确保空间数据在不同的坐标系之间进行正确的转换和比较。
MySQL支持的空间数据类型包括点(Point)、线(LineString)、多边形(Polygon)等。当创建表时,可以为空间列指定SRID,例如:
CREATE TABLE mytable (
id INT,
geom GEOMETRY,
SPATIAL INDEX(geom)
) ENGINE=InnoDB;
在查询时,可以使用SRID来进行空间数据的过滤和计算,例如:
SELECT * FROM mytable WHERE ST_Contains(ST_GeomFromText('POINT(1 1)', 4326), geom);
这个查询将返回包含指定点的所有记录。
阅读全文