关于postgis创建表指定geom类型的问题

Posted hpugisers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于postgis创建表指定geom类型的问题相关的知识,希望对你有一定的参考价值。

今天在群里看到一位同学,在问为啥创建表格空间字段类型为geometry,而查询出来的却是point类型?以至于在udig中不能配色,下面说一下原因

1 udig中无法配色原因所在?

由于在表中geometry的类型选择为Geometry,没有指定特定的空间类型(点 线 面等类型),这样造成该表中可以存储点 线 面等空间要素,由于要素混杂为geometry类型,自然无法在udig中配色.

2 解决方法

在创建表时候指定空间字段类型,例如:

CREATE TABLE ROADS ( ID int4, ROAD_NAME varchar(25), geom geometry(LINESTRING,4326) );

也可以在可视化页面创建


注意问题:
一定要在创建表格时候在指定类型,如果中间想更改,可是页面会显示仅有geometry无法更改,这也是空间数据库的特征所在,一旦确定类型则无法更改

扩展:
如果一个表中需要存放点线面等要素时候,可以采用geometry类型

以上是关于关于postgis创建表指定geom类型的问题的主要内容,如果未能解决你的问题,请参考以下文章

postgis sql查询空间索引失效

Liquibase 使用 Postgis“几何”类型创建表

使用 PostGIS 查找给定点的 n 个最近邻?

laravel 背包 postgis 几何领域

POSTGIS拓扑:pgRouting最短路径分析

在 Apache Spark JDBC DataFrame 中使用 Postgis 几何类型