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

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

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