PostGIS学习教程七:关于几何图形的练习

文章目录

  • 一、函数列表
    • 二、练习


一、函数列表

以下是我们迄今为止看到的所有函数的汇总,它们应该对练习有用!

sum(expression) aggregate to return a sum for a set of records
count(expression) aggregate to return the size of a set of records
ST_GeometryType(geometry) returns the type of the geometry
ST_NDims(geometry) returns the number of dimensions of the geometry
ST_SRID(geometry) returns the spatial reference identifier number of the geometry
ST_X(point) returns the X ordinate
ST_Y(point) returns the Y ordinate
ST_Length(linestring) returns the length of the linestring
ST_StartPoint(geometry) returns the first coordinate as a point
ST_EndPoint(geometry) returns the last coordinate as a point
ST_NPoints(geometry) returns the number of coordinates in the linestring
ST_Area(geometry) returns the area of the polygons
ST_NRings(geometry) returns the number of rings (usually 1, more if there are holes)
ST_ExteriorRing(polygon) returns the outer ring as a linestring
ST_InteriorRingN(polygon, integer) returns a specified interior ring as a linestring
ST_Perimeter(geometry) returns the length of all the rings
ST_NumGeometries(multi/geomcollection) returns the number of parts in the collection
ST_GeometryN(geometry, integer) returns the specified part of the collection
ST_GeomFromText(text) returns geometry
ST_AsText(geometry) returns WKT text
ST_AsEWKT(geometry) returns EWKT text
ST_GeomFromWKB(bytea) returns geometry
ST_AsBinary(geometry) returns WKB bytea
ST_AsEWKB(geometry) returns EWKB bytea
ST_GeomFromGML(text) returns geometry
ST_AsGML(geometry) returns GML text
ST_GeomFromKML(text) returns geometry
ST_AsKML(geometry) returns KML text
ST_AsGeoJSON(geometry) returns JSON text
ST_AsSVG(geometry) returns SVG text
还有请记住我们现在数据库中已经有的表:

nyc_census_blocks
–blkid, popn_total, boroname, geom
nyc_streets
–name, type, geom
nyc_subway_stations
–name, geom
nyc_neighborhoods
–name, boroname, geom

二、练习

①’West Village’社区(neighborhood)的面积是多少?

SELECT ST_Area(geom)
FROM nyc_neighborhoods
WHERE name = 'West Village';

在这里插入图片描述
注意:面积以平方米为单位。要得到一个以公顷为单位的面积,需要再对其除以10000;要得到一个以英亩为单位的面积,需要对其除以4047。

②Manhattan(曼哈顿)行政区的面积是多少英亩?(提示:nyc_census_blocks和nyc_neighborhoods中都有boroname - borough name - 行政区名-这个字段)

SELECT Sum(ST_Area(geom)) / 4047
FROM nyc_neighborhoods
WHERE boroname = 'Manhattan';

在这里插入图片描述
或者:

SELECT Sum(ST_Area(geom)) / 4047
FROM nyc_census_blocks
WHERE boroname = 'Manhattan';

在这里插入图片描述
③纽约市(New York City)有多少个census blocks(人口普查块)多边形里有孔洞(内环)?

SELECT Count(*)
FROM nyc_census_blocks
WHERE ST_NumInteriorRings(ST_GeometryN(geom,1)) > 0;

注意:ST_NRings()函数可能让人感觉可以胜任,但是它会计算多-多边形的外环和内环。为了运行ST_NumInteriorRings(),我们需要将MultiPolygon几何图形转换为简单的多边形,因此,我们使用ST_GeometryN()从每个集合中提取第一个多边形。
在这里插入图片描述
④纽约市(New York)的街道总长度是多少公里?(提示:空间数据的测量单位是米,每公里有1000米)

SELECT Sum(ST_Length(geom)) / 1000
FROM nyc_streets;

在这里插入图片描述
⑤’Columbus Cir’(哥伦布圆环——纽约曼哈顿区的一个地标)有多长?

SELECT ST_Length(geom)
FROM nyc_streets
WHERE name = 'Columbus Cir';

在这里插入图片描述
⑥West Village社区边界的JSON表示是怎样的?

SELECT ST_AsGeoJSON(geom)
FROM nyc_neighborhoods
WHERE name = 'West Village';

在这里插入图片描述
返回的JSON里的几何类型是"MultiPolygon(多多边形)",有趣!

⑦West Village社区的多多边形(MultiPolygon)中有多少个多边形?

SELECT ST_NumGeometries(geom)
FROM nyc_neighborhoods
WHERE name = 'West Village';

注意:在空间表中找到单元素多多边形并不少见。使用多多边形允许只有一种几何图形类型的表同时存储单(single-)几何图形和多(multi-)几何图形,而不必使用GeometryCollection类型。
在这里插入图片描述
⑧按类型(type)分组列出纽约市街道长度是多少?

SELECT type, Sum(ST_Length(geom)) AS length
FROM nyc_streets
GROUP BY type
ORDER BY length DESC;

