46
Introduktion Spatiala objekt i Autodesk Topobase 2 Peter Arninger

Introduktion Spatiala objekt i Autodesk Topobase 2

Embed Size (px)

DESCRIPTION

Introduktion Spatiala objekt i Autodesk Topobase 2. Peter Arninger. Introduktion Spatiala objekt i Autodesk Topobase 2. Agenda. Vad är Oracle Spatial? Varför? Kommande versioner av Autodesk Topobase Hur fungerar det i Autodesk Topobase 2 Tekniska förutsättningar Oracle Spatial–komponenter - PowerPoint PPT Presentation

Citation preview

Page 1: Introduktion Spatiala objekt i Autodesk Topobase 2

Introduktion Spatiala objekt i Autodesk Topobase 2

Peter Arninger

Page 2: Introduktion Spatiala objekt i Autodesk Topobase 2

Agenda-Vad är Oracle Spatial? Varför? Kommande versioner av Autodesk Topobase

-Hur fungerar det i Autodesk Topobase 2

-Tekniska förutsättningar

-Oracle Spatial–komponenter

-Skapa spatiala defintioner med hjälp av Autodesk Topobase 2

-Skriva spatiala objekt med hjälp av Autodesk Topobase 2

-Validering av spatiala obejt

-Felsökning och rättning

-Triggrar i Autodesk Topobase 2

-Referenser

-TB2Metadata

-Använda spatiala objekt tillsammans med andra verktyg

-Arbetssätt

-Diskussion och frågor

Introduktion Spatiala objekt i Autodesk Topobase 2

Page 3: Introduktion Spatiala objekt i Autodesk Topobase 2

Vad är Oracle Spatial?

WikipediaOracle Spatial forms a separately-licensed option component of the Oracle Database. Oracle Spatial aids users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping/facilities-management and geographic information systems (GIS), to wireless location services and location-enabled e-business.

Page 4: Introduktion Spatiala objekt i Autodesk Topobase 2

Vad är Oracle Spatial?

OracleOracle Spatial (formerly called SDO and before that MultiDimension), provides a way to store and retrieve multi-dimensional data in Oracle. It is primarily used for Geographical Information Systems to implement geo-reference and solve queries such as how is something related to a specific location.

With this, representation of features (point, line or polygon) are stored in a single field within a table. A single Helical Hyperspatial code (HHCODE) is used to store the Euclidean spatial dimensions and additional data dimensional include depth, elevation, or time. The types of multidimensional data are restricted only in that they must be a numeric data type and have a bounded range. The HHCODE is generated through the recursive decomposition of dimensional space. Attribute data for specific multidimensional data is stored within columns of a table in the database. Access to the data for processing and manipulation is accomplished through extensions to Oracle PL/SQL.

Page 5: Introduktion Spatiala objekt i Autodesk Topobase 2

Annan definitionOracle Spatial består av en mängd funktioner och procedurer som är inbyggda i databasen vilket möjliggör att spatiala (geografiska) data kan lagras, läsas och analyseras.

Vad är Oracle Spatial?

Page 6: Introduktion Spatiala objekt i Autodesk Topobase 2

Varför?Standardiserat sätt att lagra geometrier så att flera verktyg kan komma åt det spatiala datat

Leverantörer anpassar sig ”standarden”

Läsa och sätta samman spatiala data från olika källor (verksamhetssystem)

Senare Topobase-versioner använder enbart geometrier i Oracle Spatial

Varför?

Page 7: Introduktion Spatiala objekt i Autodesk Topobase 2

Kommande versioner av TopobaseSenaste versionen är Autodesk Topobase 2008

Använder Oracle Spatial fullt ut

För att komma från Topobase 2 till Autodesk Topobase 2008 krävs spatiala objekt i Topobase 2

Kommande versioner av Autodesk Topobase

Page 8: Introduktion Spatiala objekt i Autodesk Topobase 2

Autodesk Topobase 2 används som vanligt

En ”skuggdatabas” används där en kopia läggs som Oracle Spatial-data

Synkronisering via s k triggrar

Hur fungerar det i Autodesk Topobase 2

Page 9: Introduktion Spatiala objekt i Autodesk Topobase 2

Oracle 9i eller 10g med det spatiala tillägget (Enterprise Edition)

Spatiala tillägget ger schemat MDSYS, ”ägaren” till spatial

