Home Database Mysql Tutorial Oracle spatial 空间数据SQL查询操作相关实例

Oracle spatial 空间数据SQL查询操作相关实例

Jun 07, 2016 pm 05:14 PM

Oracle spatial 空间数据SQL查询操作相关实例

Oracle spatial 空间数据SQL查询操作相关实例

--select dlbm,dlmc,trim(zldwdm) as zldwdm_1 from gzdt where nvl(zldwdm,'t')='t' or zldwdm='';
update gzdt set ZLDWDM='510113106' where  nvl(zldwdm,'t')='t' or zldwdm='';
commit;
delete from gzdt where ZLDWDM like '510113106%'
commit;
//获取空间面的面积
update gzdt set mj=mdsys.sdo_geom.sdo_area(geometry,0.0000000005);
//获取空间线的长度
update xzdw set cd=mdsys.sdo_geom.sdo_length(geometry,0.0000000005);

//删除空间数据 用SQL语句
//sql insert oracle spatial object  耕地
delete from spatial;
insert into spatial(dlbm,geometry)
select dlbm,geometry from v_dltb where dlbm in('011','012','013') ;
commit;

//插入空间数据 用SQL语句
insert into spatial(dlbm,geometry)
select dlbm,geometry from v_dltb where dlbm in('011','012','013') ;
commit;

//创建空间字段索引 oracle spatial table
//======================================
drop index index_spatial_v_gb_gdbhdk_h;
drop index index_spatial_v_jj_xzq_h;
drop index index_spatial_v_tdlygh_ytfq_xz_e;
drop index index_spatial_v_tdlyxz_dltb_h;
drop index index_spatial_v_tdly_nydfddj_k;


create index v_gb_gdbhdk_h_spatial_index      on v_gb_gdbhdk_h(geometry)        indextype mdsys.spatial_index;
create index v_jj_xzq_h_spatial_index         on v_jj_xzq_h(geometry)           indextype mdsys.spatial_index;
create index v_tdlygh_ytfq_xz_e_spatial_index on v_tdlygh_ytfq_xz_e(geometry)   indextype mdsys.spatial_index;
create index v_tdlyxz_dltb_h_spatial_index    on v_tdlyxz_dltb_h(geometry)      indextype mdsys.spatial_index;
create index v_tdly_nydfddj_k_spatial_index   on v_tdly_nydfddj_k(geometry)     indextype mdsys.spatial_index;
//======================================


//创建字段索引
//=======================================
drop   index index_fd_v_gb_gdbhdk_h_xzqdm;
drop   index index_fd_v_jj_xzq_h_xzqdm;
drop   index index_fd_v_tdlygh_ytfq_xz_e_xzqdm;
drop   index index_fd_v_tdlyxz_dltb_h_zldwdm;
drop   index index_fd_v_tdly_nydfddj_k_xzdm;


create index index_fd_v_gb_gdbhdk_h_xzqdm         on v_gb_gdbhdk_h(xzqdm);
create index index_fd_v_jj_xzq_h_xzqdm            on v_jj_xzq_h(xzqdm);
create index index_fd_v_tdlygh_ytfq_xz_e_xzqdm    on v_tdlygh_ytfq_xz_e(xzqdm);
create index index_fd_v_tdlyxz_dltb_h_zldwdm      on v_tdlyxz_dltb_h(zldwdm);
create index index_fd_v_tdly_nydfddj_k_xzdm       on v_tdly_nydfddj_k(xzdm);
//=======================================


//读取空间数据字段sql geometry
select DLBM,dlmc,
       mdsys.sdo_geom.sdo_area(geometry,0.0000000005) as geo_mj,
       sdo_util.getnumelem(geometry) as num_elem,
       sdo_util.getVertices(geometry) as Vertices,
       sdo_util.GetNumRings(geometry) as Num_Rings,
       sdo_util.to_gmlgeometry(geometry) as gmlgeo,
       geometry
from v_dltb


//两空间图层相交运算
//任意相交运算mask=anyinteract
delete from gzdt;
insert into gzdt(dlbm,geometry)
select a.dlbm,
     SDO_GEOM.SDO_INTERSECTION(a.geometry, b.geometry, 0.0001) as geometry
from v_dltb as a
     v_ytfq as b
where sdo_relate(a.geometry,b.geometry,'mask=ANYINTERACT')='TRUE'


