【PostGIS】PostGIS数据模型

  1. postgis的几何类型和ogc的集合类型相对应,postgis的几何类型是ogc的超集
  2. postgis将几何类型分为笛卡尔平面几何geometry和地理图形geography;geometry存储xy坐标,geography存储lonlat坐标;geometry支持的类型多于geography类型
  3. 对三维的支持,Z和M值,Z值指高程,M一般指时间等参数
    二维point(1 1)
    三维point(1 1 1)
    三维M pointm(1 1 1)
  4. 几何验证函数
    ST_IsSimple 是否简单图形
    ST_IsValid 是否有效图形
    ST_IsValidDetail 是否有效图形详细信息
SELECT valid, reason, ST_AsText(location) AS locationFROM ST_IsValidDetail('POLYGON ((20 20, 120 190, 50 190, 170 50, 20 20))') AS t;valid |      reason       |                  location
-------+-------------------+---------------------------------------------f     | Self-intersection | POINT(91.51162790697674 141.56976744186045)
  1. 修复图形
    ST_MakeValid 修复图形

  2. 几何图形列信息存储在geometry_columns视图中,地理图形列信息存储在geography_columns视图中

  3. EPSG database存储了常用的SRS系统,postgis使用srid来定义坐标系统,几何通过srid值与空间参考系相关联;可以使用ST_SRID函数查看表的srid值;空间参考信息存储在spatial_ref_sys表中
    常用srid 4490 GCS2000地理坐标系
    4528 GCS2000 Zone40坐标系

  4. postgis官方加载空间数据分两种方式:
    8.1 使用SQL加载数据

BEGIN;
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (1,'LINESTRING(191232 243118,191108 243242)','Jeff Rd');
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (2,'LINESTRING(189141 244158,189265 244817)','Geordie Rd');
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (3,'LINESTRING(192783 228138,192612 229814)','Paul St');
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (4,'LINESTRING(189412 252431,189631 259122)','Graeme Ave');
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (5,'LINESTRING(190131 224148,190871 228134)','Phil Tce');
INSERT INTO roads (road_id, roads_geom, road_name)VALUES (6,'LINESTRING(198231 263418,198213 268322)','Dave Cres');
COMMIT;

8.2 使用形状文件加载器shp2pgsql
(1)

# shp2pgsql -c -D -s 4269 -i -I shaperoads.shp myschema.roadstable > roads.sql
# psql -d roadsdb -f roads.sql

(2)PgAdminIII shp2pgsql-gui工具

  1. 空间索引
    9.1 三种空间索引
    GiST(广义搜索树)
    BRIN(区块范围指数)
    SP-GiST(空间分区广义搜索树)
    9.2 gist索引
    在“几何”列上构建 GiST 索引的语法如下: 遵循:
CREATE INDEX [indexname] ON [tablename] USING GIST ( [geometryfield] ); 

上述语法将始终构建 2D 索引。若要获取几何类型的 n 维索引,可以使用以下语法创建一个索引:

CREATE INDEX [indexname] ON [tablename] USING GIST ([geometryfield] gist_geometry_ops_nd);

构建空间索引是一项计算密集型工作。它还会在创建表时阻止对表的写入访问,因此在生产系统上,您可能希望以较慢的并发感知方式执行:

CREATE INDEX CONCURRENTLY [indexname] ON [tablename] USING GIST ( [geometryfield] ); 

构建索引后,有时强制 PostgreSQL 收集 表统计信息,用于优化查询计划:

VACUUM ANALYZE [table_name] [(column_name)];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为配置ARP安全综合功能实验

配置ARP安全综合功能示例 组网图形 图1 配置ARP安全功能组网图 ARP安全简介配置注意事项组网需求配置思路操作步骤配置文件 ARP安全简介 ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和A…

在深度学习中,epoch和learning rate的通常取值范围?

在深度学习中,epoch和学习率的取值确实会根据不同的任务、数据集和模型架构有所不同。然而,您提到的范围是一些常见的经验性取值,这些取值在很多情况下都能工作得相当好。 1. 对于epoch的取值范围: 在很多研究论文和实际应用中&…

单片机学习笔记--- 定时器/计数器(简述版!)

目录 定时器的介绍 定时计数器的定时原理 定时计数器的内部结构 两种控制寄存器 (1)工作方式寄存器TMOD (2)控制寄存器TCON 定时计数器的工作方式 方式0 方式1 方式2 方式3 定时器的配置步骤 第一步,对…

建立自己的交易法则,打造自己的交易系统

一、教程描述 本套教程由知名财经自媒体倾心打造,基金经理资深会计师游资操盘手团队,手把手教你打造自己的交易系统,1、海龟交易法则CANSLIM模型合二为一,建立自己的交易法则;2、严格执行交易系统,保护本金…

2023年12月CCF-GESP编程能力等级认证Python编程四级真题解析

一、单选题(共15题,共30分) 第1题 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( ) A:麦克风 B:扬声器 C:油量表 D:传感器 …

如何在微信搭建私域流量池?

A: ①给客户打标签 添加标签,多维度构建用户画像,精准发送消息。 ②群发信息 选择自定义时间,上传内容 (支持文字,图片) ,一键群发 。 ③建立专属素材库 将常用的话术、图片与文件录入至素材库,员工可随…

