PostSQL编写经验

1、创建数据表station,包含geometry字段:

CREATE TABLE "public"."station" (
  "name" varchar(20) COLLATE "pg_catalog"."default",
  "lat" float4,
  "lon" float4,
  "geometry" "public"."geometry",
  "code" varchar(4) COLLATE "pg_catalog"."default" NOT NULL,
  CONSTRAINT "station_pkey" PRIMARY KEY ("code")
)

2、程序创建表格记录时,应用SQL语句:

sSQL = "INSERT INTO station(lat, lon, geometry) " + \ 
       "VALUES(%f,%f, ST_GeomFromText('POINT(%f %f)', 4326))" \
       % (lat, lon, lon, lat)

代码用于python,注意最后创建点数据的经纬数值输入采用的是:(lon lat) 的方式

参数:4326,表示的是地理投影座标系统,代表地理座标系中的GCS_WGS_1984

3、如需增补空间座标值,采用SQL语句:update

update station as a set geometry = 
        ST_GeomFromText('POINT('||(select lon || ' ' || lat from station 
        where id =a.id)||')', 4326) 

该语句可直接在Navicat for PostgreSQL中运行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章