//在内部运算mask=inside
delete from gzdt;
insert into gzdt(dlbm,geometry)
select a.dlbm,
     SDO_GEOM.SDO_INTERSECTION(a.geometry, b.geometry, 0.0001) as geometry
from v_dltb as a
     v_ytfq as b
where sdo_relate(a.geometry,b.geometry,'mask=INSIDE')='TRUE'

 


//dltb_jbnt叠加分析
select * from v_dltb
where dlbm in('011','012','013') and dldwdm like '510112106%';
//
select d.dlbm,d.dlmc,
       d.tbmj,d.tbdlmj,d.xzdwmj,d.lxdwmj,d.tkmj,
       mdsys.sdo_geom.sdo_area(d.geometry,0.0000000005) as geo_mj,
       sdo_util.getnumelem(d.geometry) as num_elem,
       sdo_util.getVertices(d.geometry) as Vertices,
       sdo_util.GetNumRings(d.geometry) as Num_Rings,
       sdo_util.to_gmlgeometry(d.geometry) as gmlgeo,
       SDO_GEOM.SDO_INTERSECTION(d.geometry, y.geometry, 0.0001) as geometry
from v_dltb d,
     v_ytfq y
where  d.dldwdm like '510112106%'  and  (d.dlbm in('021') or d.dlbz in('k','K')) and
       y.xzqdm like '510112%' and
       mdsys.sdo_geom.relate(d.geometry,'INSIDE',y.geometry,0.0001)='INSIDE';
//提取v_gbjj图层有效几何图形数据
select * from v_gbjj
where sdo_geom.validate_geometry_with_context(GEOMETRY,0.0001)='TRUE'
//提取v_gbjj图层无效几何图形数据
select * from v_gbjj
where sdo_geom.validate_geometry_with_context(GEOMETRY,0.0001)'TRUE'
//==the==end==      

linux

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do you alter a table in MySQL using the ALTER TABLE statement? How do you alter a table in MySQL using the ALTER TABLE statement? Mar 19, 2025 pm 03:51 PM

The article discusses using MySQL's ALTER TABLE statement to modify tables, including adding/dropping columns, renaming tables/columns, and changing column data types.

How do I configure SSL/TLS encryption for MySQL connections? How do I configure SSL/TLS encryption for MySQL connections? Mar 18, 2025 pm 12:01 PM

Article discusses configuring SSL/TLS encryption for MySQL, including certificate generation and verification. Main issue is using self-signed certificates' security implications.[Character count: 159]

How do you handle large datasets in MySQL? How do you handle large datasets in MySQL? Mar 21, 2025 pm 12:15 PM

Article discusses strategies for handling large datasets in MySQL, including partitioning, sharding, indexing, and query optimization.

What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)? What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)? Mar 21, 2025 pm 06:28 PM

Article discusses popular MySQL GUI tools like MySQL Workbench and phpMyAdmin, comparing their features and suitability for beginners and advanced users.[159 characters]

How do you drop a table in MySQL using the DROP TABLE statement? How do you drop a table in MySQL using the DROP TABLE statement? Mar 19, 2025 pm 03:52 PM

The article discusses dropping tables in MySQL using the DROP TABLE statement, emphasizing precautions and risks. It highlights that the action is irreversible without backups, detailing recovery methods and potential production environment hazards.

Explain InnoDB Full-Text Search capabilities. Explain InnoDB Full-Text Search capabilities. Apr 02, 2025 pm 06:09 PM

InnoDB's full-text search capabilities are very powerful, which can significantly improve database query efficiency and ability to process large amounts of text data. 1) InnoDB implements full-text search through inverted indexing, supporting basic and advanced search queries. 2) Use MATCH and AGAINST keywords to search, support Boolean mode and phrase search. 3) Optimization methods include using word segmentation technology, periodic rebuilding of indexes and adjusting cache size to improve performance and accuracy.

How do you represent relationships using foreign keys? How do you represent relationships using foreign keys? Mar 19, 2025 pm 03:48 PM

Article discusses using foreign keys to represent relationships in databases, focusing on best practices, data integrity, and common pitfalls to avoid.

How do you create indexes on JSON columns? How do you create indexes on JSON columns? Mar 21, 2025 pm 12:13 PM

The article discusses creating indexes on JSON columns in various databases like PostgreSQL, MySQL, and MongoDB to enhance query performance. It explains the syntax and benefits of indexing specific JSON paths, and lists supported database systems.

See all articles