wuww
2025-05-04 d8a1ab25881275da008b2801119f36b51554f427
data/init.sql
@@ -12,6 +12,7 @@
     service_name varchar(200),
    type smallint default 1,
   area_type smallint default 0,
   area_name varchar(200),
   data varchar(8000),
   status smallint default 0,
   result varchar(8000),
@@ -31,6 +32,7 @@
comment on column nsl.simu.service_name is '服务名称';
comment on column nsl.simu.type is '类别:1-预测模拟,2-实时模拟,3-历史模拟';
comment on column nsl.simu.area_type is '区域类别:0-自定义,1-行政区划,2-重点区域,3-重点沟';
comment on column nsl.simu.area_name is '区域名称';
comment on column nsl.simu.data is '数据(JSON)';
comment on column nsl.simu.status is '状态:0-创建仿真,1-预处理,2-分析中,10-完成,20-出错';
comment on column nsl.simu.result is '结果(JSON)';
@@ -41,7 +43,10 @@
comment on column nsl.simu.bak is '备注';
comment on column nsl.simu.geom is '空间位置';
select * from nsl.simu;
-- insert into nsl.simu (name, service_name, type, area_type, area_name, status, geom) values ('预测模拟-0416', '20250416100000', 1, 1, '大兴区', 0, ST_GeomFromText('MULTIPOLYGON(((116.666748 39.639859,116.659403 39.626287,116.665956 39.654698,116.666748 39.639859)))'));
select id,name,service_name,type,area_type,area_name,status,result,create_time,update_time,bak,data,st_astext(geom) from nsl.simu where id > 0 order by id desc;
-- update nsl.simu set status = 0, area_name = '房山区', data = '{"startTime":"2025-05-01 11:10:54","type":3,"total":50,"duration":6,"intensity":70,"history":"XX年50mm降雨"}' where id = 24;
---------------------------------------------- 2.推演区域
-- drop table if exists nsl.region;
create table nsl.region (
@@ -59,7 +64,9 @@
comment on column nsl.region.type is '类别:1-行政区划,2-重点区域,3-重点沟';
comment on column nsl.region.geom is '空间位置';
select * from nsl.region;
-- insert into nsl.region (name, type, geom) values ('大兴', 1, ST_GeomFromText('MULTIPOLYGON(((116.666748 39.639859,116.659403 39.626287,116.665956 39.654698,116.666748 39.639859)))'));
select id, name, type, st_astext(geom) from nsl.region order by type, id;
---------------------------------------------- 3.雨量计 *
-- drop table if exists nsl.udometer;
create table nsl.udometer (
@@ -78,6 +85,21 @@
comment on column nsl.udometer.geom is '空间位置';
select * from nsl.udometer;
----------------------------------------------
---------------------------------------------- 将 MULTIPOLYGON 转换为 POLYGON
select st_astext(ST_GeometryN(geom, generate_series(1, ST_NumGeometries(geom)))) as geom from nsl.region limit 1;