1.将.shp格式数据代入数据库postgis 中:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
shp2pgsql -W"GBK" f:\XianCh_point.shp ccvv >f:\ccvv.sql
psql -d postgis -f f:\ccvv.sql postgres
表名称:ccvv
数据库名字:postgis
角色名:postgres
2.创建表空间数据库用户在pgAdmin中可设置。
1)create tablespace  dhsdpgis_tp owner postgres location ‘d:\’
2)crate database dhsdpgis_db owner postgres   TABLESPACE  dhsdpgis_tp;
3)createuser -U postgres  - P Allen
3进入数据库  cd D:\PostgreSQL\9.2\bin
D:\PostgreSQL\9.2\bin psql –d postgis postgres
创建空间表
CREATE TABLE ROADS ( ID int4, ROAD_NAME varchar(25), geom. geometry(LINESTRING,4326) );
1.插入一列(线)
SELECT AddGeometryColumn( 'roads', 'geom', 423, 'LINESTRING', 2);
2.('MULTIPOLYGON')
3. (GEOMETRY)
4
添加点
String sql = "INSERT INTO business(名称, geom)  VALUES('cccXXXXcc集团', 'POINT("+x+" "+y+")')";       
修改点
String sql = "update "+table+" set 名称='东和盛达2' , geom =ST_GeomFromText('POINT("+x+" "+y+")')  where gid = 4";  
geometry ST_GeomFromText(text WKT);
geometry ST_GeomFromText(text WKT, integer srid);
5.
ST_GeomFromText('POINT(22 22)')将其转化为 geometry  类似010100000054B7AB482BB65D40D40D4D6BCEB64240
ST_AsText 转化为  类似POINT(22 22)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