Programkod laddas ned i databasen till:- MDSYS- TBSYSSe Tekis hemsida och TBSYS.zipLäs TBSYS.pdf

TBSYS är Topobase ”system”-schema

Tekniska förutsättningar

Page 10: Introduktion Spatiala objekt i Autodesk Topobase 2

DatatypEn speciell datatp används för geometrier i en Oracle spatial-databas

Oracle Spatial-komponenter

Page 11: Introduktion Spatiala objekt i Autodesk Topobase 2

Oracle Spatial-komponenter

Geografisk utbredning i x och yTolerans – när betraktas det som samma punktKoordinatsystem (SRID)

MetadataMetadata (data om data) lagras om det spatiala objektet (hos MDSYS)

Exempel:select * from user_sdo_geom_metadata where table_name = ’BY_POLYGON’

Page 12: Introduktion Spatiala objekt i Autodesk Topobase 2

Exempel på geometrityper

Oracle Spatial-komponenter

PointPoint

Line stringLine string

Arc lineArc linestringstring

PolygonPolygon

Polygon Polygon with holewith hole

CompoundCompoundpolygonpolygon

Page 13: Introduktion Spatiala objekt i Autodesk Topobase 2

Oracle Spatial-komponenter

• Punkt• Linje

• Polygon

• Lablar (text)

• Point• Compound

Line String• Compound

Polygon

• Saknas, (Topobase 2 skapar dessa som points)

GeometrityperTopobase 2 Oracle Spatial

Page 14: Introduktion Spatiala objekt i Autodesk Topobase 2

Spatiala indexIndex behövs för att snabba upp sökningar och för att geografiska utsökningar ska kunna göras

Index kan skapas mot en speciell geometritypeller för alla geometrityper

Index måste finnas för att verktyg ska kunna använda det spatiala datat

Ett index innehåller aldrig något data, därför kan spatiala index tas bort och skapas om på nytt

Oracle Spatial-komponenter

Page 15: Introduktion Spatiala objekt i Autodesk Topobase 2

Topobase Administrator

De spatiala delarna finns under varje objektklass och nås med högerklick och valet Spatial objekt

Finns i även högst upp i trädet Skapa och skriv Spatiala objekt för alla objektklasser

Skapa spatiala definitioner med Autodesk Topobase 2

Page 16: Introduktion Spatiala objekt i Autodesk Topobase 2

Definitionerna skapas med hjälp av valet Skapa Spatialt objekt

Välj:- Koordinatsystem, vad som finns att välja på varierar mellan vad som finns i Oracle- Tolerans, rekommendation 5 mm, d v s 5e-003 eller 0.005- Geografisk utbredning, tänkta området för geometrierna, finns data lämnas ett förslag.

Skapa spatiala definitioner med Autodesk Topobase 2

Page 17: Introduktion Spatiala objekt i Autodesk Topobase 2

Det som händer är:

- Kolumnen GEOM skapas med den speciella datatypen, syns i Topobase Administratorn

- Spatialt metadata skapas för objektklassen med kolumn GEOM, geografisk utbredning, tolerans och SRID

Index och triggrar skapas inte.

Detta behöver normalt sett bara göras en gång per objektklass. Däremot om något förändras (t ex geografisk utbredning) så görs det på nytt.

Skapa spatiala definitioner med Autodesk Topobase 2

Page 18: Introduktion Spatiala objekt i Autodesk Topobase 2

Skriva spatiala objekt med Autodesk Topobase 2

Topobase Administrator

Välj objektklass och högerklick Spatial objekt och Skriv spatiala objekt

Page 19: Introduktion Spatiala objekt i Autodesk Topobase 2

Skriva spatiala objekt med Autodesk Topobase 2

Det som händer är:

- Kolumnen GEOM fylls med data av Topobase baserat på de geometrier som finns i koordinatsystem 1

Någon kontroll (validering) av datat sker inte.

Topobase loggar vissa ”fel” i tabell TB_SPATIAL_ERROR_LOG

Page 20: Introduktion Spatiala objekt i Autodesk Topobase 2

Validering av spatiala objekt

Oracle validerar inte datat som lagras spatialt utan det är upp till användaren att göra (applikationen)

I Oracle finns det rutiner för att validera det spatiala data

Tekis har tagit fram ett skript ”Validate_geom_with_context.sql” för validering av enskild objektklass (finns på hemsidan)

Skriptet anpassas

Page 21: Introduktion Spatiala objekt i Autodesk Topobase 2