永久删除 Elasticsearch 中的主节点

Elasticsearch 是一个开源分布式搜索和分析引擎,用于各种任务,例如全文搜索、日志分析和实时数据分析。 Elasticsearch 集群由一个或多个节点组成,每个节点可以具有多种角色,包括主节点(master node)、数据…

使用orangepi玩linux

最近看了这个大佬的文章,写了使用远程来挂载linux的方案,觉得还是很有意思的,瞬间感觉linux这块都还是相通的,就跑了一下,果然,牛逼! 香橙派全志H3烧录Uboot,远程加载zImage&#xf…

vscode 插件 Tailwind CSS IntelliSense 解决 class 提示问题

问题描述&#xff1a; 如下写js字符串是没有class智能提示的&#xff1a; const clsName bg-[#123456] text-[#654321] return <div className{clsName}></div>解决方案&#xff1a; 安装 clsx 依赖 pnpm i clsx设置 vscode 的 settings.json {"tailwin…

Android 数据恢复电脑版免费下载使用方法 [2024 更新]

“我一直在寻找一款可以下载的适用于 PC 的优秀 Android 数据恢复软件。有很多&#xff0c;但大部分都需要我付费。你能推荐一个好的让我免费下载吗&#xff1f;” 奇客数据恢复安卓版是恢复已删除或丢失的 Android 数据的最安全的工具。免费下载下面的奇客数据恢复安卓版来尝试…

LPC804开发(9.DAC使用)

1.前言 这是最最简单的外设&#xff0c;应该没有之一&#xff0c;我大概看了10分钟就会用了&#xff0c;我这里快速说一说&#xff0c;争取今天再把ADC搞出来。 2.初始化 程序如下 /* Power on the DAC0.*/POWER_DisablePD(kPDRUNCFG_PD_DAC0);/* Configure the DAC. */DAC…

软件工程知识梳理3-总体设计

总体设计的基本目的是回答“概括地说&#xff0c;系统应该如何实现”这个问题&#xff0c;因此总体设计又称为概要设计或初步设计。 本阶段的工作讲划分出组成系统的物理元素&#xff1a;程序、文件、数据库、人工过程和文档等&#xff0c;但是每个物理元素仍然处于黑盒子级&a…

[word] word艺术字体如何设置? #知识分享#职场发展#媒体

word艺术字体如何设置&#xff1f; 在工作中有些技巧&#xff0c;可以快速提高工作效率&#xff0c;解决大部分工作&#xff0c;今天给大家分享word艺术字体如何设置的技巧&#xff0c;希望可以帮助到你。 1、设置艺术字 选中文字&#xff0c;然后点击菜单栏的【插入】按钮一一…

从零开始实现贪吃蛇(C语言版)

贪吃蛇 游戏介绍1.前置知识1.1 Win32API1.2 控制台程序1.3 坐标系统1.4 GetStdHandle(获取句柄)1.5 CONSOLE_CURSOR_INFO(控制台光标信息)1.6 GetConsoleCursorInfo(获取光标信息)1.7 SetConsoleCursorInfo(设置控制台光标信息)1.8 SetConsoleCursorPosition(设置光标当前位置)…

国外知名的农业机器人公司

从高科技温室到云播种&#xff0c;农业机器人如何帮助农民填补劳动力短缺以及超市货架的短缺。 概要 “高科技农业”并不矛盾。当代农业经营更像是硅谷&#xff0c;而不是美国哥特式&#xff0c;拥有控制灌溉的应用程序、驾驶拖拉机的 GPS 系统和监控牲畜的带有 RFID 芯片的耳…

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…

dnslog在sql盲注

首先必须保证sql是在windows下 因为需要使用到UNC路径 保证mysql中的secure_file_priv为空 secure_file_priv为null&#xff0c;load_file则不能加载文件。 secure_file_priv为路径&#xff0c;可以读取路径中的文件&#xff1b; secure_file_priv为空&#xff0c;可以读取磁盘…

住宅物业满意度调研的重要性

本文由群狼调研&#xff08;长沙物业需求调查&#xff09;出品&#xff0c;欢迎转载&#xff0c;请注明出处。住宅物业满意度调研具有重要的意义和影响&#xff0c;以下是其重要性的几个方面&#xff1a; 1.改善居民满意度&#xff1a;住宅物业满意度调研可以了解居民对物业管…

LinkedList的基本操作【集合容器知识回顾 ③】

LinkedList LinkedList 是 Java 中的一个双向链表数据结构。它由一系列节点组成&#xff0c;每个节点包含数据元素和指向前一个节点和后一个节点的引用。这种结构使 LinkedList 在插入和删除操作方面非常高效&#xff0c;因为它不需要像数组一样重新分配内存空间。 基础操作 初…

千兆电口模块和万兆电口模块:网络速度的演变

随着信息技术的迅猛发展&#xff0c;网络通信技术也在不断进步。在过去的几十年中&#xff0c;以太网的速度发生了巨大的变化&#xff0c;从最初的百兆以太网&#xff0c;到如今的千兆以太网和万兆以太网甚至40G、100G以太网满足了大数据、云计算、人工智能等新兴应用的需求。在…