当前位置: 首页 > news >正文

大数据操作实验一

实验一:https://www.hifleet.com/wp/communities/data/hangyundashujujishukechengshiyanzhinan

1.Postgresql

1.1 数据库的对象创建

1.1.1 创建数据库(Database)

鼠标右键database进行创建
在这里插入图片描述

1.1.2 创建图(Schema)

鼠标右键schema,然后创建schema图纸
在这里插入图片描述

1.1.3 创建表(Table)

鼠标右键Table,创建表
在这里插入图片描述

1.2数据库实列化

1.2.1 实列化静态数据

提前在Table表中建好相关字段,我新建了个数据库,这边以static_ships表为例,这个static_ships就是上面的demo_table
在表中建立相关字段
在这里插入图片描述

使用query语句进行导入并查询
在这里插入图片描述

--静态数据的字段建立
create table ais_data.static_ships(id bigserial,sourcemmsi integer,imo integer,shipname text,shiptype integer,to_bow integer,to_stern integer,to_starboard integer,to_port integer,eta text,draught double presion,destination text,mothershipmmsi integer,ts bigint,constraint static_ships_pkey primary key(id)
);
--静态数据的导入,copy from句式,图.表(字段) 数据文件来源
COPY ais_data.static_ships (ID,MMSI,IMO,CALLSIGN,SHIPNAME,SHIPTYPE, TO_BOW,TO_STERN,TO_STARBOARD,TO_PORT,ETA,DRAUGHT,DESTINATION,TS) FROM 'G:/data/static_ships_from_pg.txt';
--查询导入的数据数量
SELECT COUNT(*) FROM ais_data.static_ships

1.2.2 实列化动态数据

--以下是创建动态数据表及其相关的字段(字段小写)
create table ais_data.dynamic_ships(id bigserial,mmsi integer,ts bigserial,lon double precision,lat double precision,course double precision,speed double precision,heading integer,rate_of_turn double precision,navigation_status integer,constraint dynamic_ships_pkey primary key(id)
);

在这里插入图片描述

更新下就能看见动态数据表
下面在query中进行导入动态数据

COPY ais_data.dynamic_ships (ID,MMSI,ts,lon,lat,course, speed,heading,rate_of_turn,navigation_status) FROM 'G:/data/dynamic_ships_from_pg.txt';

在这里插入图片描述
查询相关导入的静态数据个数

SELECT COUNT(*) FROM ais_data.dynamic_ships

在这里插入图片描述
在这里插入图片描述

1.3数据可视化

1.3.1新建bing地图

在这里插入图片描述

1.3.2 建立矢量数据表

alter table ais_data.dynamic_ships add column t timestamp without time zone;--增加t列时间戳update ais_data.dynamic_ships set t=to_timestamp(ts); --ts数据转换时间戳赋值给t
CREATE INDEX idx_dynamic_ships_t ON ais_data.dynamic_ships using btree(t);--时间戳添加索引alter table ais_data.dynamic_ships add column geom geometry(Point,4326);update ais_data.dynamic_ships set geom=st_setSRID(ST_MakePoint(lon,lat),4326);

所有汇总

-- 静态数据的字段建立
-- create table ais_data.static_ships(
-- 	id bigserial,
-- 	sourcemmsi integer,
-- 	imo integer,
-- 	shipname text,
-- 	shiptype integer,
-- 	to_bow integer,
-- 	to_stern integer,
-- 	to_starboard integer,
-- 	to_port integer,
-- 	eta text,
-- 	draught double presion,
-- 	destination text,
-- 	mothershipmmsi integer,
-- 	ts bigint,
-- 	constraint static_ships_pkey primary key(id)
-- );
-- 静态数据的导入,copy from句式,图.表(字段) 数据文件来源
-- COPY ais_data.static_ships (ID,MMSI,IMO,CALLSIGN,SHIPNAME,SHIPTYPE, TO_BOW,TO_STERN,TO_STARBOARD,TO_PORT,ETA,DRAUGHT,DESTINATION,TS) FROM 'G:/data/static_ships_from_pg.txt';
-- 查询导入的数据数量
-- SELECT COUNT(*) FROM ais_data.static_ships
--以下是创建动态数据表及其相关的字段
-- create table ais_data.dynamic_ships(
-- 	id bigserial,
-- 	mmsi integer,
-- 	ts bigserial,
-- 	lon double precision,
-- 	lat double precision,
-- 	course double precision,
-- 	speed double precision,
-- 	heading integer,
-- 	rate_of_turn double precision,
-- 	navigation_status integer,
-- 	constraint dynamic_ships_pkey primary key(id)
-- );
--COPY ais_data.dynamic_ships (ID,MMSI,ts,lon,lat,course, speed,heading,rate_of_turn,navigation_status) FROM 'G:/data/dynamic_ships_from_pg.txt';
-- 查询数据的个数
--SELECT COUNT(*) FROM ais_data.dynamic_ships
--alter table ais_data.dynamic_ships add column t timestamp without time zone;--增加t列,时间戳格式但是无时间区域
--update ais_data.dynamic_ships set t=to_timestamp(ts); --更新动态数据设置时间戳
--CREATE INDEX idx_dynamic_ships_t ON ais_data.dynamic_ships using btree(t);--时间戳添加索引
--alter table ais_data.dynamic_ships add column geom geometry(Point,4326);
--update ais_data.dynamic_ships set geom=st_setSRID(ST_MakePoint(lon,lat),4326);
--SELECT postgis_full_version();

如果出现geometry不存在,或者ST_MakePoint不存在,说明安装postgresql没有安装扩展,先去
在这里插入图片描述
在这里插入图片描述
勾选下载即可
在这里插入图片描述
能看到这个
然后回到query中输入以下

CREATE EXTENSION IF NOT EXISTS postgis;

运行就可以了

1.3.3 建立矢量数据表

先打开bing图层,然后再打开动态数据图层
在这里插入图片描述

1.3.4 修改图层显示

筛选育明轮相关数据
在这里插入图片描述

1.3.5 给矢量数据显示标签

在这里插入图片描述


http://www.mrgr.cn/news/81104.html

相关文章:

  • apt和apt-get软件包管理工具-debian
  • Python + 深度学习从 0 到 1(01 / 99)
  • 【gym】理解gym并测试gym小游戏CartPole (一)
  • 【SH】在Ubuntu Server 24中基于Python Web应用的Flask Web开发(实现POST请求)学习笔记
  • 代码加入SFTP Go ---(小白篇5)
  • 重构(二)
  • Unittest01|TestCase、断言、装饰器、夹具、清理函数、ddt
  • 计算机网络基础图解
  • 【Python】pandas库---数据分析
  • 人工智能ACA(四)--机器学习基础
  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • SpringBoot提供的常用接口(拓展接口)示例
  • Flutter/Dart:使用日志模块Logger Easier
  • 【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
  • 「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
  • 电商项目-数据同步解决方案(一)
  • 「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
  • 数据库原理学习——存储过程详解
  • AtCoder Beginner Contest 385(A~F)题解
  • 【微服务】SpringBoot 整合Redis实现延时任务处理使用详解
  • kafka理解记录
  • Java重要面试名词整理(二):SpringMyBatis
  • SMMU软件指南SMMU编程之虚拟机结构和缓存
  • List接口
  • 机器学习(Machine Learning)的安全问题
  • 以太网详解(三)FPGA以太网IP配置(Quartus平台)