Validering av spatiala objekt

Körs sedan med hjälp av SQL*Plus inloggad som ägare

Skriptet sparar resultatet i en text-fil, titta och ev. rätta

En annan variant är att använda TB2Metadata

Page 22: Introduktion Spatiala objekt i Autodesk Topobase 2

Validering av spatiala objekt

Valideringen och skrivningen är en process som upprepas till alla objekt inom en objektklass är felfri

Skriv spatialaobjekt

Validera Finns det felaktigheter?

Ja

Nej

Rätta

Skapaindex

Skapatrigger om synkronisering önskas

Page 23: Introduktion Spatiala objekt i Autodesk Topobase 2

Validering av spatiala objekt

De fel som visas vid valideringen består av en numerisk felkod, t ex 13011

Felkodens betydelse kan fås fram via nätet eller Oracle-handbok (t ex Oracle 10g Database Error Messages, finns på hemsidan)

Page 24: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Använd FID-en för att visa geometrini Basic Map med villkor

Rätta geometrin

Page 25: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

StädningsskriptNågra enklare städningsskript finns som rensar bort en del valideringsfel:

Radera_tomma_linjer_polygoner.sql Raderar linjer och polygoner i alla objektklasser som saknar godkänd geometri, d v s har färre än 2 poster (brytpunkter) i _GEO-tabellen. Uppdaterar DELETED till 1, USER_DELETED till 'TOMMA' och DATE_DELETED till aktuellt körningsdatum.

Radera_koordinatdubletter_system1_linjer.sql Raderar dubletter (vertex med samma x- och y-koordinater) i _GEO-tabellen för linjer i koordinatsystem 1. Skriptet anpassas med aktuell objektklass i DEFINE-delen. Observera att skriptet ska göras om och om igen tills inget händer för att alla dubletter ska tas bort.

Radera_koordinatdubletter_system1_polygoner.sql Raderar dubletter (vertex med samma x- och y-koordinater) i _GEO-tabellen för polygoner i koordinatsystem 1. Skriptet hanterar inte öar. Skriptet anpassas med aktuell objektklass i DEFINE-delen. Observera att skriptet ska göras om och om igen tills inget händer för att alla dubletter ska tas bort.

På Tekis hemsida – Användarsidor – TOPOBASE – Filhämtning och ”TB2_OracleSpatial.zip - Diverse skript för Topobase 2 och Oracle Spatial” finns dessa skript att hämta.

Page 26: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Vanliga fel som kan förekomma:

ORA-13011Value is out of range

Cause: A specified dimension value is outside the range defined for that dimension.

Action:Make sure that all values to be encoded are within the defined dimension range.

Objektet ligger utanför den geografiska utbredningen. Ska inte objektet flyttas eller raderas måste definitionen av den geografiska utbredningen av det spatiala objektet ändras via Topobase Administrator genom att skapa om det spatiala objektet.

Page 27: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Vanliga fel som kan förekomma:

ORA-13345A compound polygon geometry has less than five coordinates

Cause:A geometry, specified as being an arcpolygon, has less than six coordinates in its definition.

Action:A compound polygon must contain at least five coordinates. A compound polygon consists of at least one arc and one line each of which must be described using three and at least two distinct coordinates respectively. Correct the geometric definition or set the appropriate SDO_GTYPE or SDO_ETYPE attribute for this geometry.

Ofta en ”polygon” med bara två (2) punkter i databasen.Rätta geometrin i Basic Map om det ska vara en polygon. Flytta den till en linje objektklass om den skulle bestå av två punkter.

Page 28: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Vanliga fel som kan förekomma:

ORA-13348Polygon boundary is not closed

Cause:The boundary of a polygon does not close.

Action:Alter the coordinate values or the definition of the SDO_GTYPE or SDO_ETYPE attribute of the geometry.

Öppen polygon. Rätta geometrin i Basic Map eller ev. flytta den till en linje objektklass.

Page 29: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Vanliga fel som kan förekomma:

ORA-13349 Polygon boundary crosses itself

Cause:The boundary of a polygon intersects itself.

Action:Correct the geometric definition of the object.

Polygonen skär sig själv vilket inte är tillåtet, t ex en ögla. Rätta geometrin i Basic Map.

Page 30: Introduktion Spatiala objekt i Autodesk Topobase 2

Felsökning och rättning

Vanliga fel som kan förekomma:

ORA-13356Adjacent points in a geometry are redundant

