INAC Online Hazards Database App

Uploaded on

Indian and Northern Affairs Canada\'s online pipeline hazards web mapping application.

Indian and Northern Affairs Canada\'s online pipeline hazards web mapping application.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • - Talk about visual terrain modelling within the context of web applications - Entire talk based on the Mackenzie Gas Project - Start by giving some of the background - Then give some details of the project as a whole - Finally give an example of VTM within the framework of this project


  • 1. Presented by: Gerry James, President: Carteryx Consultants Inc. and Trevor Simpson, Geomatics Manager: BGC Engineering Inc. Integration of Multifaceted Web Based Technologies for Visual Terrain Modeling
  • 2. History or “what were we trying to prove”?
    • DIAND approached BGC in 2002 with a challenge
    • BGC had extensive experience in risk analysis and management
    • BGC was beginning to build a multi-disciplined Geomatics group.
  • 3.
    • Utilize proven GIS and database technologies
    • Easily accessible to varied audience
    • Intuitive tools and interface
    • Scaleable
    What were our goals?
  • 4.
    • Originally an engineering based project
    • Needed to provide a proof of concept
    • BGC not an ArcIMS shop at the time
    • Eventually INAC decided that they had to host the application
    Open Source?
  • 5.
    • Industry groups
    • Aboriginal Groups
    • Other gov’t groups
    • Public
    So who were the players?
  • 6. Web Mapping –User Interface
    • Adobe(Macromedia) Flash: Thick Client
      • rich user experience
        • mouse-overs, menus, tools, transitions, etc.
      • less round trips to server with lowered request
      • used for other components in website
        • graphs, diagrams
      • development team experience
      • supported by over 97% of desktops
  • 7.  
  • 8. Web Mapping –Map Server
    • move to ArcIMS
      • MapServer Communication
        • send: paramater string to executable
        • result: string to parse
      • ArcIMS Communication
        • send: post xml to map service (ArcXML)
        • result: xml
      • Backend
        • PostGIS/PostgreSQL to SDE/Oracle
        • ArcMap mxd map files
  • 9. Web Mapping –Client/Server communication
    • example: Map refresh (pan, zoom, layer change)
    Map Image: ArcXML Hot Spots: Form Post Client Flash XML() LoadVars() sendAndLoad() Server ArcIMS ASP
  • 10.  
  • 11.
    • Interactively create a cross-section from on-screen user input
    • Provide post processing analytical tools.
    What was needed?
  • 12.
    • GeoSQL vs. script/code
    • PostGIS stored data and performed geo-processing function
    • New to ArcGIS Server
    Geo-processing engine conversion? Public Function xSect(ByVal x1 As String, ByVal y1 As String,_ ByVal x2 As String, ByVal y2 As String) As String Dim pGeomColl As IGeometryCollection = New ESRI.ArcGIS.Geometry.Polyline Dim pSegColl As ISegmentCollection = New ESRI.ArcGIS.Geometry.Path Dim pSecLine As ILine = New ESRI.ArcGIS.Geometry.Line Dim pSecPolyline As IPolyline Dim k As Integer = 0 Dim i As Integer Dim pntNew As New ESRI.ArcGIS.Geometry.Point() Dim pntNew2 As New ESRI.ArcGIS.Geometry.Point() On Error GoTo EH pntNew.X = x1 pntNew.Y = y1 pntNew2.X = x2 pntNew2.Y = y2 pSecLine.FromPoint = pntNew pSecLine.ToPoint = pntNew2 pSegColl = New ESRI.ArcGIS.Geometry.Path pSegColl.AddSegment(pSecLine) Dim tmStmp As String = Hour(Now) tmStmp = tmStmp & Minute(Now) tmStmp = tmStmp & Second(Now) vs.
  • 13.
    • GeoSQL vs. script/code
    • PostGIS stored data and performed geo-processing function
    • New to ArcGIS Server
    Geo-processing engine conversion? Geometry Table Attribute Table Spatial Ref. Table GeoProcessing Functions Feature Class Attribute Table VB.NET vs.
  • 14.
    • 3 basic steps
      • Create a route from a section line
      • Extract features along the line
      • Convert RAT to a single string for interpretation in Flash
    So what is going on behind the scenes?
  • 15.
    • Array of points
    • Code behind
    • Parameter String
    • Create polyline
    • to route
    • extract points -> RAT
    • extract polygon -> RAT
    • back to ASP.NET
    Flash sends two points to ASP Call to code behind {Function or Sub in a VB application} Create Polyline pSecPolyline = pGeomColl lnFeature.Shape = pSecPolyline lnFeature.Value(2) = 1 lnFeature.Value(3) = 0 lnFeature.Value(4) = pSecPolyline.Length lnFeature.Store() Extract Feature Along Route pOutTable = pRouteLocOps.LocatePointFeatures(30, False, pEventProps, True, pOutRtDSN, "", Nothing) Distance/Value string back to Flash 0,150,10,151,15,156….;0,Gv/T... Convert to Route With pRMLocName .RouteFeatureClassName = pTempName .RouteIDFieldName = "ROUTEID" .RouteMeasureUnit = ESRI.ArcGIS.esriSystem.esriUnits… .RouteIDIsUnique = True End With ASP.NET VB.NET
  • 16.  
  • 17. Conclusion
    • Lessons Learned
      • Extremely important to psuedo-code your application when dealing with complex, multi-variate, multi-dataset systems (we had previous code)
      • Comprehensive plan for data and geo-processing migration involving all key technical people
      • Feature extraction fast but initial testing of Spatial Analyst version much faster
  • 18. Conclusion
    • Key Points
      • Flash talks well to ESRI web technologies (ArcXML)
      • ArcGIS Server quite fast for geo-processing
      • Many ways to skin a cat (linear referencing of features vs. Spatial Analyst)