02 PostGIS常用空间分析函数
常用的PostGIS空间分析函数清单:
| 序号 | 函数名 | 描述 | 示例 |
|---|---|---|---|
| 1 | ST_AsText(geometry) | 将几何对象转换为文本形式的WKT字符串 | ST_AsText(ST_GeomFromText(‘POINT(1 2)’)) 返回 ‘POINT(1 2)’ |
| 2 | ST_GeometryType(geometry) | 返回几何对象的类型,如POINT、LINESTRING、POLYGON等 | ST_GeometryType(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 ‘LINESTRING’ |
| 3 | ST_SRID(geometry) | 返回几何对象的空间参考系ID | ST_SRID(ST_GeomFromText(‘POINT(1 2)’, 4326)) 返回 4326 |
| 4 | ST_SetSRID(geometry, srid) | 设置几何对象的空间参考系ID | ST_SetSRID(ST_GeomFromText(‘POINT(1 2)’), 4326) 返回 SRID 为 4326 的 POINT(1 2) |
| 5 | ST_Dimension(geometry) | 返回几何对象的维度,如0表示点、1表示线、2表示面 | ST_Dimension(ST_GeomFromText(‘POINT(1 2)’)) 返回 0 |
| 6 | ST_Envelope(geometry) | 返回几何对象的最小外接矩形(MBR) | ST_Envelope(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 POLYGON((1 2, 1 4, 3 4, 3 2, 1 2)) |
| 7 | ST_Length(geometry) | 计算线或多线段的长度 | ST_Length(ST_GeomFromText(‘LINESTRING(1 2, 3 4)’)) 返回 2.828427 |
| 8 | ST_Area(geometry) | 计算面或多边形的面积 | ST_Area(ST_GeomFromText(‘POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))’)) 返回 1 |
| 9 | ST_Buffer(geometry, distance) | 计算几何对象的缓冲区,参数distance表示缓冲区的半径或者宽度 | ST_Buffer(ST_GeomFromText(‘POINT(1 2)’), 0.5) 返回以 POINT(1 2) 为中心,半径为0.5的圆 |
| 10 | ST_Intersection(geometry A, geometry B) | 计算两个几何对象的交集 | ST_Intersection(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 POINT(0.5 0.5) |
| 11 | ST_Union(geometry A, geometry B) | 计算两个几何对象的并集 | ST_Union(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 1, 2 2)’)) 返回 MULTILINESTRING((0 0, 1 1, 2 2)) |
| 12 | ST_Difference(geometry A, geometry B) | 计算两个几何对象的差集 | ST_Difference(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 MULTILINESTRING((0 0, 1 1)) |
| 13 | ST_SymDifference(geometry A, geometry B) | 计算两个几何对象的对称差集 | ST_SymDifference(ST_GeomFromText(‘LINESTRING(0 0, 2 2)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 MULTILINESTRING((0 0, 1 1), (1 1, 2 2)) |
| 14 | ST_Equals(geometry A, geometry B) | 判断两个几何对象是否相等 | ST_Equals(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POINT(1 2)’)) 返回 true |
| 15 | ST_Disjoint(geometry A, geometry B) | 判断两个几何对象是否不相交 | ST_Disjoint(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘LINESTRING(0 0, 2 2)’)) 返回 true |
| 16 | ST_Touches(geometry A, geometry B) | 判断两个几何对象是否相接触 | ST_Touches(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 1, 2 2)’)) 返回 true |
| 17 | ST_Crosses(geometry A, geometry B) | 判断两个几何对象是否相交但不在同一平面内 | ST_Crosses(ST_GeomFromText(‘LINESTRING(0 0, 1 1)’), ST_GeomFromText(‘LINESTRING(1 0, 0 1)’)) 返回 true |
| 18 | ST_Within(geometry A, geometry B) | 判断几何对象A是否在几何对象B内部 | ST_Within(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 true |
| 19 | ST_Contains(geometry A, geometry B) | 判断几何对象A是否包含几何对象B | ST_Contains(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’), ST_GeomFromText(‘POINT(1 2)’)) 返回 true |
| 20 | ST_Intersects(geometry A, geometry B) | 判断两个几何对象是否相交 | ST_Intersects(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘LINESTRING(0 0, 2 2)’)) 返回 true |
| 21 | ST_Centroid(geometry) | 计算几何对象的中心点 | ST_Centroid(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 POINT(1.5 1.5) |
| 22 | ST_PointOnSurface(geometry) | 计算几 何对象的表面上的点 | ST_PointOnSurface(ST_GeomFromText(‘POLYGON((0 0, 0 3, 3 3, 3 0, 0 0))’)) 返回 POINT(1.5 1.5) |
| 23 | ST_Transform(geometry, srid) | 将几何对象从一个空间参考系转换为另一个空间参考系 | ST_Transform(ST_GeomFromText(‘POINT(1 2)’, 4326), 3857) 返回在Web墨卡托投影下的 POINT(111319.49079327357 222684.20875941086) |
| 24 | ST_Distance(geometry A, geometry B) | 计算两个几何对象之间的距离 | ST_Distance(ST_GeomFromText(‘POINT(1 2)’), ST_GeomFromText(‘POINT(3 4)’)) 返回 2.828427 |
| 25 | ST_Distance_Sphere(geometry A, geometry B) | 计算两个几何对象之间的球面距离,单位为米 | ST_Distance_Sphere(ST_GeomFromText(‘POINT(1 2)’, 4326), ST_GeomFromText(‘POINT(3 4)’, 4326)) 返回 314274.3882001206 |
| 26 | ST_Azimuth(geometry A, geometry B) | 计算从几何对象A到几何对象B的方位角,单位为弧度 | ST_Azimuth(ST_GeomFromText(‘POINT(1 2)’, 4326), ST_GeomFromText(‘POINT(3 4)’, 4326)) 返回 0.785398 |
| 27 | ST_MakePoint(x, y) | 创建一个二维点 | ST_MakePoint(1, 2) 返回 POINT(1 2) |
| 28 | ST_MakeLine(geometry A, geometry B, …) | 创建一个线段 | ST_MakeLine(ST_MakePoint(1, 2), ST_MakePoint(3, 4)) 返回 LINESTRING(1 2, 3 4) |
| 29 | ST_MakePolygon(geometry A, geometry B, …) | 创建一个多边形 | ST_MakePolygon(ST_MakeLine(ST_MakePoint(1, 2), ST_MakePoint(3, 4), ST_MakePoint(5, 6), ST_MakePoint(1, 2))) 返回 POLYGON((1 2, 3 4, 5 6, 1 2)) |
| 30 | ST_GeomFromText(text) | 从WKT字符串创建几何对象 | ST_GeomFromText(‘POINT(1 2)’) 返回 POINT(1 2) |
相关文章:
02 PostGIS常用空间分析函数
常用的PostGIS空间分析函数清单: 序号函数名描述示例1ST_AsText(geometry)将几何对象转换为文本形式的WKT字符串ST_AsText(ST_GeomFromText(‘POINT(1 2)’)) 返回 ‘POINT(1 2)’2ST_GeometryType(geometry)返回几何对象的类型,如POINT、LINESTRING、P…...
[Golang] 管理日志信息就用Zap包
😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 &am…...
【pytest】执行环境切换的两种解决方案
一、痛点分析 在实际企业的项目中,自动化测试的代码往往需要在不同的环境中进行切换,比如多套测试环境、预上线环境、UAT环境、线上环境等等,并且在DevOps理念中,往往自动化都会与Jenkins进行CI/CD,不论是定时执行策略…...
2023国赛tomcat题
环境: 10.10.120.128 安装 tomcaA 10.10.120.129 安装tomcatB 10.10.120.130 安装 nginx 配置dns: 正向解析 反向解析 Tomcat ssl配置 [root@localhost ~]# tar -zxvf jdk-11.0.8_linux-x64_bin.tar.gz [root@localhost ~]# mv jdk-11.0.8 /usr/local/ Vim /etc/profile …...
计算机视觉——day 92 基于跨领域协作学习的单图像去雨
基于跨领域协作学习的单图像去雨 1. Introduction3. Proposed method3.1 网络架构 4. Experiments and results4.1 数据集和指标4.3 合成图像的结果4.8 建模复杂度和运行时间 5. Conclusion 1. Introduction 深度卷积神经网络(DCNN)在图像解析任务中取得了优异的性能。然而&am…...
Java 正则表达式
Java 正则表达式 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 示例 boolean b String.matches(String regex) ;regex 有2种形式: 字符串 直接就是一…...
Oracle索引知识看这一篇就足够
🏆 文章目标:本篇介绍Oracle索引知识以及案例场景 🍀 Oracle索引知识看这一篇就足够 ✅ 创作者:Jay… 🎉 个人主页:Jay的个人主页 🍁 展望:若本篇讲解内容帮助到您,请帮忙…...
kafka命令行操作
新老版本kafka命令行操作 啓動Kafka: kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties Kafka命令行操作 查看当前集群中已存在的主题topic 旧的方式 kafka-topics.sh --zookeeper bdphdp01:2181 --list kafka-topics.sh --zookeeper bdphd…...
Pinia 上手使用(store、state、getters、actions)
参考链接:https://juejin.cn/post/7121209657678364685 Pinia官方:https://pinia.vuejs.org/zh/introduction.html 一、安装 npm i pinia -S二、main.js 引入 import { createApp } from "vue" import App from "./App.vue" impor…...
C++小项目之文本编辑器mynote(1.0.0版本)
2023年5月19日,周五晚上: 今天晚上突然想写一个运行在命令行上的文本编辑器,因为平时写文本时老是要创建新的文本文件,觉得太麻烦了。捣鼓了一个晚上,才选出一个我觉得比较满意的。我把这个程序添加到了系统环境变量中…...
人工智能的界面革命,消费者与企业互动的方式即将发生变化。
本文来源于 digitalnative.substack.com/p/ais-interface-revolution 描述了一种社会现象: 随着真实友谊的减少和虚拟友谊的增加,越来越多的人开始将AI聊天机器人视为自己的朋友,甚至建立了深厚的情感纽带。这可能与当前人们越来越孤独的现实…...
深度学习课程:手写体识别示例代码和详细注释
Pytorch 的快速入门,参见 通过两个神经元的极简模型,清晰透视 Pytorch 工作原理。本文结合手写体识别项目,给出一个具体示例和直接关联代码的解释。 1. 代码 下面代码展示了完整的手写体识别的 Python 程序代码。代码中有少量注释。在本文后…...
10-03 单元化架构设计
设计原则 透明 对开发者透明 在做实现时,不依赖于单元划分和部署对组件透明 在组件运行时,不感知其承载单元对数据透明 数据库并不知道为哪个单元提供服务 业务可分片 系统业务复杂度足够高系统可以按照某一维度进行切分系统数据必须可以被区分 业务…...
JAVA—实验3 继承与多态
一、实验目的 1.掌握类的继承机制 2.掌握抽象类的定义方法 2.熟悉类中成员变量和方法的访问控制 3.熟悉成员方法或构造方法的多态性 二、实验内容 1. Circle类及其子类 【问题描述】 实现类Circle,半径为整型私有数据成员 1)构造方法:参数为…...
TCP协议和相关特性
1.TCP协议的报文结构 TCP的全称为:Transmission Control Protocol。 特点: 有连接可靠传输面向字节流全双工 下面是TCP的报文结构: 源端口和目的端口: 源端口表示数据从哪个端口传输出来,目的端口表示数据传输到哪个端口去。…...
【SpringCloud组件——Eureka】
前置准备: 分别提供订单系统(OrderService)和用户系统(UserService)。订单系统主要负责订单相关信息的处理,用户系统主要负责用户相关信息的处理。 一、微服务当中的提供者和消费者 1.1、概念 服务提供…...
JVM面试题(一)
JVM内存分哪几个区,每个区的作用是什么? java虚拟机主要分为以下几个区: JVM中方法区和堆空间是线程共享的,而虚拟机栈、本地方法栈、程序计数器是线程独享的。 (1)方法区: a. 有时候也成为永久代,在该区内…...
c# 无损压缩照片大小,并且设计了界面,添加了外部Ookii.Dialogs.dll,不一样的选择文件夹界面,并且可以把外部dll打包进exe中
c# 无损压缩照片大小,并且设计了界面,添加了外部Ookii.Dialogs.dll,不一样的选择文件夹界面,并且可以把外部dll打包进exe中 using System; using System.Collections; using System.Collections.Generic; using System.ComponentM…...
《统计学习方法》——隐马尔可夫模型(上)
引言 这是《统计学习方法》第二版的读书笔记,由于包含书上所有公式的推导和大量的图示,因此文章较长,正文分成三篇,以及课后习题解答,在习题解答中用Numpy实现了维特比算法和前向后向算法。 《统计学习方法》——隐马…...
ElasticSearch删除索引【真实案例】
文章目录 背景分析解决遇到的问题 - 删除超时报错信息解决办法1:调大超时时间解决办法2:调大ES堆内存参考背景 项目中使用了ELK技术栈实现了日志管理,但是日志管理功能目前并没有在生产上实际使用。 但ELK程序依然在运行,导致系统磁盘发生告警,剩余可用磁盘不足10%。 所以…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.
报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符,最后运行:npm run lint --fix...
前端打包工具简单介绍
前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...
Three.js进阶之粒子系统(一)
一些特定模糊现象,经常使用粒子系统模拟,如火焰、爆炸等。Three.js提供了多种粒子系统,下面介绍粒子系统 一、Sprite粒子系统 使用场景:下雨、下雪、烟花 ce使用代码: var materialnew THRESS.SpriteMaterial();//…...
