巡护轨迹生成

巡护轨迹生成

使用postgres数据库及空间扩展函数,得到巡护轨迹数据及巡护里程数

1.建表 t_app_grid_trajectory


-- Table: public.t_app_grid_trajectory

-- DROP TABLE public.t_app_grid_trajectory;

CREATE TABLE public.t_app_grid_trajectory
(
    trajectory_id bigint NOT NULL,
    cruising_tasks_id character varying(64) COLLATE pg_catalog."default" NOT NULL DEFAULT NULL::character varying,
    user_id bigint NOT NULL,
    user_name character varying(256) COLLATE pg_catalog."default" DEFAULT NULL::character varying,
    user_img character varying(256) COLLATE pg_catalog."default" DEFAULT NULL::character varying,
    coordinate_wgs text COLLATE pg_catalog."default" NOT NULL,
    coordinate_projection text COLLATE pg_catalog."default",
    latitude double precision,
    longitude double precision,
    accuracy double precision,
    altitude double precision,
    altitude_accuracy double precision,
    heading double precision,
    speed double precision,
    style_two text COLLATE pg_catalog."default",
    style_three text COLLATE pg_catalog."default",
    create_date timestamp(0) without time zone DEFAULT NULL::timestamp without time zone,
    acquisition_date timestamp(6) without time zone NOT NULL DEFAULT NULL::timestamp without time zone,
    cruising_tasks_status integer,
    geom geometry,   
    CONSTRAINT t_app_grid_trajectory_pkey PRIMARY KEY (trajectory_id)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE public.t_app_grid_trajectory
    OWNER to postgres;
COMMENT ON TABLE public.t_app_grid_trajectory
    IS 'app巡护业务,巡护数据采集表,存储点位数据';

COMMENT ON COLUMN public.t_app_grid_trajectory.trajectory_id
    IS '巡护点位ID';

COMMENT ON COLUMN public.t_app_grid_trajectory.cruising_tasks_id
    IS '巡航任务ID 巡航任务ID';

COMMENT ON COLUMN public.t_app_grid_trajectory.user_id
    IS '用户ID';

COMMENT ON COLUMN public.t_app_grid_trajectory.user_name
    IS '用户姓名';

COMMENT ON COLUMN public.t_app_grid_trajectory.user_img
    IS '用户头像';

COMMENT ON COLUMN public.t_app_grid_trajectory.coordinate_wgs
    IS '轨迹坐标4326 JSON格式存储,默认4326坐标系';

COMMENT ON COLUMN public.t_app_grid_trajectory.coordinate_projection
    IS '轨迹坐标3857 JSON格式存储';

COMMENT ON COLUMN public.t_app_grid_trajectory.latitude
    IS '纬度,4326坐标系';

COMMENT ON COLUMN public.t_app_grid_trajectory.longitude
    IS '经度,4326坐标系';

COMMENT ON COLUMN public.t_app_grid_trajectory.accuracy
    IS '准确度 精确度,以米为单位';

COMMENT ON COLUMN public.t_app_grid_trajectory.altitude
    IS '海拔高度';

COMMENT ON COLUMN public.t_app_grid_trajectory.altitude_accuracy
    IS '海拔高度精确度';

COMMENT ON COLUMN public.t_app_grid_trajectory.heading
    IS '行进方向 行进方向,相对于正北而言';

COMMENT ON COLUMN public.t_app_grid_trajectory.speed
    IS '速度 单位米/秒';

COMMENT ON COLUMN public.t_app_grid_trajectory.style_two
    IS '展示样式2d JSON格式,在二维地图展示样式';

COMMENT ON COLUMN public.t_app_grid_trajectory.style_three
    IS '展示样式3d JSON格式,在三维地图展示样式';

COMMENT ON COLUMN public.t_app_grid_trajectory.create_date
    IS '入库时间';

COMMENT ON COLUMN public.t_app_grid_trajectory.acquisition_date
    IS '采集时间';

COMMENT ON COLUMN public.t_app_grid_trajectory.cruising_tasks_status
    IS '巡护状态,-2离线,-1在线(未巡护),0巡护开始,1巡护中,2巡护暂停,3巡护结束';

2.录入巡护数据

INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222722882408449, '1286222722882408450', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[116.603872,31.847554]}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-07-23 16:52:48', '2020-07-15 09:00:00', -1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222731942105089, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:52:51', '2020-07-23 16:52:50', 0);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222821691822082, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:12', '2020-07-23 16:53:12', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222823835111426, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:13', '2020-07-23 16:53:12', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222825970012161, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:13', '2020-07-23 16:53:13', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222828184604674, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:14', '2020-07-23 16:53:13', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222831288389634, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:15', '2020-07-23 16:53:14', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222834463477762, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:15', '2020-07-23 16:53:15', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222837059751937, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:16', '2020-07-23 16:53:15', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222839790243841, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:17', '2020-07-23 16:53:16', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222855682461698, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[104.338947,35.482075]}', NULL, 104.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:20', '2020-07-23 16:53:20', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222865367101442, '123', 111, NULL, NULL, '{"type":"Point","coordinates":[166.603878,31.847558,-106.74]}', NULL, 31.847558, 166.603878, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-07-23 16:53:23', '2020-07-20 12:02:12', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222869339115522, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[104.338947,36.482075]}', NULL, 104.338947, 36.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:24', '2020-07-23 16:53:23', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222886640619521, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[104.338947,36.782075]}', NULL, 104.338947, 36.782075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:28', '2020-07-23 16:53:27', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286222891065610241, 'e8dceac5bd4edba4b735fc3340081ff3', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[104.338947,36.782075]}', NULL, 104.338947, 36.782075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:53:29', '2020-07-23 16:53:28', 3);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223038323429378, 'a832f2db2a9b4d3167d70496cfaa233d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[104.338947,36.782075]}', NULL, 104.338947, 36.782075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:54:04', '2020-07-23 16:54:03', 0);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223060947505154, 'a832f2db2a9b4d3167d70496cfaa233d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[105.338947,36.782075]}', NULL, 105.338947, 36.782075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:54:09', '2020-07-23 16:54:09', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223223707471874, '123', 111, NULL, NULL, '{"type":"Point","coordinates":[166.603878,31.847558,-106.74]}', NULL, 31.847558, 166.603878, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-07-23 16:54:48', '2020-07-20 12:02:12', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223496387563521, '1286223496387563522', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[116.603872,31.847554]}', NULL, 106.338947, 35.482075, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-07-23 16:55:53', '2020-07-15 09:00:00', -1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223652570861569, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:30', '2020-07-23 16:56:30', 0);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223665120219137, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:33', '2020-07-23 16:56:33', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223667703910401, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:34', '2020-07-23 16:56:33', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223671260680194, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:35', '2020-07-23 16:56:34', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223673991172098, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:35', '2020-07-23 16:56:35', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223677413724161, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:36', '2020-07-23 16:56:36', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223680664309762, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:37', '2020-07-23 16:56:36', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223683390607362, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:38', '2020-07-23 16:56:37', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223686427283458, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[106.338947,35.482075]}', NULL, 106.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:38', '2020-07-23 16:56:38', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223708145389569, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[107.338947,35.482075]}', NULL, 107.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:44', '2020-07-23 16:56:43', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223726923288578, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[18.338947,35.482075]}', NULL, 18.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:48', '2020-07-23 16:56:48', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223744744886273, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[109.338947,35.482075]}', NULL, 109.338947, 35.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:56:52', '2020-07-23 16:56:52', 1);
INSERT INTO "public"."t_app_grid_trajectory" VALUES (1286223780337750017, 'e3611a3304d5bec86bd228f39a017c7d', 1, '张三', 'group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png', '{"type":"Point","coordinates":[109.338947,40.482075]}', NULL, 109.338947, 40.482075, 10, 106.73, 12, 23, 3, '{"pixelSize":10,"color":"#3388ff","opacity":1,"image":"group1/M00/00/28/wKgAml2Ncq2AMxNVAAAGDlNnLtw713.png"}', '{}', '2020-07-23 16:57:01', '2020-07-23 16:57:00', 3);

