Difference between revisions of "Zobrazení prostorových dat v GeoRaptoru"

From Wikivyuka
Jump to: navigation, search
m
m
Line 3: Line 3:
 
Na jednoduchém příkladě si ukážeme způsob přípravy jednoduchých prostorových dat typu Point a jejich zobrazení. (Inspirováno popisem ze stránek [http://sourceforge.net/projects/georaptor A Gentle Introduction: Create Table, Metadata Registration, Indexing and Mapping].)
 
Na jednoduchém příkladě si ukážeme způsob přípravy jednoduchých prostorových dat typu Point a jejich zobrazení. (Inspirováno popisem ze stránek [http://sourceforge.net/projects/georaptor A Gentle Introduction: Create Table, Metadata Registration, Indexing and Mapping].)
  
 +
=====Tvorba tabulky s bodovými daty=====
 
*Vytvoříme si novou tabulku, do které vložíme bodová data.
 
*Vytvoříme si novou tabulku, do které vložíme bodová data.
  
  --DROP TABLE Point2D;
+
  DROP TABLE Point2D;
 
  CREATE TABLE Point2D (
 
  CREATE TABLE Point2D (
 
   id          integer,  
 
   id          integer,  
Line 14: Line 15:
 
   geom        mdsys.sdo_geometry
 
   geom        mdsys.sdo_geometry
 
  );
 
  );
 +
*Vložíme bodová data do tabulky Point2D níže uvedeným skriptem:
 +
INSERT INTO Point2D (id, label, angleDegrees, rgb, iRgb, geom)
 +
  SELECT rownum,
 +
        CHR(dbms_random.value(65,90)) || to_char(round(dbms_random.value(0,1000),0),'FM9999') as label,
 +
        ROUND(dbms_random.value(0,359.9),1) as angleDegrees,
 +
        ROUND(dbms_random.value(0,255),0) || ',' || ROUND(dbms_random.value(0,255),0) || ',' || ROUND(dbms_random.value(0,255),0) as rgb,
 +
        power(2,16)* ROUND(dbms_random.value(0,255),0) +
 +
        power(2,8) * ROUND(dbms_random.value(0,255),0) +
 +
                      ROUND(dbms_random.value(0,255),0) as irgb,
 +
        mdsys.sdo_geometry(2001,NULL,
 +
              MDSYS.SDO_POINT_TYPE(
 +
                    ROUND(dbms_random.value(358880  - ( 10000 / 2 ), 
 +
                                            358880  + ( 10000 / 2 )),2),
 +
                    ROUND(dbms_random.value(5407473 - (  5000 / 2 ),
 +
                                            5407473 + (  5000 / 2 )),2),
 +
                    NULL),
 +
              NULL,NULL)
 +
  FROM DUAL
 +
CONNECT BY LEVEL <= 500;
 +
COMMIT;

Revision as of 07:44, 24 August 2014

Propojení dat s prostorovou složkou, uložených v Oracle databázi, a vizualizační apliakcí GeoRaptor, umožňuje zobrazit geometrii dat a vybrané atributy v okně prohlížeče.

Na jednoduchém příkladě si ukážeme způsob přípravy jednoduchých prostorových dat typu Point a jejich zobrazení. (Inspirováno popisem ze stránek A Gentle Introduction: Create Table, Metadata Registration, Indexing and Mapping.)

Tvorba tabulky s bodovými daty
  • Vytvoříme si novou tabulku, do které vložíme bodová data.
DROP TABLE Point2D;
CREATE TABLE Point2D (
 id           integer, 
 label        varchar2(20), 
 angleDegrees number, 
 rgb          varchar2(20), 
 iRGB         integer, 
 geom         mdsys.sdo_geometry
);
  • Vložíme bodová data do tabulky Point2D níže uvedeným skriptem:
INSERT INTO Point2D (id, label, angleDegrees, rgb, iRgb, geom)
 SELECT rownum,
        CHR(dbms_random.value(65,90)) || to_char(round(dbms_random.value(0,1000),0),'FM9999') as label,
        ROUND(dbms_random.value(0,359.9),1) as angleDegrees,
        ROUND(dbms_random.value(0,255),0) || ',' || ROUND(dbms_random.value(0,255),0) || ',' || ROUND(dbms_random.value(0,255),0) as rgb,
        power(2,16)* ROUND(dbms_random.value(0,255),0) + 
        power(2,8) * ROUND(dbms_random.value(0,255),0) + 
                     ROUND(dbms_random.value(0,255),0) as irgb,
        mdsys.sdo_geometry(2001,NULL,
              MDSYS.SDO_POINT_TYPE(
                    ROUND(dbms_random.value(358880  - ( 10000 / 2 ),  
                                            358880  + ( 10000 / 2 )),2),
                    ROUND(dbms_random.value(5407473 - (  5000 / 2 ), 
                                            5407473 + (  5000 / 2 )),2),
                    NULL),
              NULL,NULL)
  FROM DUAL
CONNECT BY LEVEL <= 500; 
COMMIT;