PostGIS 测试 - 扩展类型(EWKT EWKB)

2024-02-27 14:10

本文主要是介绍PostGIS 测试 - 扩展类型(EWKT EWKB),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.建表

CREATE TABLE postgis3d ( id SERIAL PRIMARY KEY,name VARCHAR(128),geom GEOMETRY
);

2.添加GIST索引

CREATE INDEX postgis3d_gix ON postgis3d USING GIST (geom); 

3.插入数据

3.1 点(POINTM)

INSERT INTO postgis3d (name, geom) VALUES ('p1',GeomFromEWKT('SRID=312;POINTM(0 0 0)')            
);INSERT INTO postgis3d (name,geom) VALUES ('p2',GeomFromEWKT('SRID=312;POINTM(5 0 1)')
);INSERT INTO postgis3d (name,geom) VALUES ('p3',GeomFromEWKT('SRID=312;POINTM(0 10 1)')
);

      或使用多点(MULTIPOINTM)

INSERT INTO postgis3d (name, geom) VALUES ('p1',GeomFromEWKT('SRID=312;MULTIPOINTM(0 0 0,5 0 1,0 10 1)')            
);

      QGIS中显示几何数据如下:

   

3.2 线(LINESTRING)

INSERT INTO postgis3d (name, geom) VALUES ('L1',ST_GeomFromEWKT('SRID=4312;LINESTRING(0 0 0,1 1 0,1 2 1)')
);INSERT INTO postgis3d (name, geom) VALUES ('L1',ST_GeomFromEWKT('SRID=4312;LINESTRING(2 3 1,3 2 1,5 4 1)')
);

    或使用多线(MULTILINESTRING)

INSERT INTO postgis3d (name, geom) VALUES ('L1',ST_GeomFromEWKT('SRID=4312;MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))')
);

    QGIS中显示几何数据如下:

    

3.3 多边形(POLYGON)

INSERT INTO postgis3d (name, geom) VALUES ('p1',ST_GeomFromEWKT('SRID=4312;POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))')
);INSERT INTO postgis3d (name, geom) VALUES ('p1',ST_GeomFromEWKT('SRID=4312;POLYGON((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0))')
);

    或者使用多边形集合(MULTIPOLYGON)

INSERT INTO postgis3d (name, geom) VALUES ('L1',ST_GeomFromEWKT('SRID=4312;MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)))')
);

    QGIS中显示几何数据如下:

 

3.4 三角形(TRIANGLE )

INSERT INTO postgis3d (name, geom) VALUES ('g1',ST_GeomFromEWKT('SRID=4312;TRIANGLE ((0 0, 0 9, 9 0, 0 0))')
);INSERT INTO postgis3d (name, geom) VALUES ('g1',ST_GeomFromEWKT('SRID=4312;TRIANGLE ((10 3, 12.5 8, 15 3, 10 3))')
);

    QGIS中显示几何数据如下:

  

3.5 TIN

INSERT INTO postgis3d (name, geom) VALUES ('t1',ST_GeomFromEWKT('SRID=4312;TIN( ((0 2 0, 10 4 0, 12 0 0, 0 2 0)), ((0 2 0, -2 -6 0, 12 0 0, 0 2 0)), ((0 2 0, 10 4 0, 5 8 0, 0 2 0)) )')
);

    QGIS中显示几何数据如下:

   

3.6 MULTICURVE

INSERT INTO postgis3d (name, geom) VALUES ('c1',ST_GeomFromEWKT('SRID=4312; MULTICURVE( (0 0, 5 5), CIRCULARSTRING(4 0, 4 4, 8 4) )')
);

    QGIS中显示几何数据如下:

   

3.7 GEOMETRYCOLLECTIONM

INSERT INTO postgis3d (name, geom) VALUES ('g1',ST_GeomFromEWKT('SRID=4326;GEOMETRYCOLLECTIONM( POINTM(2 3 9), LINESTRINGM(2 3 4, 3 4 5) )')
);

3.8 POLYHEDRALSURFACE

INSERT INTO postgis3d (name, geom) VALUES ('s1',ST_GeomFromEWKT('SRID=4326;POLYHEDRALSURFACE(((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)))'));

 

这篇关于PostGIS 测试 - 扩展类型(EWKT EWKB)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752657

相关文章

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

Python如何查看数据的类型

《Python如何查看数据的类型》:本文主要介绍Python如何查看数据的类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python查看数据的类型1. 使用 type()2. 使用 isinstance()3. 检查对象的 __class__ 属性4.

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2