PostGIS数据类型

整理自官方文档

PostGIS空间数据库,数据类型

几何类型:

point(点):

点是几何类型的基本二维构建块。point使用以下任一语法指定类型的值:

(x,y)   x,y

其中xy是相应的坐标,作为浮点数。

使用第一种语法输出点。

line(线):

线由线性方程*A*x + *B*y + *C*= 0表示,其中*A**B*不都为零。类型的值 line以下列形式输入和输出:

{ A,B,C}

或者,可以使用以下任何形式进行输入:

[ ( x1 , y1 ) , ( x2 , y2 ) ]( ( x1 , y1 ) , ( x2 , y2 ) )  ( x1 , y1 ) , ( x2 , y2 )    x1 , y1   ,   x2 , y2

其中(x1,y1)和(x2,y2)是线上的两个不同点。

lseg(线段):

线段由成对的点表示,这些点是段的端点。lseg类型的值使用下列语法中的任何一种来指定:

[ ( x1 , y1 ) , ( x2 , y2 ) ]( ( x1 , y1 ) , ( x2 , y2 ) )  ( x1 , y1 ) , ( x2 , y2 )    x1 , y1   ,   x2 , y2

其中(x1,y1)和(x2,y2)是线段的端点。

使用第一种语法输出线段。

box (矩形):

矩形是由矩形的对角线的点对来表示的。box 使用下列语法中的任何一种来指定类型的值:

( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1 , x2 , y2

其中(x1,y1)和(x2,y2)是矩形的任意两个相对的角。

使用第二种语法输出矩形。

可以在输入时提供任意两个相对的角,但是值将根据需要重新排序,以便按顺序存储右上角和左下角。

所以建议在输入时提供右上角和左下角。

path(路径):

路径由连接点列表表示。路径可以是开放的(其中列表中的第一和最后一个点被认为是未连接的),或者是闭合的(其中第一和最后一个点被认为是连接的)。

path使用以下任何语法指定类型的值:

[ ( x1 , y1 ) , ... , ( xn , yn ) ]( ( x1 , y1 ) , ... , ( xn , yn ) )  ( x1 , y1 ) , ... , ( xn , yn )  ( x1 , y1   , ... ,   xn , yn )    x1 , y1   , ... ,   xn , yn

其中点是包括路径的线段的端点。方括号([])表示开放路径,而圆括号(())表示闭合路径。当省略最外面的括号时,如在第三到第五语法中,假设闭合路径。

其中点是包括路径的线段的端点。方括号([])表示开放路径,而小括号(())表示闭合路径。当最外括号被省略时,如在第三到第五语法中,表示默认为一条闭合路径。

根据需要,建议使用第一或第二语法输出路径。

polygon(多边形):

多边形由点列表(多边形的顶点)表示。多边形与闭合路径非常相似,但存储方式不同,并且具有自己的一组支持程序。

polygon使用以下任何一种语法指定类型的值:

( ( x1 , y1 ) , ... , ( xn , yn ) )  ( x1 , y1 ) , ... , ( xn , yn )  ( x1 , y1   , ... ,   xn , yn )    x1 , y1   , ... ,   xn , yn

其中点是包括多边形边界的线段的端点。

建议使用第一种语法输出多边形。

circle(圆):

圆由中心点和半径表示。circle使用以下任何一种语法指定类型的值:

< ( x , y ) , r >( ( x , y ) , r )  ( x , y ) , r    x , y   , r

其中(x,y)是中心点,r是圆的半径。

建议使用第一种语法输出圆。

数字类型 :

numeric:

numeric [ (p , s ) ]等同于decimal [ (p , s ) ] 可选精度的准确数字,p代表整数位加小数位的总位数(不算小数点),s代表小数位的位数。

float4 / float8:

对于float8值,此值最多使用 17 个有效十进制数字,对于float4值,最多使用9个数字。

为了与PostgreSQL的较旧版本生成的输出兼容,并允许降低输出精度,可以使用extra_float_digits参数选择四舍五入的十进制输出。 将值设置为0将恢复以前的默认值,即将值四舍五入为6(对于float4)或15(对于float8)个有效的十进制数字。 设置负值会进一步减少位数。 例如-2会将输出分别舍入到4或13位数字。

int2 / int4 / int8:

int2 = smallint;

int4 = integer ;

int8 = bigint;

int2 2字节小范围整数-32768 to +32767;

int4 4字节整数的典型选择-2147483648 to +2147483647;

int8 8字节 大范围整数 -9223372036854775808 to +9223372036854775807

serial2 / serial4 / serial8:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要发布PostGIS数据,需要先在GeoServer中创建一个数据存储。步骤如下: 1. 登录GeoServer管理界面,选择“工作区”菜单,点击“添加新工作区”按钮,填写工作区名称和URI,保存。 2. 在“数据存储”菜单中,选择“添加新数据存储”按钮,选择PostGIS数据源类型,填写数据存储名称和连接参数,保存。 3. 在“图层”菜单中,选择“添加新图层”按钮,选择刚才创建的数据存储,填写图层名称和样式,保存。 4. 点击“发布”按钮,选择“WMS”或“WFS”服务类型,选择刚才创建的图层,填写发布信息,保存。 5. 测试服务是否正常访问。 以上就是发布PostGIS数据的基本步骤。需要注意的是,连接参数需要正确填写,包括数据库名称、用户名、密码、主机名、端口号等信息。同时,发布服务时需要选择合适的服务类型和发布信息,以满足不同的需求。 ### 回答2: Geoserver是一个免费开源的地理数据发布工具,可以将PostGIS数据库中存储的地理空间数据发布成Web服务,方便其他应用程序调用和使用。 首先我们需要安装并启动Geoserver,可以通过访问http://localhost:8080/geoserver访问Geoserver的管理界面。接下来按照以下步骤进行操作: 1. 添加PostGIS数据存储:进入“存储”界面,选择“添加新存储”,选择“PostGIS”,填写相应的数据库信息,包括数据库名称、用户名、密码等。 2. 定义工作区:工作区是由多个数据存储组成的一个逻辑集合,每个工作区可以包含多个数据存储,但是同一数据存储不能属于多个工作区。在 Geoserver 中,选择“工作区”菜单,点击“添加新工作区”按钮,填写相应的名称和 URI。 3. 创建数据:进入“数据”界面,选择“创建新数据”,选择相应的工作区和 PostGIS 数据存储,填写数据的名称、标题、描述等信息,并选择数据表。 4. 发布数据服务:点击“发布”按钮,选择相应的服务类型,如 WMS、WFS 等,设置服务参数和样式等。 5. 测试数据服务:在浏览器中输入相应服务的 URL,如 http://localhost:8080/geoserver/工作区/数据名称/wms 可以访问所发布的数据服务,可以通过调整相应的参数进行测试和调试。 除了以上的步骤,Geoserver还提供了丰富的扩展功能和插件,如可以添加用户名和密码进行访问控制,利用 GeoWebCache 进行地图瓦片缓存等。通过利用 Geoserver 可以方便地将 PostGIS 数据库中的地理空间数据发布成 Web 服务,提供给其他应用程序使用,是地理信息系统开发中不可缺少的重要工具之一。 ### 回答3: Geoserver是一个开源的地理空间服务器,它能够发布GIS数据和地图服务,是非常强大和灵活的工具。而PostGIS则是一款基于PostgreSQL的空间数据库,它可以支持地理空间查询和分析。 Geoserver支持发布PostGIS数据,这样就可以通过Web地图服务来呈现地理信息。下面是发布PostGIS数据的步骤: 1. 创建PostGIS数据存储:在Geoserver管理页面选择“Stores”->“Add new store”->“PostGIS”来创建一个新的数据存储。要填写连接PostGIS数据库的相关信息,如数据库名称、主机名、用户名、密码等。 2. 添加PostGIS图层:在新建的数据存储下,选择“Add new layer”来添加PostGIS图层。在这个过程中,需要指定承载图层的表名称或者数据库视图,并设置图层的属性信息和坐标参考系统。 3. 配置样式:在图层设置中,可以配置样式,包括图标、颜色、字体等。 4. 发布服务:在完成了数据存储、图层、样式三个步骤后,点击“Publish”按钮来发布这些服务。 5. 验证服务:发布服务后,在Geoserver管理页面上可以看到发布的服务,并且可以测试相关接口和功能是否正确。 通过以上步骤,就可以使用Geoserver来发布PostGIS数据。在实际的应用场景中,可以结合其他工具如OpenLayers和Leaflet来构建交互式地图应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值