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

学习网站建设课程小公司根本办不了icp许可证

学习网站建设课程,小公司根本办不了icp许可证,备案网站简介怎么写,购物网站建设价位目的#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.hkea.cn/news/14404171/

相关文章:

  • 网站链接怎么做找熟人做网站的弊端
  • 上海公司做网站的网站建设哪些是需要外援的问题
  • 商丘网站推广公司苏州做网站专业的公司
  • 河南省建设安全监督总站网站网站建设要求说明
  • 中国水电建设集团网站fm网站开发
  • 专做机酒的网站dede织梦php文章图片网站源码 完整后台 带在线音乐
  • 网站开发自学流程国内专门做旅游攻略的网站
  • 数码类网站名称潍坊个人做网站的公司
  • 湖南天人安装建设有限公司网站什么网站建设最便宜
  • 做网站工资多少钱怎么做伪静态网站
  • 家具展示网站源码河南省建设协会网站
  • 米拓网站建设步骤微博推广价格表
  • 外贸网站使用什么品牌国外主机汽车网站建设价格
  • 网站备案信息下载wordpress js漏洞
  • 网站维护的内容主要包括注册公司不经营一年费用
  • aspsql server典型网站建设案例 源码兰州哪有建设网站的
  • 江苏专业做网站的公司有哪些福州网站制作有限公司
  • 株洲 网站建设电商网站有哪些功能
  • 做毕业设计实物的网站必应网站管理员工具
  • 网站大小多少合适手机版网站建设方案
  • 泰安建网站郑州专业个人网站建设
  • 开发微网站河北建设工程信息网查看
  • 网站建设找推推蛙网站建设的发展序列
  • 番禺网站建设培训班做seo的网站
  • 吴江区建设工程招标网站站长工具之家
  • 专业做淘宝网站绍兴网站维护页面
  • 做网站用c语言可以吗做公装的什么网站好
  • 自己可以接单做网站吗网站开发算软件开发吗
  • 设计网站推荐 猪网站代理违法吗
  • 广西建设厅考试网站首页千万别自学软件编程