PostGIS之路——几何对象编辑(二)

1、ST_Reverse

返回几何对象顶点顺序相反的几何对象。

geometry ST_Reverse(geometry g1);

示例SQL:

SELECT ST_AsText(the_geom) as line, ST_AsText(ST_Reverse(the_geom)) As reverseline
FROM
(SELECT ST_MakeLine(ST_MakePoint(1,2),
ST_MakePoint(1,10)) As the_geom) as foo;

2、ST_Rotate、ST_RotateX、ST_RotateY、ST_RotateZ

几何对象旋转(原点、X轴、Y轴、Z轴)。

geometry ST_Rotate(geometry geomA, float rotRadians);
geometry ST_Rotate(geometry geomA, float rotRadians, float x0, float y0);
geometry ST_Rotate(geometry geomA, float rotRadians, geometry pointOrigin);

geometry ST_RotateX(geometry geomA, float rotRadians);

geometry ST_RotateY(geometry geomA, float rotRadians);

geometry ST_RotateZ(geometry geomA, float rotRadians);

示例SQL:

SELECT ST_AsEWKT(ST_Rotate('LINESTRING (50 160, 50 50, 100 50)', pi()));

SELECT ST_AsEWKT(ST_RotateX(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), pi()/2));

3、ST_Scale

按照一定比例调整几何对象坐标,即每个X、Y、Z乘以相应的大小。

geometry ST_Scale(geometry geomA, float XFactor, float YFactor, float ZFactor);
geometry ST_Scale(geometry geomA, float XFactor, float YFactor);

示例SQL:

SELECT ST_AsEWKT(ST_Scale(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 0.75, 0.8));

4、ST_Segmentize

返回一个修改后的几何对象,没有分段长度超过的给定的距离。距离只在二维计算,

geometry ST_Segmentize(geometry geomA, float max_length);

示例SQL:

SELECT ST_AsText(ST_Segmentize(ST_GeomFromText('POLYGON((-29 28, -30 40, -29 28))'),10));

5、ST_SetPoint

将线段上给定位置的点替换为设置的点。(替换线上的点)

geometry ST_SetPoint(geometry linestring, integer zerobasedposition, geometry point);

示例SQL:

SELECT ST_AsText(ST_SetPoint('LINESTRING(-1 2,-1 3)', 0, 'POINT(-1 1)'));

6、ST_SetSRID

给几何对象设置SRID。

geometry ST_SetSRID(geometry geom, integer srid);

示例SQL:

SELECT ST_Transform(ST_SetSRID(ST_Point(-123.365556, 48.428611),4326),3785) As spere_merc;

7、ST_SnapToGrid

将几何对象顶点捕捉到网格。

geometry ST_SnapToGrid(geometry geomA, float originX, float originY, float sizeX, float sizeY);
geometry ST_SnapToGrid(geometry geomA, float sizeX, float sizeY);
geometry ST_SnapToGrid(geometry geomA, float size);
geometry ST_SnapToGrid(geometry geomA, geometry pointOrigin, float sizeX, float sizeY, float sizeZ, float sizeM);

示例SQL:

SELECT ST_AsEWKT(ST_SnapToGrid(
ST_GeomFromEWKT('LINESTRING(-1.1115678 2.123 2.3456 1.11111,
4.111111 3.2374897 3.1234 1.1111, -1.11111112 2.123 2.3456 1.1111112)'),
ST_GeomFromEWKT('POINT(1.12 2.22 3.2 4.4444)'),
0.1, 0.1, 0.1, 0.01) );

8、ST_Snap

根据输入和参考几何对象捕捉几何对象。



geometry ST_Snap(geometry input, geometry reference, float tolerance);

示例SQL:





8、ST_Transform

将几何对象转化到指定空间参考。

geometry ST_Transform(geometry g1, integer srid);

示例SQL:

