create table NODES (ID SERIAL not null,geometry geography(POINTZ, 4326) null);
create table EDGES (ID SERIAL not null,geometry geography(LINESTRINGZ, 4326) null); insert into nodes(geometry) values(ST_GeographyFromText('SRID=4326; POINT(-110 30 40)'));
insert into edges(geometry) values(ST_GeographyFromText('SRID=4326; LINESTRING(-110 30 40,11 22 33)')); alter table public.nodes alter column geometry set data type geography(PointZ,4326); select ST_AsText(geometry) from nodes;
select ST_AsText(geometry) from edges;

  注意!!!!注意!!!!!

上面的字段geometry的数据类型是有问题的,我当时也是随便找了个博客一看就按照人家的写上了,然后现在我被坑哭了。。。。

geography应该是表示经纬度的数据类型,经过亲身经历发现,x的范围只有(-180,180),y的范围只有(-90,90),超出范围之后,数据就会和实际存储的不同,会被一定的算法转换

所以真正的3D几何类型为

create table NODES (ID SERIAL not null,geometry geometry(POINTZ, 4326) null);
create table EDGES (ID SERIAL not null,geometry geometry(LINESTRINGZ, 4326) null); insert into nodes(geometry) values(ST_GeomFromEWKT('SRID=4326; POINT(-110 30 40)'));
insert into edges(geometry) values(ST_GeomFromEWKT('SRID=4326; LINESTRING(-110 30 40,11 22 33)')); alter table public.nodes alter column geometry set data type geography(PointZ,4326); select ST_AsText(geometry) from nodes;
select ST_AsText(geometry) from edges;

惭愧,惭愧,当时照搬的时候甚至都没有想过geography是什么意思。。。哎。。╮(╯▽╰)╭

需要注意的是插入的时候 ST_GeomFromEWKT 和 GeomFromEWKT  都可以,我还没发现他们的区别,为了统一,我暂时使用的是 ST_GeomFromEWKT

与postgis相关的一些常用的sql的更多相关文章

  1. 经典SQL语句大全以及50个常用的sql语句

    经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...

  2. SQL Server中常用的SQL语句(转):

    SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...

  3. MySQL基础操作&&常用的SQL技巧&&SQL语句优化

    基础操作     一:MySQL基础操作         1:MySQL表复制             复制表结构 + 复制表数据             create table t3 like t ...

  4. mysql数据库优化课程---14、常用的sql技巧

    mysql数据库优化课程---14.常用的sql技巧 一.总结 一句话总结:其实就是sql中那些函数的使用 1.mysql中函数如何使用? 选择字段 其实就是作用域select的选择字段 3.转大写: ...

  5. MySQL安装卸载、idea中Database的使用、常用的sql语句

    MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...

  6. MySQL 常用的sql语句小结(待续)

    mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...

  7. MySQL - 常用命令及常用查询SQL

    常用查询SQL #查看临时目录 SHOW VARIABLES LIKE '%tmp%'; #查看当前版本 SELECT VERSION(); 常用命令 #查看当前版本,终端下未进入mysql mysq ...

  8. 常用的Sql 函数

    常用的Sql 函数 1: replace 函数,替换字符. 语法 replace (original-string, search-string, replace-string ) 第一个参数你的字符 ...

  9. WordPress 常用数据库SQL查询语句大全

    在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...

随机推荐

  1. [转]Unity3D学习笔记(四)天空、光晕和迷雾

    原文地址:http://bbs.9ria.com/thread-186942-1-1.html 作者:江湖风云 六年前第一次接触<魔兽世界>的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的 ...

  2. js实现翻牌效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. HTTP 协议入门(转载)

    作者:阮一峰 (@ruanyf) www.ruanyifeng.com/blog/2016/08/http.html HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 ...

  4. C/C++常用数学函数

    math.h/cmath(C++)数学函数库 1 三角函数    double sin (double);    double cos (double);    double tan (double) ...

  5. layui table中使用checkbox

    第一步: 1. <div class="layui-form"> <table class="layui-hide" lay-filter=& ...

  6. Learning Python 007 基本语句

    Python 基本语句 if - 条件判断 没有什么好说的,直接上代码: age = 3 if age >= 18: print('adult') elif age >= 6: print ...

  7. javascript 数组中出现的次数最多的元素

    javascript 数组中出现的次数最多的元素 var arr = [1,-1,2,4,5,5,6,7,5,8,6]; var maxVal = arr[0]; // 数组中的最大值 var min ...

  8. EasyUI知识点汇总

    combobox联动设置 $(document).ready(function() { $('#gdfsdl1').combobox({ onSelect: function(record){ $(' ...

  9. VS(Visual Studio)中快速找出含中文的字符串

    环境:visual studio 2017 1.ctrl + shift + f 打卡全局查找 2.输入(".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*&q ...

  10. Unity3D -- shader光照常用函数和变量

    上一篇记录了shader常用函数和变量,这篇记录一些光照计算时常用函数和变量 1.内置的光照变量 _LightColor0 float4 //该Pass处理的逐像素光源的颜色 _WorldSpaceL ...