Cause:There are repeated points in the sequence of coordinates.

Action:Remove the redundant point.

Det finns punkter med samma koordinater, s k nollpunkter. Kör rensingsskript beroende på om det är en linje eller polygon. Hjälper inte detta rätta geometrin i Basic Map.

Page 31: Introduktion Spatiala objekt i Autodesk Topobase 2

Trigger och index

När valideringen av en objetklass är klar och det inte finns några fel ska index (spatiala) och ev. triggrar skapas.

IndexAdministratorSpatial objekt – Index - Skapa

Page 32: Introduktion Spatiala objekt i Autodesk Topobase 2

Trigger och index

Trigger används när synkronisering önskas, d v s att alla geometriska förändringar även ska utföras i den spatial ”skuggdatabasen”.

TriggerAdministratorSpatial objekt – Trigger - Skapa

Sak att tänka påTopobase har en flagga för borttaget. Vid läsning av spatiala verktyg måste villkoret DELETED = 0 användas för att de borttagna objekten ska ”försvinna”.

Page 33: Introduktion Spatiala objekt i Autodesk Topobase 2

Analysera …

Analysera och optimera alla TOPOBASE-tabeller rekommenderas att köras då och då, särskilt då spatialt data används

Page 34: Introduktion Spatiala objekt i Autodesk Topobase 2

Information

På Tekis hemsida finns:

Whitepaper: Konvertering TB2 till TB2007

Där mycket av det som gåtts igenom står.

Ändras till TB2008 när migreringsverktyg kommer…

Page 35: Introduktion Spatiala objekt i Autodesk Topobase 2

Spatialt data i drift

Validering bör utföras regelbundet

Felaktigt spatialt data kan hindra att datat kan läsas

Kolla Tekis hemsida och om Förslag till lösning av spatial validering i Autodesk Topobase 2 på tidkan vara något

Page 36: Introduktion Spatiala objekt i Autodesk Topobase 2

TB2Metadata

TB2Metadata kan vara ett hjälpmedel för den spatiala hanteringen

Statistik kan ge svar på frågor som- Finns det spatiala defintioner?- Vilket koordinatsystem används?- Hur mycket spatialt data finns?- Finns index och hur mår indexet?- Finns triggrar?

Page 37: Introduktion Spatiala objekt i Autodesk Topobase 2

TB2Metadata

TB2Metadata kan vara ett hjälpmedel för den spatiala hanteringen

Spatial validering med lista på felaktiga objekt med villkor för att hitta objekten med hjälp av Basic Map

Page 38: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg

Saker att tänka på

-Använd användare med enbart läsbehörighet så att det spatiala datat och attributdata inte kan ändras om titta-möjlighet används. Generella användare kan skapas med läsbehörighet till Topobase-data

-Används s k vyer för att sammanställa data (flera tabeller) där spatialt data ingår måste även dessa ha spatialt metadata

Page 39: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – Autodesk MapGuide

Skapa datakälla av typenAutodesk Spatial Data Provider for Oracle Spatial i Autodesk MapGuide Server Admin (en gång)

Page 40: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – Autodesk MapGuide

Författa kartan som vanligt med Autodesk MapGuide Author

Kom ihåg villkoret DELETED = 0

Page 41: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – MapInfo Professional

Se till att Oracle Spatial-stöd finns i installationen

Skapa mapcatalog (en gång per Oracle-databas)

Page 42: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – MapInfo Professional

Avbilda, registrera varje spatialt skikt (valet Gör DBMS-tabell avbildningsbar)

Page 43: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – MapInfo Professional

Val Öppna DBMS-tabell

Kom ihåg villkoret DELETED = 0

Page 44: Introduktion Spatiala objekt i Autodesk Topobase 2

Andra verktyg – ESRI

Registrera skikt i ArcSDE

Referera till skikt, kom ihåg villkoret DELETED = 0

Page 45: Introduktion Spatiala objekt i Autodesk Topobase 2

Arbetssätt

Validering och rättning av spatiala data är en process som spänner över tiden

Kan vara bra att arbeta strukturerat, kanske någon enklare form av projekt

Logga vad som gjorts

Page 46: Introduktion Spatiala objekt i Autodesk Topobase 2

Referenser

Mer information

Tekis hemsidaANVÄNDARSIDOR – Topobase - Filhämtning

Oracle-sida om Spatialhttp://www.oracle.com/technology/products/spatial/index.html