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

学习网站建设课程采集规则wordpress

学习网站建设课程,采集规则wordpress,html网页完整代码作业简单,大连金州属于哪个区目的#xff1a; 为什么要用PostgreSQL? 因为有时候我们需要存储 空间数据#xff0c;如#xff1a;存储一个 多边形 到数据。PostGis中 geometry、geography #xff1a;基本空间数据类型#xff0c;用于表达点线面等空间要素#xff0c;具体类型涵盖了OGC的简单对象模… 目的 为什么要用PostgreSQL? 因为有时候我们需要存储 空间数据如存储一个 多边形 到数据。PostGis中 geometry、geography 基本空间数据类型用于表达点线面等空间要素具体类型涵盖了OGC的简单对象模型 说明PostGIS是PostgreSQL对象关系数据库的空间数据库扩展。它增加了对地理对象的支持允许在SQL中运行位置查询。 特点 PostGIS是在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力的开源空间数据库空间数据库像存储和操作数据库中其他任何对象一样去存储和操作空间对象。它是PostgreSQL的扩展插件在PostgreSQL的core存储、检索、事务等层之上实现GIS层的功能它不能独立于PostgreSQL运行。 常见名词 WKT(Well-known text) 是开放地理空间联盟OGCOpen GIS Consortium 制定的一种文本标记语言用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换 POINT(1 2)常见描述 Point 点 、LineString 线、 Polygon 多边形 … - WKB(well-known binary) 是WKT的二进制表示形式解决了WKT表达方式冗余的问题便于传输和在数据库中存储相同的信息 - 01020000800200000097E5880801845C404D064F3AF4AE36400000000000000000290A915F01845C40DC90B1A051AE36400000000000000000 - pg库中 geometry 类型字段默认存储的就是wkb GeoJson {[“type: “Point, “coordinates”: [30, 10]} 常见安装 官网下载地址 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 扩展插件空间数据处理 postgis安装 https://www.postgresql.org/ftp/postgis/ http://download.osgeo.org/postgis/windows/pg10/ docker安装 version: 3.1 services:postgresql:image: postgres:12-alpinecontainer_name: postgresqlenvironment:POSTGRES_DB: postgresPOSTGRES_USER: rootPOSTGRES_PASSWORD: rootports:- 5432:5432volumes:- ./data:/var/lib/postgresql/data常见函数 -- 创建扩展函数 CREATE EXTENSION postgis;-- 读取wkt字符串为geometry ST_GeomFromTextST_GeometryFromText-- 转换为wkt ST_AsText -- 转换为geojson ST_AsGeoJSON转换函数 运行这个sql https://gitcode.net/mirrors/geocompass/pg-coordtransform/-/blob/master/geoc-pg-coordtransform.sql -- 坐标系转换 -- WGS84坐标系地球坐标系国际通用坐标系 -- GCJ02坐标系火星坐标系WGS84坐标系加密后的坐标系Google国内地图、高德、QQ地图 使用 -- BD09坐标系 百度坐标系GCJ02坐标系加密后的坐标系 -- CGCS坐标系国家2000大地坐标系-- WGS84转GCJ02 select ST_AsText(geoc_wgs84togcj02(geom)) from md_geom_space-- GCJ02转WGS84 select geoc_gcj02towgs84(geom) from md_geom_space-- WGS84转BD09 select geoc_wgs84tobd09(geom) from md_geom_space-- BD09转WGS84 select geoc_bd09towgs84(geom) from md_geom_space-- CGCS2000转GCJ02 select geoc_cgcs2000togcj02(geom) from md_geom_space-- GCJ02转CGCS2000 select geoc_gcj02tocgcs2000(geom) from md_geom_space-- CGCS2000转BD09 select geoc_cgcs2000tobd09(geom) from md_geom_space-- BD09转CGCS2000 select geoc_bd09tocgcs2000(geom) from md_geom_space-- GCJ02转BD09 select geoc_gcj02tobd09(geom) from md_geom_space-- BD09转GCJ02 select geoc_bd09togcj02(geom) from md_geom_space代码整合 pom dependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactIdversion42.3.8/version/dependency!-- GeoTools --dependencygroupIdorg.geolatte/groupIdartifactIdgeolatte-geom/artifactIdversion1.6.0/version/dependency!-- https://mvnrepository.com/artifact/org.geolatte/geolatte-geojson --dependencygroupIdorg.geolatte/groupIdartifactIdgeolatte-geojson/artifactIdversion1.6.0/version/dependencydependencygroupIdnet.postgis/groupIdartifactIdpostgis-jdbc/artifactIdversion2.5.0/version/dependencydependencygroupIdorg.geotools/groupIdartifactIdgt-main/artifactIdversion28-SNAPSHOT/version/dependencydependencygroupIdorg.geotools/groupIdartifactIdgt-geojson/artifactIdversion28-SNAPSHOT/version/dependency!-- geotools的远程库 --repositoriesrepositoryidosgeo/idnameOSGeo Release Repository/nameurlhttps://repo.osgeo.org/repository/release//urlsnapshotsenabledfalse/enabled/snapshotsreleasesenabledtrue/enabled/releases/repositoryrepositoryidosgeo-snapshot/idnameOSGeo Snapshot Repository/nameurlhttps://repo.osgeo.org/repository/snapshot//urlsnapshotsenabledtrue/enabled/snapshotsreleasesenabledfalse/enabled/releases/repository/repositoriesmybatisplus 自定义类型处理 import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.MappedTypes; import org.postgis.Geometry; import org.postgis.PGgeometry; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;MappedTypes({String.class}) public class MyGeometryTypeHandler extends BaseTypeHandlerString {Overridepublic void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {PGgeometry pGgeometry new PGgeometry(parameter);Geometry geometry pGgeometry.getGeometry();//坐标系geometry.setSrid(4326);ps.setObject(i, pGgeometry);}Overridepublic String getNullableResult(ResultSet rs, String columnName) throws SQLException {PGgeometry pGgeometry new PGgeometry(rs.getString(columnName));return pGgeometry.getValue().replace(SRID4326;,);}Overridepublic String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {PGgeometry pGgeometry new PGgeometry(rs.getString(columnIndex));return pGgeometry.toString();}Overridepublic String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {PGgeometry pGgeometry new PGgeometry(cs.getString(columnIndex));return pGgeometry.toString();} }import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.typeHandler.MyGeometryTypeHandler; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable;/*** xxx** author heyonghao* date 2023/7/17*/ TableName(autoResultMap true) ApiModel(value 电子围栏) Accessors(chain true) Data public class GeomSpace implements Serializable {ApiModelProperty(value 主键)private Long id;//对应数据库 geometry 类型ApiModelProperty(value 围栏geo参数- 返回wkt)TableField(typeHandler MyGeometryTypeHandler.class)private String geom;ApiModelProperty(value 电子围栏名称)private String title;ApiModelProperty(value 其它组成参数 eg: 圆 半径 {\\\radius\\\:0.00030345730927194836,\\\radiusTrue\\\:29.068128024579657})private String other;}新增空间类型数据 ApiModel(value 围栏点位参数) Accessors(chain true) Data public class GeoJsonVo implements Serializable {ApiModelProperty(value 类型 POINT、MULTIPOINT、LINESTRING、MULTILINESTRING、POLYGON、MULTIPOLYGON)private String type;ApiModelProperty(value 点位 eg: [ [\106.29384466232433\,\31.2648657606391\] ])private ListListString coordinates;public String getGeomStr(){String coordinateSRID4326;%s(%s);String collect this.coordinates.stream().map(s - s.stream().map(String::valueOf).collect(Collectors.joining( ))).collect(Collectors.joining(,));coordinateString.format(coordinate,this.getType(),collect);return coordinate;}}ApiModel(value 围栏新增VO) Data public class MdGeomSpaceSaveVo implements Serializable {ApiModelProperty(value 围栏信息)private GeomSpace mdGeomSpace;ApiModelProperty(value 围栏点位信息)private GeoJsonVo geoJsonVo;}ApiOperation(value 添加围栏) PostMapping(/save) public RBoolean save(RequestBody MdGeomSpaceSaveVo geomSpaceSaveVo){GeoJsonVo geoJsonVo geomSpaceSaveVo.getGeoJsonVo();String geomStr geoJsonVo.getGeomStr();GeomSpace mdGeomSpace geomSpaceSaveVo.getMdGeomSpace();mdGeomSpace.setGeom(geomStr);mdGeomSpace.setId(IdUtil.getSnowflakeNextId());boolean save mdGeomSpaceService.save(mdGeomSpace);return R.ok(save); }电子围栏 用一个虚拟的栅栏围出一个虚拟地理边界在地图上 圈出一个圆形范围、或多边形范围绑定特点规则如 超速、滞留、偏离、聚集等做出相应告警传入空间数据存入PG库 表 -- ---------------------------- DROP TABLE IF EXISTS public.geom_space; CREATE TABLE public.geom_space (id int8 NOT NULL DEFAULT nextval(testgeomobj_id_seq::regclass),geom geometry(GEOMETRY) NOT NULL,title varchar(255) COLLATE pg_catalog.default,other varchar(255) COLLATE pg_catalog.default ) ; COMMENT ON COLUMN public.geom_space.id IS 主键; COMMENT ON COLUMN public.geom_space.geom IS 围栏geo参数; COMMENT ON COLUMN public.geom_space.title IS 电子围栏名称; COMMENT ON COLUMN public.geom_space.other IS 其它组成参数 eg: 圆 半径;-- ---------------------------- -- Primary Key structure for table geom_space -- ---------------------------- ALTER TABLE public.geom_space ADD CONSTRAINT md_geom_space_pkey PRIMARY KEY (id);-- ---------------------------- DROP TABLE IF EXISTS public.geom_space_rule; CREATE TABLE public.geom_space_rule (id int8 NOT NULL,name varchar(255) COLLATE pg_catalog.default,type int2,rule varchar(255) COLLATE pg_catalog.default ) ; COMMENT ON COLUMN public.geom_space_rule.id IS 主键; COMMENT ON COLUMN public.geom_space_rule.name IS 规则名称; COMMENT ON COLUMN public.geom_space_rule.type IS 规则类型 1-超速 2-聚焦 3-规矩偏离 4-滞留; COMMENT ON COLUMN public.geom_space_rule.rule IS 规则JSON;-- ---------------------------- -- Records of geom_space_rule -- ---------------------------- INSERT INTO public.geom_space_rule VALUES (1685206843057606656, 超速, 1, {speed:60,duration:10});-- ---------------------------- -- Primary Key structure for table geom_space_rule -- ---------------------------- ALTER TABLE public.geom_space_rule ADD CONSTRAINT geom_space_rule_pkey PRIMARY KEY (id);-- ---------------------------- DROP TABLE IF EXISTS public.geom_space_bind; CREATE TABLE public.geom_space_bind (id int8 NOT NULL,space_id int8,rule_id int8 ) ; COMMENT ON COLUMN public.geom_space_bind.id IS 主键; COMMENT ON COLUMN public.geom_space_bind.space_id IS 围栏id; COMMENT ON COLUMN public.geom_space_bind.rule_id IS 规则id;-- ---------------------------- -- Records of geom_space_bind -- ---------------------------- INSERT INTO public.geom_space_bind VALUES (1685206981247340544, 1685205995128717312, 1685206843057606656);-- ---------------------------- -- Primary Key structure for table geom_space_bind -- ---------------------------- ALTER TABLE public.geom_space_bind ADD CONSTRAINT geom_space_bind_pkey PRIMARY KEY (id);
http://www.tj-hxxt.cn/news/137761.html

