使用SQL在PostGIS中创建各种空间数据

#1024程序员节|征文#
在这里插入图片描述

一、目录

1. 概述
2. 几何(Geometry)类型
创建点
创建线
创建面
3. 地理(Geography)类型
地理点(GEOGRAPHY POINT)
地理线串(GEOGRAPHY LINESTRING)
地理点(GEOGRAPHY POLYGON)

在这里创建图片描述

二、概述

PostGIS 是一个强大的空间数据库扩展,它为 PostgreSQL 数据库添加了对空间数据的支持。

通过 PostGIS,我们可以存储、查询和分析各种几何形状和地理空间数据。

在本文中,我们将探讨如何在 PostGIS 中创建不同类型的空间数据。

三、几何(Geometry)类型

(一)、创建点 🔗

  1. 单个点 🔗

在 PostGIS 中,可以使用ST_GeomFromText函数来创建单个点。

例如,要创建一个坐标为(10, 20)的点,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES (ST_GeomFromText('POINT(10 20)'));
  1. 带有坐标系的单个点 🔗

如果要创建带有特定坐标系的单个点,可以在ST_GeomFromText函数中指定坐标系。

例如,要创建一个在 WGS84 坐标系下坐标为(-71.060316, 42.258729)的点,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES (ST_GeomFromText('POINT(-71.060316 42.258729)', 4326));
  1. 坐标系为4326的线 🔗

要创建一个在 WGS84 坐标系下的线串,可以使用以下方式。

例如,要创建一个由两个点组成的线串,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES 
(ST_GeomFromText('LINESTRING(-71.060316 42.258729, -71.061 42.259)', 4326));
  1. 创建多点multipoints 🔗

要创建多个点组成的多点对象,可以使用ST_Multi函数结合ST_GeomFromText。

例如,要创建包含三个点的多点对象,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES
(ST_Multi(ST_GeomFromText('MULTIPOINT(1 1, 2 2, 3 3)')));

(二)、创建线 🔗

  1. 单个线 🔗

创建单个线串可以使用与创建单个点类似的方法。

例如,要创建一个由两个点组成的线串,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES 
(ST_GeomFromText('LINESTRING(1 2, 3 4)'));
  1. 带有坐标系的单个线 🔗

带有坐标系的单个线串创建方式与带有坐标系的单个点类似。

例如,要创建一个在 WGS84 坐标系下的线串,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES 
(ST_GeomFromText('LINESTRING(-71.060316 42.258729, -71.061 42.259)', 4326));
  1. 坐标系为4326的线 🔗

同带有坐标系的单个线的创建方式。

  1. 创建多点multilinestring 🔗

要创建多个线串组成的多线串对象,可以使用ST_Multi函数结合ST_GeomFromText。

例如,要创建包含两条线串的多线串对象,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES 
(ST_Multi(ST_GeomFromText('MULTILINESTRING((0 0, 1 1),(2 2, 3 3))')));

(三)、创建面 🔗

  1. 单个面 🔗

创建单个多边形可以使用ST_GeomFromText函数。

例如,要创建一个矩形多边形,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES 
(ST_GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));
  1. 带有坐标系的单个面 🔗

带有坐标系的单个多边形创建方式与带有坐标系的单个点类似。

例如,要创建一个在 WGS84 坐标系下的多边形,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES
(ST_GeomFromText('POLYGON((-71.060316 42.258729, -71.061 42.259, -71.060 42.259, -71.060316 42.258729))', 4326));
  1. 坐标系为4326的面 🔗

同带有坐标系的单个面的创建方式。

  1. 创建多点multipolygon 🔗

要创建多个多边形组成的多多边形对象,可以使用ST_Multi函数结合ST_GeomFromText。

例如,要创建包含两个多边形的多多边形对象,可以使用以下 SQL 语句:

INSERT INTO your_table (geom) 
VALUES
(ST_Multi(ST_GeomFromText('MULTIPOLYGON(((0 0, 0 1, 1 1, 1 0, 0 0)),((2 2, 2 3, 3 3, 3 2, 2 2))')));

四、地理(Geography)类型

(一)、创建地理点(GEOGRAPHY POINT) 🔗

创建地理点可以使用ST_GeogFromText函数。

例如,要创建一个在 WGS84 坐标系下的地理点,可以使用以下 SQL 语句:

INSERT INTO your_table (geog) 
VALUES
(ST_GeogFromText('SRID=4326;POINT(-71.060316 42.258729)'));

(二)、创建地理线串(GEOGRAPHY LINESTRING) 🔗

创建地理线串可以使用ST_GeogFromText函数。

例如,要创建一个在 WGS84 坐标系下的地理线串,可以使用以下 SQL 语句:

