我想开发一个python代码来设置SRID(空间参考系统标识符(SRID)是一个唯一的值,用于明确地标识投影、非投影和局部空间坐标系定义。这些坐标系构成了所有GIS应用程序的核心),从一个几何图形到一个特定的整数值,但是我没有从哪里开始的线索。
任何帮助都将不胜感激。
发布于 2018-04-20 21:36:44
要实现这样一个在PostGIS外部模拟ST_SetSRID的函数,您需要决定您愿意使用的操作格式。
如果您正在查看EWKT (扩展的熟知文本)中的几何体,则SRID存储在开头:
SRID=4326;POINT(10.23 10.41)在那里,可以使用文本操作函数替换它。
如果您正在查看EWKB (扩展的熟知二进制)中的geom,那么SRID将作为一个整数存储在报头之后,如果一个报头有一个标志表明它存储了一个提升的SRID。
下面是postgis存储标志的方式:https://sourcegraph.com/github.com/postgis/postgis/-/blob/liblwgeom/lwout_wkb.c#L145
下面是它写入SRID值的方式:https://sourcegraph.com/github.com/postgis/postgis/-/blob/liblwgeom/lwout_wkb.c#L583
如果您是在Python语言中实现它,那么您可能希望使用类似于WKBheader库的东西来不自己操作字段:https://github.com/MazeMap/wkbheader
https://stackoverflow.com/questions/49728453
复制相似问题