在这里插入图片描述
注意:ORDER BY length DESC子句按街道长度以降序形式排序。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA G1垃圾收集器介绍

为解决CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(Garbage First)算法,通过参数-XX:UseG1GC来启用,该算法在JDK 7u4版本被正式推出,官网对此描述如下&am…

JS-项目实战-更新水果单价更新小计更新总计

1、fruit.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格的所有的行&a…

目标检测—Yolo系列(YOLOv1/2/v3/4/5/x/6/7/8)

目标检测概述 什么是目标检测? 滑动窗口(Sliding Window) 滑动窗口的效率问题和改进 滑动窗口的效率问题:计算成本很大 改进思路 1:使用启发式算法替换暴力遍历 例如 R-CNN,Fast R-CNN 中使用 Selectiv…

S32DS踩坑日记五-bootloader跳转APP时触发DefaultISR

S32DS踩坑日记五-bootloader跳转APP时触发DefaultISR bootloader和APP由另一位同事开发过程中,被导师叫回去写论文了。 由于项目不急,接手后未作任何改动,后面硬件工程师手工焊了几块电路版,需要刷上程序测试电路板。然后就遇到了…

手摸手入门Springboot2.7集成Swagger2.9.2

环境介绍 技术栈 springbootmybatis-plusmysqloracleSwagger 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 REST软件架构风格 REST即表述性状态传递(英文:Representational State T…

Linux项目自动化构建工具-make/Makefile

背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了,一系列的规则来指定,哪些文件需要先编译,…

我把微信群聊机器人项目开源

▍PART 序 开源项目地址》InsCode - 让你的灵感立刻落地 目前支持的回复 ["抽签", "天气", "讲笑话", "讲情话", "梦到", "解第", "动漫图", "去水印-", "历史今天", "星座-…

2023年【北京市安全员-B证】试题及解析及北京市安全员-B证证考试

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-B证试题及解析根据新北京市安全员-B证考试大纲要求,安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编,组成一套北京市安全员-B证全真模拟考试试题,学员…

word批量图片导出wps office word 图片批量导出

word批量导出图片教程 背景 今天遇到了一个场景,因为word里的图片打开看太模糊了,如果一个一个导出来太麻烦。想批量将word中的图片全部导出 但是,wps导出的时候需要会员 教程开始: 将word保存为 .docx 格式,可以按F1…

JWT登录认证(2认证)

备注说明: 用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,浏览器都需要在请求头header中携带到服务器,请求头的名称为Authorization,值为登录时下发的JWT令牌。 如果检测到用户未登录&…

mysql之搭建MHA架构实现高可用

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换(基于主从复制才能故障切换) MHA最少要求一主两从,半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃,MHA可以在0-30…

​软考-高级-系统架构设计师教程(清华第2版)【第8章 系统质量属性与架构评估(P286~319)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第8章 系统质量属性与架构评估(P286~319)-思维导图】 课本里章节里所有蓝色字体的思维导图

甲方与三方渗透团队的协作注意点

文章目录 以下是优化后的内容: 作为甲方安全团队主导的渗透攻击,以下几点需要注意: 预备充分 与测试团队协调,提供乙方攻击所需的必要资源,以及具有甲方特色的资源。例如,如果认为自己的权限系统需要重点评…

Datawhale智能汽车AI挑战赛

1.赛题解析 赛题地址:https://tianchi.aliyun.com/competition/entrance/532155 任务: 输入:元宇宙仿真平台生成的前视摄像头虚拟视频数据(8-10秒左右);输出:对视频中的信息进行综合理解&…

【数据结构】单链表 | 详细讲解

线性表顺序存储结构的优缺点 顺序表优点 无须为了表示中间的元素之间的逻辑关系而增加额外的存储空间;因为以数组形式存储,可以快速地存取表中任一位置的元素。 顺序表缺点 插入和删除操作需要移动大量元素,时间复杂度为O(N);…

应用协议安全:Rsync-common 未授权访问.

应用协议安全:Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具,支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口,如果目标开启了 rsync 服务,并且没有配置 ACL 或访问密码&#…

性能测试场景的设计方法

作者|李文,自如-质量中心 来源|自如技术公众号 背景 引用:根据2008年Aberdeen Group的研究报告,对于Web网站,1秒的页面加载延迟相当于少了11%的PV(page view),相当于降低…

【Java】若依的使用代码生成及字典的使用

一、导言 1、介绍 若依管理系统是一款基于Java语言开发的开源管理系统。它采用了Spring Boot框架,使得开发更加快速和高效。同时,它还集成了MyBatis Plus,进一步简化了数据库操作。若依管理系统的界面简洁美观,且支持多语言&#…

代码分析之今日头条

加密的过程应该由两部分组成

Outlook邮件视图设置怎么修复

故障现象 Outlook邮箱显示不对 故障截图 故障原因 邮箱视图设置不对 解决方案 1、在Outlook上方工具栏找到视图按钮,以此选择视图→视图设置→列,打开选择的列 2、在视图→邮件预览里面,选择1行,在阅读格式选择靠右&#xff…