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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

C# dynamic类型使用详解

《C#dynamic类型使用详解》C#中的dynamic类型允许在运行时确定对象的类型和成员,跳过编译时类型检查,适用于处理未知类型的对象或与动态语言互操作,dynamic支持动态成员解析、添加和删... 目录简介dynamic 的定义dynamic 的使用动态类型赋值访问成员动态方法调用dynamic 的