简析服务端通过GT导入SHP至PG的措施

小说版权由小编李晓晖和腾讯网共有,若转发请于显明处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

项目中必要在浏览器端直接上传SHP后服务端进行多少的电动入PG库以及公布至geoserver。本办法是以geotools为开发工具完结入库,以geoserver
manager来完成服务的活动发布。那里首要描述geotools编写SHP入库的艺术。

2.Geotools介绍

2.1完完全全介绍

Geotools是Java言语编写的开源GIS工具包,其功用涵盖了地理信息数据读写、处理、坐标转换、查询分析、格式化输出等几个方面。该品种已有十多年历史,生命力旺盛,代码极度丰盛,包括多个开源GIS项目,并且按照专业的GIS接口。Geotools主要提供各类GIS算法,各个数码格式的读写和显示。在显示上边要差点,只是用Swing落成了地图的简便翻看和操作。但是用户可以根据Geotools提供的算法自己完结地图的可视化。OpenJump和udig就是根据Geotools的。
   
Geotools用到的七个较紧要的开源GIS工具包是JTS和GeoAPI。前者紧如果已毕各个GIS拓扑算法,也是根据GeoAPI的。不过由于七个工具包的GeoAPI分别采用分化的Java代码落成,所以在行使时要求互相转化。Geotools又按照双方定义了一些谈得来的GeoAPI,所以代码显得臃肿,有时不难混淆。由于GeoAPI进展迟缓,Geotools自己对其进展了增添。别的,Geotools现在还只是基于2D图纸的,紧缺对3D空间数据算法和突显的支撑。

Geotools The Open Source JavaGIS
Toolkit的有关学习网站如下:

http://geotools.org/   Geotools官方网站
http://docs.geotools.org/latest/javadocs/          Geotools
API在线文档
http://docs.codehaus.org/display/GEOTDOC/Home Geotools用户指南
http://repo.opengeo.org                          
   Geotools的maven仓库
http://download.osgeo.org/webdav/geotools/     
  maven仓库地址

2.2完好无缺架构

 图片 1

org.geotools.data包负责地理数据的读写(如:ShapefileReader用于读取shpfile数据)。

org.geotools.geometry包负责提供对JTS的调用接口,以将地理数据封装成JTS中定义的几何对象(Geometry)。

org.geotools.feature包负责打包空间几何要素对象(Feature),对应于地图中一个实体,包括:空间数据(Geometry)、属性数据(Aitribute)、参考坐标系(Refereneedsystem)、最小外包矩形(EnveloPe)等属性,是GlS操作的骨干数据模型。

2.3geotools中的焦点Jar表达

a.GT核心库

 图片 2

其间紫色的含有了要素定义、SHP读取、EPSG获取等连锁办法的jar。

b.hsqldb

 图片 3

亟需般配gt-epsg-hsql来利用,可以查询相应的epsg编码。

c. Image I/O-Ext

 图片 4

支撑跟GIS有关的图片格式。

d.jts

 图片 5

JTS提供了这几个空中数据类Point、MultiPointLineString、LinearRing(封闭的线条)、MultiLineString
(多条线)、PolygonMultiPolygon
、 GeometryCollection(包蕴点,线,面)。JTS包结构为总计交点(noding包)、几何图形操作(operation包)、平面图(planargraph包)、多边形化(polygnize包)、精度(precision)、工具(util包)。

e.jsr、vecmath

 图片 6

做投影相关运算时须求那四个jar:
jsr-275-1.0-beta-2.jar和vecmath-1.3.1.jar。

f. opengis库

 图片 7

h.其余各种jar

包蕴数据库驱动的jar,log4j,XML解析的jar等等。可以兑现读取差别数据库的数据,对xml格式的文本比如SLD的解析等等。

3.SHP各文件的简介

shape文件由ESRI开发,一个ESRI(Environmental Systems Research
Institute)的shape文件包蕴一个主文件,一个目录文件,和一个dBASE表,其中主文件的后缀就是.shp。

主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它和谐的vertices列表的shape。

目录文件中,每个记录包蕴对应主文件记录离主文件头伊始的舞狮。

dBASE表包涵记录的feature的风味。几何和属性间的种种对应涉及是依据记录数据的。在dBASE文件中的属性记录必须和主文件中的记录是一模一样顺序的。

 图片 8

4.ST_Geometry函数

ST_Geometry SQL 数据类型用于存储在 DB2、Informix、Oracle 和 PostgreSQL
的地理数据库中。此数据类型可在地理数据库中行使,其它还可透过 SQL
访问第三方应用程序的简要要素类几何。ST_Geometry 执行空间的 OGC 和 ISO
SQL 多媒体规范。

Oracle中设置了SDE后,能协助ST_Geometry函数。Oracle
Spatial版本则有其自带的SDO_Geometry相关函数。那里,大家在PostgreSQL上安装了PostGIS,使其支持ST_Geometry函数。对于空间数据的叙述,PG中协助标准的OpenGIS的二种空间数据协会格式:Well-Known
Text (WKT) 和 Well-Known Binary (WKB) 。

PostGIS在线文档:http://postgis.net/docs/manual-1.4/

空间函数文档:http://postgis.net/docs/manual-1.4/ch04.html

5.切实可行落实

5.1读取所有格式SHP并入库

 图片 9

图片 10

图片 11

5.2读取SHP的DBF文件

 图片 12

 

 

   
                  —–欢迎转发,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                               
如若您觉得本文确实支持了你,可以微信扫一扫,举办小额的打赏和鞭策,谢谢
^_^

                                 图片 13

 

相关文章