相关文章:

  • 网站500错误是什么意思网站管理员中心
  • vi设计是平面设计吗辽宁短视频搜索seo哪家实惠
  • 建设企业网站服务器荆州做网站
  • 房产网站搭建推广方法及策略
  • 杭州英文网站建设搜一搜排名点击软件
  • 龙岗网站设计机构招投标建设网站的网站
  • visual studio2005做网站做旅游海报哪个网站好免费的
  • 外贸网站建设wordpress链接视频
  • 免费下载现成ppt网站注册成立公司的基本流程
  • 做网站在哪接单河南省做网站的公司有哪些
  • 网站模板 手机app展示synology建设网站
  • 介绍小说的网站模板下载地址怎么做网站免费
  • 网站联系方式模板php网站开发和部署
  • 做网站的分工杭州企业做网站
  • .net网站 开发建设局查询网站首页
  • 有哪些做公司网站的wordpress文章编辑框
  • 手机网站免费模板下载郑州广告牌制作市场
  • 湖北网站推广宣传广西知名网站设计
  • 网站做微信支付宝支付怎样制作小视频
  • 企业网站建设重要性电子商务网站建设需要开发哪些模块
  • 江苏省住房城乡建设厅网站首页东莞做网站-南城信科
  • 河津北京网站建设单页移动网页建站教程
  • 江阴市住房与建设局网站外贸网站建设 东莞
  • 制作网站公司 可以要求后续修改吗百度网址怎么写
  • 做金馆长网站网站wordpress 输出豆瓣
  • 仙桃网站制作网站设计社交app定制开发
  • 中国建设银行的网站网站建设解决
  • 关于网站建设的申请报告网站认证值不值得做
  • 网站 各种 备案wordpress浏览历史
  • 设计型网站建设怀来县住房和城乡规划建设局网站