`
hua04104
  • 浏览: 248721 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

读取spatial空间数据表中的经纬度

 
阅读更多
1.获取一个空间要素的点数:
create or replace function get_num_points (g SDO_GEOMETRY)
RETURN NUMBER
IS
BEGIN
 RETURN g.SDO_ORDINATES.COUNT()/SUBSTR(g.SDO_GTYPE,1,1);
END;


2.获取一个空间要素某点的经度或纬度:
--参数type 值1为经度,2为纬度。
--参数point_number为空间要素中点的序列号。

CREATE OR REPLACE FUNCTION get_point(geom sdo_geometry, type NUMBER DEFAULT 1, point_number NUMBER DEFAULT 1)
RETURN NUMBER
IS
       d NUMBER;
       p NUMBER;
       px NUMBER;
       py NUMBER;
BEGIN
       d:=SUBSTR(geom.SDO_GTYPE,1,1);
       IF point_number<1
       OR point_number>geom.SDO_ORDINATES.COUNT()/d THEN
       RETURN NULL;
       END IF;

       P:=(point_number-1)*d+1;

       px := geom.SDO_ORDINATES(p);
       py := geom.SDO_ORDINATES(p+1);

       IF type = 1 THEN
         RETURN px;
       END IF;

       IF type = 2 THEN
         RETURN py;
       END IF;
END;



3.获取某表中的所有经纬度:
create or replace procedure proce_varray_0 as
  v_x number;   --经度
  v_y number;   --纬度
  vv_count number;   --空间对象数
  v_count number;    --每个空间对象的点数
  v_name varchar2(40);
begin
 
 DBMS_OUTPUT.ENABLE (200000000000000000000);
 select count(*) into vv_count from CHINA_SHENG t;
 --for n in 1..1
 --loop
   select  tt.num INTO v_count from (select GET_NUM_POINTS(t.geometry) num,rownum r from CHINA_SHENG t where t.rname='天津市')tt ;--tt.r=n;--WHERE FNODE_=929;
   for i in 1..v_count    --1..v_count/3,v_count/3+1..v_count/3*2,v_count/3*2+1..v_count
   loop
         --select  num INTO v_COUNT from (select GET_NUM_POINTS(t.geometry) num,rownum from CHINA_GUOJIE t)tt where rownum=n;--WHERE FNODE_=929;
         select tt.px,tt.py,tt.rname INTO v_x, v_y,v_name from (select GET_POINT(t.geometry,1,i) px,GET_POINT(t.geometry,2,i) py,rname,rownum r from CHINA_SHENG_ t where t.rname='天津市')tt ;--where tt.r=n;--WHERE FNODE_=929;
         --select tt.py INTO v_y from (select GET_POINT(t.geometry,2,i) py,rownum r from CHINA_SHENG t)tt where tt.r=n;--WHERE FNODE_=929;
         --select tt.rname INTO v_name from (select rname,rownum r from CHINA_SHENG t)tt where tt.r=n;--WHERE     
         dbms_output.put_line(v_x||' '||v_y||' '||v_name);
   end loop;
   dbms_output.put_line(v_count*2);
 --end loop;
end;

分享到:
评论

相关推荐

    空间数据处理工具-MapTools升级了,新增读取Excel和Oracle表进行坐标转换功能

    在日常空间数据处理过程中,经常对采集后数据进行处理,因此新增读取Excel和Oracle表进行坐标转换功能: Excel转换可指定源经、纬度列,自动将转换后的经、纬度添加到Excel文件中。 Oracle可指定源表、经纬度字段和...

    GeoTools是一个开源的Java库提供地理空间数据工具

    GeoTools是专为Java开发者设计的一个强大的开源库,它提供了丰富的功能来处理地理空间数据,使得在Java应用程序中集成和操作地图、空间坐标系统、地理编码等地理信息变得轻松便捷。这个库支持多种开放标准,如OGC...

    Beginning Spatial with SQL Server 2008

    - **示例**:为用户分配特定的权限,如读取空间数据表的权限。 ```sql GRANT SELECT ON Locations TO [User1]; ``` #### 结论 SQL Server 2008在空间数据处理方面提供了强大的支持,包括存储、查询和操作空间数据的...

    C#利用GDAL库读取geotiff图片的像素比例

    在IT行业中,尤其是在地理信息系统(GIS)开发领域,C#编程语言经常被用来处理各种空间数据,其中就包括使用GDAL库来操作地理TIFF(geotiff)图像。GDAL,全称Geospatial Data Abstraction Library,是一个强大的...

    基于Oracle Spatial的多元重力场信息数据库的设计与应用.pdf

    数据管理模块允许用户通过手工录入、自动读取或数据接口导入数据,支持多种查询方式,如按经纬度、任务、时间和地域等进行检索,并能输出文件、统计图和地图。此外,系统还提供了数据处理模块,可进行不同重力系统间...

    ArcGIS空间分析

    本教程主要涵盖3.3章节的空间数据处理,包括地图投影、矢量数据校准以及更广泛的 spatial data processing。 **3.3.1 GIS中的地图投影** 地图投影是将三维的地球表面转化为二维平面的过程,以便于地图制作和读取。...

    GDAL读取GEOTIFF

    GDAL主要用于读取、写入以及转换各种格式的地理空间数据文件。 #### 二、GEOTIFF格式简介 - **GEOTIFF**:一种带有地理参考信息的TIFF格式图像文件,通常用于存储遥感影像、地图以及其他地理空间数据。 - **特点**...

    Excel数据文件转换为Shape点文件

    1. **数据准备**:首先,你需要确保Excel文件中的数据格式正确,特别是地理坐标列,应包含准确的经纬度值。同时,其他列可能包含点的属性信息,比如点的类型、名称等。 2. **读取Excel数据**:使用C#的`Microsoft....

    利用STATA创建空间权重矩阵及空间杜宾模型计算-命令.docx

    在STATA中,进行空间数据分析时,我们常常需要创建空间权重矩阵,并且使用空间杜宾模型来分析数据的地理依赖性。以下将详细介绍如何在STATA中完成这些操作。 首先,我们要创建空间权重矩阵,这在空间统计分析中是至...

    MODIS数据下载与处理

    在“spatial selection”选项中,根据经纬度选择需要的影像范围。找到所需数据后,可以添加到购物车并输入电子邮件地址下单。数据准备好后,使用FTP客户端从指定的FTP服务器下载,如:ftp://ladsweb.nascom.nasa.gov...

    C#+ArcEngine:txt坐标数据转Shp矢量点

    本文将深入探讨如何使用C#编程语言结合Esri的ArcEngine库来实现从txt文件中的坐标数据转换成Shp文件,即矢量点数据。 首先,我们需要了解txt文件中的坐标数据格式。通常,这种数据会以每行一对坐标值的形式存储,...

    GDAL-3.6.1-cp39-cp39-win_amd64.whl.zip

    6. **数据库接口**:GDAL提供了与各种地理空间数据库的接口,如PostGIS、Oracle Spatial、MySQL等,使得数据库中的空间数据可以被轻松处理。 7. **栅格算术运算**:GDAL支持对栅格数据进行数学运算,如加减乘除、...

    GDAL 64位 1.8.1 C#

    GDAL的C#绑定允许.NET开发者利用GDAL的功能,如读取、写入和处理地理空间数据,而无需直接操作C++库。 在C#中使用GDAL,开发者可以创建各种应用程序,如地图渲染、空间分析、数据转换等。GDAL的C#类库提供了丰富的...

    MODIS数据下载与常用软件介绍

    在“spatial selection”选项中,选择“latitude/longitude”按经纬度选取图像范围。找到所需数据后,将其加入购物车并下单,最后通过FTP工具(如FileZilla)下载。下载地址:...

    GDAL-3.1.4-cp37-cp37m-win_amd64.whl.zip

    5. **数据库连接**:GDAL支持与多种地理空间数据库进行交互,如PostGIS、Oracle Spatial、MySQL等,能够读取和写入数据库中的空间数据。 6. **网络数据服务**:GDAL还能够通过OGC标准(如WMS、WFS)访问网络上的...

    深圳宜出行位置大数据,shp数据集wgs84坐标系,精度超高约50m,日期2020年1001-20点.zip

    3. **精度**:描述中提到的“精度超高约25m”,意味着这些位置数据的精确度可以达到大约25米,这意味着每个出行记录的经纬度位置可以定位到25米的范围内。这对于分析城市内的交通流动、热点区域识别等有很高精度。 ...

    MySQL支持库-1.rar

    5. **Spatial Extensions**:用于处理地理空间数据,如经纬度坐标,提供了支持地理空间索引和查询的函数。 6. **MySQL Connectors**:MySQL支持多种语言的连接器,如Python、Java、PHP等,方便不同编程语言与MySQL...

    GDAL.NETVC可用库文件

    开发人员可以通过这个库直接在.NET代码中读取、写入和处理地理空间数据,而无需关心底层的C++实现细节。 在实际开发中,GDAL.NETVC库文件的使用可能包括以下几个步骤: 1. **安装和引用**:首先,需要将GDAL.NETVC...

    使用ArcGIS Mobile SDK 9.3 开发移动设备应用-中级篇

    然而,在移动设备上,通常还需要处理额外的坐标数据,如来自GPS的经纬度信息,并将其转换到地图所采用的空间参考系统中。 例如,若要将GPS获取的经纬度坐标(WGS84)转换为当前空间参考下的坐标值,可以通过以下方式...

    AE二次开发常用功能代码

    例如,将Access数据表中的点和线数据转换为Shape文件,这通常涉及到数据的读取、坐标系统的转换和Shape文件的结构化写入。Shape文件是一种广泛使用的矢量数据格式,支持多边形、线和点几何类型。 5. **地图导出**:...

Global site tag (gtag.js) - Google Analytics