博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgresql 空间函数 随笔
阅读量:5223 次
发布时间:2019-06-14

本文共 1250 字,大约阅读时间需要 4 分钟。

1. ST_Buffer(geometry, double, [integer])

buffer操作一个很有用函数,
这个函数的第一个参数是要操作的空间几何数据,第二个参数长度(距离),第三个参数为一个整型,
这个函数返回一个空间数据类型,以当前第一个参数空间几何数据为参考点,返回小于等于距离的空间
几何数据点,最后由这些点组成一个多边形空间数据,最后一个参数表示
在组成一个1/4圆的有几个点分隔。也就是说如果最好一个参数为8那么这个最后组成的多边形就是32边
的多边形,如果不指定这个参数,系统默认的是8
注意:第二个参数,距离它的单位为空间数据单位(度),在运算时需要进行单位换算,最后转换成度
,单位的换算关系如下:
1英里= 63360 米
1米=1/1852 海里
1海里= 1/60度
如果要进行具体的运算,需要进行一下单位换算,比如要求一个500米的范围,那么应该是500*1/1852*1/60(度)

2.获取字段类型

QString sql2 = QStringLiteral("select format_type(a.atttypid, a.atttypmod) as fldType, "        "a.attname as fldName from pg_attribute a, pg_stat_user_tables b "        "where b.relname = '%1' and b.schemaname = '%2' "        " and a.attrelid = b.relid and a.attnum > 0"    ).arg(tbName, schemaName);

3.获取字段长度精度等

QString sql1 = QStringLiteral("select ordinal_position as fldIndex, column_name as fldName, "        " coalesce(character_maximum_length, numeric_precision, -1) as fldLen,"        " numeric_scale as decimalLen, is_nullable as nullable  from information_schema.columns a  "        " where a.table_schema = '%1' and a.table_name = '%2' "    ).arg(schemaName, tbName);

 4.更改字段类型 

 比如说char的值为1.1 想更改为int  那需要强制转换,这时候可以用到using

alter table 表 alter 字段 type int using 字段::int;

 

转载于:https://www.cnblogs.com/CityLcf/p/10695621.html

你可能感兴趣的文章
MPT树详解
查看>>
最适合程序员转行的10大职业
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
数据表设计
查看>>
alluxio
查看>>
关于ajax回调数据类型为Json,如何获得他的值
查看>>
前端各种mate积累
查看>>
css深度选择器
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
Ext Gantt Web甘特图--高级应用
查看>>
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
HTTP 状态码
查看>>
一位良心发现的交易员自述:我们是怎么玩弄散户的
查看>>
Java反射-中级知识掌握
查看>>