SELECT ST_AsText(ST_Transform(ST_GeomFromText('POLYGON((743238 2967416,743238 2967450,
743265 2967450,743265.625 2967416,743238 2967416))',2249),4326)) As wgs_geom;

9、ST_Translate

对几何对象作偏移。

geometry ST_Translate(geometry g1, float deltax, float deltay);
geometry ST_Translate(geometry g1, float deltax, float deltay, float deltaz);

示例SQL:

SELECT ST_AsText(ST_Translate(ST_GeomFromText('POINT(-71.01 42.37)',4326),1,0)) As
wgs_transgeomtxt;

10、ST_TransScale

对2D几何对象作偏移和缩放。

geometry ST_TransScale(geometry geomA, float deltaX, float deltaY, float XFactor, float YFactor);

示例SQL:

SELECT ST_AsEWKT(ST_TransScale(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 1, 1, 2));

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

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

相关文章

C++ cin.sync()和cin.ignore()

cin.sync()的功能是清空缓冲区,而cin.ignore()虽然也是删除缓冲区中数据的作用,但其对缓冲区中的删除数据控制的较精确。 有时候你只想取缓冲区的一部分,而舍弃另一部分,这是就可以使用cin.ignore(),其使用方法是&…

Spring Data对Cassandra 3的支持

名为Ingalls的新Spring Data发布火车的发布引起了我的关注,其中之一是Spring Data Cassandra最终支持Cassandra 3。 因此,我回顾了我的一个旧样本,并尝试了较新版本的Cassandra。 安装Cassandra 第一步是安装本地版本的Cassandra&#xff0c…

第12秒做视频封面:阿里云视频截帧功能

代码&#xff1a; <video src"http://ruilai-course.imreliable.net/fangcao_course/{{results.VideoName}}.mp4"poster"http://ruilai-course.imreliable.net/fangcao_course/{{results.VideoName}}.mp4?x-oss-processvideo/snapshot,t_12000,f_jpg,w_750,…

winform什么时候会调用closed事件_async/await 给程序带来了什么?

如果说async给ASP.NET带来的是处理能力的提高&#xff0c;那么在WinForm中给程序员带来的好处则是最大的。我们再也不用因为要实现异步写回调或者绑定事件了&#xff0c;省事了&#xff0c;可读性也提高了。不信你看下面我们将调用我们那个web service的代码在.NET4.5下实现一下…

Vtk出现Generic Warning时

Generic Warning: In D:\ProgramFiles\VTK\VTK-7.0.0\Rendering\Core\vtkPolyDataMapper.cxx, line 28 Error: no override found for ‘vtkPolyDataMapper’. Warning: In D:\ProgramFiles\VTK\VTK-7.0.0\Rendering\Core\vtkInteractorStyleSwitchBase.cxx, line 43 vtkInte…

Properties 持久的属性集

特点&#xff1a;1、Hashtable的子类&#xff0c;map集合中的方法都可以用。2、该集合没有泛型。键值都是字符串。3、它是一个可以持久化的属性集。键值可以存储到集合中&#xff0c;也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。 // 根据ke…

MySQL的简单使用

一&#xff0c;MySQL的使用 (1)启动MySQL服务&#xff08;DOS下输入&#xff09;net start mysql / 停止服务net stop mysql&#xff0c;其中mysql是你的数据库服务器的名字。 (2)登录MySQL:mysql -h localhost -u root -p回车后输入你的数据库登录密码。 出现如上图的信息说…

错误C4996:'std :: _Copy_impl'

编译示例程序时出现 错误C4996&#xff1a;std :: _Copy_impl&#xff1a;使用可能不安全的参数的函数调用(error C4996: std::_Copy_impl:Function call with parameters that may be unsafe) 在于处理器中添加 _SCL_SECURE_NO_WARNINGS

python编程口诀_科学网—Python编程技巧汇总 - 高关胤的博文

正在学习python编程&#xff0c;把一些小技巧记录下来备查 计算技巧 正常的条件语句如下if a>b:caelse:cb 可以写为以下简洁的语句a100b200ca if a>b else bprint(c) 作图 python中可以使用numpy的array来高效处理数组 下面主要列举matplotlib的基本使用方法&#xff0c;…

jsf标签p:ajax_JSF AJAX请求的会话超时处理

jsf标签<p:ajax>JSF AJAX请求的会话超时处理 当我们使用AJAX行为开发JSF应用程序时&#xff0c;在处理Ajax请求的超时情况时&#xff0c;我们可能会遇到问题。 例如&#xff0c;如果您使用的是基于J2EE Form的身份验证&#xff0c;则会话超时后应将正常请求重定向到登录页…

使用javamail发信过程中的一些问题及解决方法

今天在研究javamail发信的过程中&#xff0c;出现了一些小问题&#xff0c;现总结如下&#xff0c;以免后来者走些不必要的弯路&#xff0c;先把完整的能够正常运行的代码示例粘贴如下&#xff1a; 发邮件源代码&#xff1a; package com.hyq.test; import java.util.Propertie…

VIsual Studio编译OpenCV:无法打开python27_d.lib(python36_d.lib)的问题

在用 VS2015 编译 Debug 版的 openCV 源码时&#xff0c;最后一步生成 INSTALL&#xff0c;碰到了下面问题&#xff1a;因为配置 Windows 版 caffe 的需要&#xff0c;我先安装了一个 Anaconda3&#xff08;3.6版本&#xff09;&#xff0c;caffe 最高支支持到 3.5 &#xff0c…

python做硬件自动化测试仪器_基于Python PyVisa和GPIB的硬件测试仪器控制方法

基于Python和GPIB的硬件测试仪器控制方法 背景 在物联网通信时代&#xff0c;嵌入式模块开发越发广泛&#xff0c;自动化测试成为大家老生常谈的话题。对于一些高精度仪器&#xff0c;我们知道它是用GPIB控制用来测试&#xff0c;也希望可以通过一个程序实现自动化控制&#xf…

外点惩处函数法·约束优化问题

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载&#xff0c;博客主页 http://blog.csdn.net/i_love_home https://blog.csdn.net/zstu_wangrui/article/details/36242529 外点惩处函数法约束优化问题 外点法惩处函数&#xff08;r添加&#xff0c;SU…

在单元测试和TDD中指定时间的重要性

最近&#xff0c;我一直在写与自动测试有关的更高级的概念&#xff08;主要与Spock有关&#xff09;。 但是&#xff0c;在进行测试培训时&#xff0c;我清楚地看到&#xff0c;通常对特定工具的知识并不是主要问题。 即使使用Spock&#xff0c;也可以编写肿且难以维护的测试&a…

40个Java多线程问题总结

前言 Java多线程分类中写了21篇多线程的文章&#xff0c;21篇文章的内容很多&#xff0c;个人认为&#xff0c;学习&#xff0c;内容越多、越杂的知识&#xff0c;越需要进行深刻的总结&#xff0c;这样才能记忆深刻&#xff0c;将知识变成自己的。这篇文章主要是对多线程的问题…

.pro.user文件

.pro.user 用于记录打开工程的路径&#xff0c;所用的编译器、构建的工具链、生成目录、打开工程的qt-creator的版本等。 当更换编译环境时&#xff0c;要将其删除。

python tkinter实例_python绘制一个图形示例源码(tkinter)

【实例简介】 【实例截图】【核心代码】 # -*- coding: utf-8 -*- #!/usr/bin/python import math from tkinter import * class PTS: def __init__(self): self.x 0 self.y 0 points [] def LineToDemo(): screenx 400 screeny 400 canvas Canvas(width screenx,height…

PHP算法之冒泡排序

//冒泡排序 //①思路,先比较出第一次,找一个最大的值,排到最后; //②重复count遍之后,就能得到排序; //③优化,每一次循环之后不需要再次全部重复; $array [11,5,4,58,1,222,34]; for ($j 0; $j< count($array)-1; $j) { for($i 0 ; $i < count($array)-$j-1; $i){if(…

jaxb 命名空间_在JAXB解组期间应用名称空间

jaxb 命名空间对于某些XML模式来说&#xff0c;它是一组严格的规则&#xff0c;用于规定XML文档的结构方式。 但是对于其他人来说&#xff0c;通常的准则是指出XML的外观。 这意味着有时出于某些原因&#xff0c;人们希望接受不符合XML模式的输入。 在此示例中&#xff0c;我将…