一、主要记录导入图层后安全通道和车检围栏两个图层数据表的配置步骤和注意事项。
1、RepairFence表—车检围栏表
期望最终结果 --- 经过配置后的最终状态
image.png
步骤:
Ø 导入RepairFence shp图层到数据表,创建RepairFence数据表
Ø 查看初始表字段
Ø 和上表核对,看缺失和多余哪些字段
Ø 删除多余,添加缺失字段
Sql 样式语句:(上面是图,下面为具体语句,如果有哪个字段缺失或者多余,请按照下面语句注释处理,运行时可逐句运行,可整体运行)
image.png
-- 删除原来的id,因为原id字段类型是string,此处需要uuid类型
ALTER TABLE "RepairFence" DROP COLUMN id;
-- 再次添加id列
ALTER TABLE "RepairFence" ADD COLUMN Id uuid;
-- 自动为id类生成uuid 【要使用该函数,需要先安装postgres uuid函数扩展,请先运行sql语句create extension "uuid-ossp",后可运行select uuid_generate_v4() 来检测是否安装成功】
UPDATE "RepairFence" set id=uuid_generate_v4();
-- 添加CreateTime字段
ALTER TABLE "RepairFence" ADD COLUMN CreateTime TIMESTAMP;
-- 添加LastUpdateTime字段
ALTER TABLE "RepairFence" ADD COLUMN LastUpdateTime TIMESTAMP;
-- 添加DeviceGroupId字段
ALTER TABLE "RepairFence" ADD COLUMN DeviceGroupId uuid;
-- 添加DeviceCode字段
ALTER TABLE "RepairFence" ADD COLUMN DeviceCode text[];
-- 添加IsOpen字段
ALTER TABLE "RepairFence" ADD COLUMN IsOpen BOOLEAN;
-- 删除图层导入的自带属性字段gid
ALTER TABLE "RepairFence" DROP COLUMN gid;
-- 删除自带属性字段object_1【有些图层不存在该属性,可不运行该句,具体看导入图层后的数据表中是否存在该字段】
ALTER TABLE "RepairFence" DROP COLUMN object_1;
-- 分别在id和name字段创建索引 【运行时显示已存在索引则可跳过】
CREATE INDEX RepairFence_Id_Index ON "RepairFence"(id);
CREATE INDEX RepairFence_Name_Index ON "RepairFence"(Name);
-- 为下面三个字段赋值
UPDATE "RepairFence" SET createtime=now(),lastupdatetime=now(),isopen=FALSE;
2、SafetyWay – 安全通道数据表
最终结果:
image.png
步骤如下,此处只留sql语句样例:
ALTER TABLE "SafetyWay" DROP COLUMN id;
ALTER TABLE "SafetyWay" ADD COLUMN Id uuid;
UPDATE "SafetyWay" set id=uuid_generate_v4();
ALTER TABLE "SafetyWay" DROP COLUMN gid;
ALTER TABLE "SafetyWay" DROP COLUMN object_1;
CREATE INDEX SafetyWay_Id_Index ON "SafetyWay"(Id);
CREATE INDEX SafetyWay_Name_Index ON "SafetyWay"(Name);
后续增补与上面一样,增加缺失,删除多余字段即可
注意:arcgis图层中,表示布尔值一般用0和1,是int类型,需要核实下相关字段类型