获取两个面  之间最短距离的点
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
ST_ClosestPoint(geometry g1, geometry g2g2g1最近的点   该点在g1
SELECT ST_AsText(
ST_ClosestPoint(ST_GeomFromText(’ POLYGON((175 150, 20 40, 50 60, 125 100, 175 150))’),
ST_Buffer(ST_GeomFromText(’POINT(110 170)’), 20)))
SELECT  ST_AsText(ST_ClosestPoint(pt,line) 
) AS cp_pt_line, ST_AsText(ST_ClosestPoint(line,pt )) As cp_line_pt FROM (SELECT 'POINT(100 100)'::geometry  As pt, 'LINESTRING (20 80, 98 190, 110 180, 50 75 )'::geometry As line) As foo ;
结果:POINT(100 100) | POINT(73.0769230769231  115.384615384615)
或者
SELECT ST_AsText(ST_ClosestPoint(ST_GeomFromText('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),ST_GeomFromText('POINT(100 100)') ) ) AS cp_pt_line FROM  business;
结果:"POINT(73.0769230769231 115.384615384615)"
ST_Contains(A,B)    B在A内
ST_Within(A,B)   A 在B内
判断A是否被B包含    ST_Within(geometry A, geometry B)
判断A是否包含B      ST_Contains(geometry A, geometry B)
判断A是否覆盖 B      ST_Covers(geometry A, geometry B)
SELECT ST_AsText(
ST_ShortestLine(’POINT(100 100) ’::geometry,’LINESTRING (20 80, 98  -190, 110 180, 50 75 )’::geometry)) As sline;sline
-----------------
LINESTRING(100 100,73.0769230769231  -
115.384615384615)
SELECT ST_AsText(ST_ShortestLine(ST_GeomFromText(’ POLYGON((175 150, 20 40, 50 60, 125 100, 175150))’),ST_Buffer(  -ST_GeomFromText(’POINT(110 170)’), 20))) As slinewkt;
LINESTRING(140.752120669087  125.695053378061,121.111404660392 153.370607753949)
ST_DWithin(
        ST_Transform(ST_GeomFromText('POINT(118.84839183778 37.4231344123688)',4326),2383),
        ST_Transform(ST_GeomFromText('MULTIPOLYGON (((118.853945599439 37.4229670850174, 118.8658 37.4225250432923, 118.853278523793 37.4326615750288, 118.853476307826 37.4231018594778, 118.853945599439 37.4229670850174)))',4326),2383),
       100
多边形查询   多边形内的所有点
SELECT gid, "名称", geom
  FROM business where ST_Within(business.geom,
        ST_GeomFromText('MULTIPOLYGON (((118.853945599439 37.4229670850174, 118.8658 37.4225250432923, 118.853278523793 37.4326615750288, 118.853476307826 37.4231018594778, 118.853945599439 37.4229670850174)))')
) ;
缓冲区查询:
String sql = "select  *,ST_AsText(ST_Buffer(ST_Transform(ST_GeomFromText('POINT(118.8665,37.420134)',4236),4236),2500)) as BufferFeatures from business  where ST_DWithin(ST_Transform(ST_SetSRID(geom, 4236),2383),ST_Transform(ST_GeomFromText('POINT(118.8665,37.420134)',4236),4236),2500) ";
空间查询:

 

1.圆查:
String sql = "select *,gid,ST_GeometryType(geom),GeometryType(geom) ,ST_Area(ST_Transform(ST_GeomFromText('MULTIPOLYGON((("+geometry+")))',4236),2383)) from "+layerName+"   limit 1 ";
2.拉框查询:
String sql = "select *,ST_AsText(geom) as geometry,GeometryType(geom) as geometryType from "+layerName+" where ST_Within(geom,ST_GeomFromText('MULTIPOLYGON((("+geometry+")))'))";
      

转载于:https://blog.51cto.com/josen/1176347

postgis学习笔记相关推荐

  1. geoTools学习笔记001---(简介)

    需要做地图开发,如果全部从底层做起,那将会花费大量的精力,况且难度很大,所以要使用现成的开发平台,经过几天的了解: 商业版GIS开发平台:arcgis/mapinfo/--,如果做web地图,可以使用 ...

  2. JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图

    JavaWeb和WebGIS学习笔记(三)--GeoServer 发布shp数据地图 系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gi ...

  3. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  4. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  6. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  7. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  8. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  9. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

最新文章

  1. 用这种方法实现无监督端到端图像分类!(附论文)
  2. 使用ReaderWriterLock优化文件缓存
  3. exportfs命令和FTP服务
  4. Eclipse 的IOConsole Updater error
  5. 239 Sliding Window Maximum 滑动窗口最大值
  6. mysql数据库集群技术_使用MySQL-Cluster搭建MySQL数据库集群
  7. SAP S/4HANA系统Fiori UI上Adapt UI按钮显示与否的控制逻辑
  8. IOS UIView 对象详解
  9. 洛谷P3048 [USACO12FEB]牛的IDCow IDs
  10. java函数式编程入口_Java中的函数式编程
  11. linux内核启动地址的确定
  12. c/c++常见关键字
  13. 如何将PDF设置为只读?
  14. 搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
  15. 近12年的计算机考研408真题及答案解析分享
  16. 维基百科-D3.js
  17. Hadoop文件基础操作命令
  18. GDB定位诡异的FreeSWITCH编译问题
  19. java学习~线程、注解反射、Swagger
  20. 基于router模式的会议实现

热门文章

  1. mockmvc get请求 tm的 一直404_面试:SpringMVC在接收到请求后的调用细节是什么?
  2. 能写出HTML语言框架结构,HTML语言—框架最新.ppt
  3. springboot整合Druid使用
  4. 测量接线导通问题解决方案
  5. 2021年春季学期-信号与系统-第二次作业参考答案-第三小题
  6. ESP8266的一些MicroPython基础实验
  7. MOSFET驱动器汇总 : 单个N-CHANNEL,半桥,全桥,3项桥
  8. 初学者如何搭建一个自己专属的电子实验室?
  9. 第十五届全国大学生智能车竞赛山东赛区比赛成绩和奖项
  10. MAX9814高性能麦克风