预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共25页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

postGIS整合Hibernate4.0+Spring(Maven) 这里我主要讲实际操作和环境的搭配,一些基本概念,请查看维基百科和百度百科。 一PostGIS基本概念: PostGIS是对象HYPERLINK"http://baike.baidu.com/view/495393.htm"\t"_blank"关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。 二使用的地方:比如查询方圆5公里以内的商店,比如两个城市间的距离等这些跟空间操作有关的功能。 三postGIS的安装: 这里我以postgres9.3版本为蓝图讲解下基本的安装。 1如果你是已经安装好postgres9.3数据库,而需要额外加载postGIS,请去postGIS官网下载 HYPERLINK"http://postgis.net/install/"http://postgis.net/install/ 2WINDOW请选择HYPERLINK"http://postgis.net/windows_downloads"WindowsDownloads这个选项,进入下载页面,选择相应版本下载安装。 3安装完成后,会在你的数据库拓展里面看到postgis,posgis_topology等跟postgis有关的拓展。 4选择postgis建立拓展。 这样基本的安装就完成了,在插件里面,会发现多了一个PostGISShapefileandDBFloader2.1的插件。 而在数据库表中也会多一张叫spatial_ref_sys的表,这个表中包含基本的坐标系的空间信息。 至此,基本的postGIS已经安装成功了。如果有相关疑问或者失败的情况,请参考官方文档: HYPERLINK"http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_tut01"http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_tut01 里面介绍的很详细。 接下来是自己建立测试数据表,用于测试。我截取一部分从官放快速开发的内容,其他请参阅官方文档。 HYPERLINK"http://live.osgeo.org/zh/quickstart/postgis_quickstart.html"http://live.osgeo.org/zh/quickstart/postgis_quickstart.html 四手工建立空间数据表格 空间数据库已经建立,现在可以建立具有空间信息的表格。 首先建立一个常规的表格存储有关城市(cities)的信息。这个表格有两栏,一个是ID编号,一个是城市名: demo=#CREATETABLEcities(idint4,namevarchar(50)); 现在添加一个空间栏用于存储城市的位置。习惯上这个栏目叫做the_geom。它记录了数据为什么类型(点、线、面)、有几维(这里是二维)以及空间坐标系统。此处使用EPSG:4326坐标系统: demo=#SELECTAddGeometryColumn('cities','the_geom',4326,'POINT',2); 完成后,查询cities表单应当显示这个新栏目。同时页面将显示当前表达没有记录(0rows)。 demo=#SELECT*fromcities; id|name|the_geom ----+------+---------- (0rows) 为添加记录,需要使用SQL命令。对于空间栏,使用PostGIS的ST_GeomFromText可以将文本转化为坐标与参考系号的记录: demo=#INSERTINTOcities(id,the_geom,name)VALUES(1,ST_GeomFromText('POINT(-0.125751.508)',4326),'London,England'); demo=#INSERTINTOcities(id,the_geom,name)VALUES(2,ST_GeomFromText('POINT(-81.23342.983)',4326),'London,Ontario'); demo=#INSERTINTOcities(id,the_geom,name)VALUES(3,ST_GeomFromText('POINT(27.91162491-33.01529)',4326),'EastL