3.根据巡护点位数据,计算巡护轨迹数据



select ST_Point(126.603872,10.847554) ;


SELECT ST_SetSRID(ST_Point(116.39088,39.90763),4326)

SELECT ST_SetSRID(ST_GeomFromGeoJSON('{
    "type":"Point",
    "coordinates":[126.603872,10.847554]
}'),4326);

-- coordinate_wgs
-- 根据 geojson经纬度设置geom格式经纬度数据,OKS
select ST_SetSRID(ST_Point(latitude,longitude),4326) from t_app_grid_trajectory
where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'

select ST_SetSRID(ST_GeomFromGeoJSON(coordinate_wgs),4326) from t_app_grid_trajectory
where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'
-- latitude,longitude ,coordinate_wgs
select  * from t_app_grid_trajectory
where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'

-- // 1.为巡护表增加geom格式类型,注意需要按照postGIS空间扩展
alter table t_app_grid_trajectory add column geom geometry; 
-- //2. x,y转成地理要素 ,注意latitude,longitude必须为float格式或者double格式数据
update t_app_grid_trajectory set geom = ST_SetSRID(ST_Point(latitude,longitude),4326)
where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'
-- // 3.把巡护点坐标位置,根据巡护时间倒序排列,得到一系列有序的点数据
    select * from t_app_grid_trajectory
    where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'
    order by acquisition_date desc
-- // 4.利用空间函数计算巡护的轨迹坐标及巡护里程数
select cruising_tasks_id,st_makeline(geom) ,ST_Length(st_makeline(geom)) from 
(
    select cruising_tasks_id,geom from t_app_grid_trajectory
    where cruising_tasks_id ='e8dceac5bd4edba4b735fc3340081ff3'
    order by acquisition_date desc
) a
group by cruising_tasks_id 


你可能感兴趣的:(巡护轨迹生成)