INSERT INTO your_table (geog) 
VALUES 
(ST_GeogFromText('SRID=4326;LINESTRING(-71.060316 42.258729, -71.061 42.259)'));

(三)、创建地理点(GEOGRAPHY POLYGON) 🔗

创建地理多边形可以使用ST_GeogFromText函数。

例如,要创建一个在 WGS84 坐标系下的地理多边形,可以使用以下 SQL 语句:

INSERT INTO your_table (geog) 
VALUES
(ST_GeogFromText('SRID=4326;POLYGON((-71.060316 42.258729, -71.061 42.259, -71.060 42.259, -71.060316 42.258729))'));
【PostGIS】在Java中操作postgis——使用springboot+Maven+mybatis框架 完成PostGIS的安装与配置后,让我们来写一个Java操作postgis数据库的demo吧~ 阅读详情

相关推荐

GeoServer与PostGIS高效集成:从数据源配置到动态SQL图层发布

本文详细介绍了GeoServer与PostGIS的高效集成方法,从数据源配置到动态SQL图层发布的完整流程。通过实际案例展示了如何利用PostGIS存储空间数据,并通过GeoServer实现动态地图服务发布,特别强调了SQL视图参数化实现动态过滤的技巧,为地理空间数据处理提供了高效解决方案。

weixin_29213827的博客 706

【PostGIS】PostGIS数据模型

EPSG database存储了常用的SRS系统,postgis使用srid来定义坐标系统,几何通过srid值与空间参考系相关联;可以使用ST_SRID函数查看表的srid值;空间参考信息存储在spatial_ref_sys表中。几何图形列信息存储在geometry_columns视图中,地理图形列信息存储在geography_columns视图中。(2)PgAdminIII shp2pgsql-gui工具。常用srid 4490 GCS2000地理坐标系。8.2 使用形状文件加载器shp2pgsql。

zhoulizhu的博客 796

Edge主页被2345劫持?手动清理注册表与组策略的完整方案

浏览器主页劫持是Windows系统中常见的恶意篡改行为,其原理是通过修改注册表、快捷方式、组策略等多处系统配置,强制锁定浏览器启动页。这类劫持不仅影响上网体验,还可能带来隐私泄露和恶意软件感染风险。在安全防护与系统优化场景中,掌握手动清理主页劫持的技能至关重要。本文针对Edge主页被2345导航劫持的问题,深入解析劫持入口,提供从快捷方式、注册表到组策略的逐层清理步骤,并给出防复发策略,帮助用户彻底摆脱顽固劫持。

weixin_30582943的博客 388

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 340

进阶篇第8节:寄存器压力——寄存器溢出对性能的影响及优化

**摘要:GPU寄存器是最快的存储单元(1周期访问),但数量有限。过高的寄存器使用会导致溢出(变量存入慢速本地内存)或降低占用率(减少并发线程数),严重影响性能。优化方法包括复用变量、使用共享内存替代寄存器数组、限制寄存器数量(--maxrregcount)等。实际测试显示,将寄存器使用从48个降至24个可使性能提升37%。分析工具如Nsight Compute可帮助检测寄存器压力。面试常见问题涉及寄存器溢出的检测与优化策略。

PeterPan的博客 95

PID控制算法实践应用(一):PID算法的离散化

由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化方法。

m0_72676510的博客 2602

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

王老师青少年编程 3398

深度学习-176-知识图谱技术之langchain与neo4j的嵌入向量Neo4jVector

使用Neo4jVector将输入的文档向量化,并创建向量索引,然后进行语义检索。

qq_20466211的博客 440

《四》:LBE,VR 大空间系列——Pico的空间扫描方式

(这里有个选项叫高精度扫描模式,这个功能在下方详细补充)系统会根据绘制的顶点,将区域分割成若干个4X4米的小方格,我们只需要根据提示,首先进入一个方格子空间内部,然后依次凝视每个区域上下左右前后六个面的小方格组,每一面4个,直至全部消失, 消失后地面会出现一个方形行走路径,我们沿着边缘正或反走一圈即可,完成后此块区域即自动消失。不过由于pico有一个高精度扫描圈,如图加粗的圆环,这个圆环的意思是在在内部的区域扫描精度较高,越远离原点的区域误差越大,所以为了更有效的利用,建议原点设置在场地中心区域。

unitygroup的博客 2887

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 在ArcMap中添加在线底图
下一篇: 在Postgresql中对空间数据进行表分区的实践
丷丩
丷丩 优质创作者: 数据科学与机器学习技术领域 优质创作者: 数据科学与机器学习技术领域
博客等级 码龄18年 1万+粉丝 317原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丷丩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值