introduktion spatiala objekt i autodesk topobase 2
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 PresentationTRANSCRIPT
Introduktion Spatiala objekt i Autodesk Topobase 2
Peter Arninger
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
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.
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.
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?
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?
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
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
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
DatatypEn speciell datatp används för geometrier i en Oracle spatial-databas
Oracle Spatial-komponenter
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’
Exempel på geometrityper
Oracle Spatial-komponenter
PointPoint
Line stringLine string
Arc lineArc linestringstring
PolygonPolygon
Polygon Polygon with holewith hole
CompoundCompoundpolygonpolygon
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
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
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
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
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
Skriva spatiala objekt med Autodesk Topobase 2
Topobase Administrator
Välj objektklass och högerklick Spatial objekt och Skriv spatiala objekt
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
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
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
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
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)
Felsökning och rättning
Använd FID-en för att visa geometrini Basic Map med villkor
Rätta geometrin
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.
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.
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.
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.
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.
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.
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
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”.
Analysera …
Analysera och optimera alla TOPOBASE-tabeller rekommenderas att köras då och då, särskilt då spatialt data används
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…
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
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?
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
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
Andra verktyg – Autodesk MapGuide
Skapa datakälla av typenAutodesk Spatial Data Provider for Oracle Spatial i Autodesk MapGuide Server Admin (en gång)
Andra verktyg – Autodesk MapGuide
Författa kartan som vanligt med Autodesk MapGuide Author
Kom ihåg villkoret DELETED = 0
Andra verktyg – MapInfo Professional
Se till att Oracle Spatial-stöd finns i installationen
Skapa mapcatalog (en gång per Oracle-databas)
Andra verktyg – MapInfo Professional
Avbilda, registrera varje spatialt skikt (valet Gör DBMS-tabell avbildningsbar)
Andra verktyg – MapInfo Professional
Val Öppna DBMS-tabell
Kom ihåg villkoret DELETED = 0
Andra verktyg – ESRI
Registrera skikt i ArcSDE
Referera till skikt, kom ihåg villkoret DELETED = 0
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
Referenser
Mer information
Tekis hemsidaANVÄNDARSIDOR – Topobase - Filhämtning
Oracle-sida om Spatialhttp://www.oracle.com/technology/products/spatial/index.html