- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
将shpfiles导入Oracle数据库的方法
将shpfiles导入Oracle数据库的方法
在做GIS工程时,我们经常用到ARCGIS这一GIS领域里最有名的软件,而ARCGIS最常用的文件类型就是shpfiles,它有三种格式的文件组成:shp、shx和dbf。同时GIS工程需要用到大量地理数据,因此选择良好的数据库也是至关重要的,而Oracle数据库在空间存储和查询方面有很强优势,因此就需要将shpfiles文件导入到Oracle数据库里存储。这时问题便来了,Oracle不能识别shpfiles文件,因此不能直接将其导入。就此问题我总结了一解决方法,步骤如下:
1.分割数据文件:
首先我们要把shp文件转换分割成Oracle可以导入的数据库文件,这个转换可以使用Oracle提供的一个现成的工具shp2sdo,下载后把此文件复制到PATH变量包含的目录下,如我的Oracle客户端安装后自动注册的环境变量是 path D:\Oracle\product\11.2.0\dbhome_1\BIN;运行shp2sdo,输入shpfiles文件绝对路径(不带扩展名),在输入表名时若不写则生成在原数据文件夹里,若只写文件名(无路径)则生成在Oracle默认文件夹里(D:\Oracle\product\11.2.0\dbhome_1\BIN),所以建议输入绝对路径.执行之后生成三个文件ctl,dat,sql(名字跟前面表名一致)。
2.生成表并建立索引:在DOS运行此命令(或直接打开D:\Oracle\product\11.2.0\dbhome_1\BIN里的sqlplus工具):sqlpluspgg/pgg@orclSQL@[d:\data\name].sqlSQLCREATE Index [NAME]_idx ON [NAME] (GEOM) INDEXTYPE is MDSYS.SPATIAL_INDEX;SQLquit
3.载入数据:sqlldr scott/[password] control=D:\data\[name].ctl不行的话修改ctl文件中关于dat文件的路径,要加双引号!
到这里我们已经将shpfiles文件导入到oracle数据库中,可以通过oracle的界面工具developer来查看。
?
另外还需要建立一个视图,具体作用说不大清楚,但在启动程序发布地图的时候会用到,如果没有此视图文件会出现图层无法map的错误,建立过程如下:
?SQL CREATE OR REPLACE VIEW CS_SRS AS?2 SELECT CS_NAME,SRID,AUTH_SRID,AUTH_NAME,WKTEXT,CS_BOUNDS?3 FROM MDSYS.CS_SRS?4 /
另外如果自己手工新建图层的话,过程如下:
?DROP TABLE BZXX;
?CREATE TABLE BZXX(?GID VARCHAR2(32) NOT NULL,?NAME VARCHAR2(20),?BZNR VARCHAR2(400),?BEIZ VARCHAR2(600),?COOR MDSYS.SDO_GEOMETRY?);
?ALTER TABLE BZXX?ADD CONSTRAINT PK_BZXX PRIMARY KEY (GID);
?DELETE FROM USER_SDO_GEOM_METADATA?WHERE TABLE_NAME = BZXX AND COLUMN_NAME = COOR ;
?INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)?VALUES (BZXX, COOR,???? MDSYS.SDO_DIM_ARRAY?????? (MDSYS.SDO_DIM_ELEMENT(X, -180.000000000, 180.000000000, 0.500000000),??????? MDSYS.SDO_DIM_ELEMENT(Y, -90.000000000, 90.000000000, 0.500000000)????? ),?8307);?COMMIT;
?CREATE INDEX BZXX_GEOM_INDEX ON BZXX(COOR)?????? INDEXTYPE IS MDSYS.SPATIAL_INDEX?????? PARAMETERS(SDO_INDX_DIMS=2, LAYER_GTYPE=POINT);
************************以下为shp2sto使用说明及参数详解**************
Example usage of t
您可能关注的文档
最近下载
- photoshop实验指导书..doc VIP
- 文献阅读与数学写作:微积分的创立与发展++课件-2024-2025学年高二下学期数学人教A版(2019)选择性必修第二册.pptx VIP
- TPM全员生产维护培训课件(课件-36张).ppt VIP
- 《全国食品安全监督抽检实施细则》复习测试卷附答案.doc
- 一种铁电负电容晶体管的电路仿真模型及建模方法.pdf VIP
- 《智慧化税费申报与管理》教案 项目八 资源税和环境保护税智慧化申报与管理.docx VIP
- 建筑法培训课件.ppt VIP
- 铜陵铜化集团招聘考试试题.pdf
- 食品抽检复习试题有答案.doc
- 2025年秋季《南京照相馆》开学第一课主题班会课件.pptx VIP
文档评论(0)