How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application Presented By: Mark Field Field Consulting and Services, Inc.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

Chapter 13 Graphics classes Bjarne Stroustrup
EziLink RESULTS Training Session 1 – Show and Tell For the Ministry of Forests, Lands and Natural Resource Operations.
Web-Based Planning Tools for Missouri Show-Me Ag Classic February 1, 2006 Columbia, MO Chris Barnett Center for Agricultural, Resource and Environmental.
1 StarPanel How To Create a Panel and More. 2 Presentation Overview: What are Panels and How They work How to : Create a panel Add a patient to a panel.
Insert image here © SPEC-Soft SAVINGS AND EXPERTISE FOR YOUR PLANT PFS-Suite Life-cycle Tools For Process Automation PFS-Suite TM.
Chapter 12: File System Implementation
Control System Studio (CSS)
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Better Interactive Programs
Enhancing Spotfire with the Power of R
Expanding the User Base of Smallworld Technologies at Sho-Me Power Cooperative Andy Meyers – Sho-Me Power Cooperative Mark Field – FCSI.
Graphical User Interface Design
Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
JTX Overview Overview of Job Tracking for ArcGIS (JTX)
Section 3-1 to 3-2, 3-5 Drawing Lines Some of the material in these slides may have been adapted from university of Virginia, MIT, and Åbo Akademi University.
A comprehensive solution for publishing maps and intelligent network information via the Web Bentley Geo Web Publisher for Communications.
Raster Based GIS Analysis
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components.
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Unit One: GIS Concepts In this unit… ► What is GIS? ► Types of GIS data ► What can you do with GIS? ► ArcGIS 9 license levels ► Basics of the ArcGIS 9.
What is a Geographic Information System? Geographic Information System = GIS.
Mobile Technology for Real Property Assessment Tax Assessor’s Office Davie County, North Carolina.
NPS Introduction to GIS: Lecture 1
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
ArcView Documents Francisco Olivera, Ph.D., P.E. Department of Civil Engineering Texas A&M University.
QGIS Matthew Rosencrans Tom DiLiberto. Outline What is QGIS? What can we do with it? What data can we work with?
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
GIS Data Models Components of a GIS Map Common Data Models.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
Spatial Statistics UP206A: Introduction to GIS. Central Feature.
Esri International User Conference | San Diego, CA Technical Workshops | Managing and Editing Annotation Natalie Vines Samantha Keehan July 14, 2011.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.
GIS Display and Analysis of Crash Data Gautam Mistry University of Alabama, Tuscaloosa Prepared for: 29 th International Traffic Records Forum July 15,
ATN GIS Support ArcGIS: ArcMap Data View.
Copyright © 2006 by Maribeth H. Price 2-1 Chapter 2 Working with ArcMap.
© 2011 Autodesk High-End Infrastructure Modeling with Low-Cost Tools: Introducing AutoCAD® Map 3D 2012 Bradford Heasley, GISP Vice President, Brockwell.
Yingcai Xiao Game Development Interactive Animation.
Yingcai Xiao Game Development Animation. Video Game Interactive animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic)
Programming Video Games
Cole Kelleher Benjamin Post CSCI 5980 Assessment of Advanced GIS Tools for E-911 Services.
High Performance Java Swing Animation David Wallace Croft Presented to the Plano Java Users Group Plano, TX Copyright 2004 David Wallace Croft.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Game Creation in XNA CS470 Final Project Chris Ragland.
Using the AccuGlobe Software with the IndianaMap Using the AccuGlobe Software.
CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE.
Chapter 9 Advanced Assembly Modeling Techniques. After completing this chapter, you will be able to perform the following: –Create design view representations.
Object Oriented Analysis & Design Game Patterns. Contents  What patterns are  Delegation  Game Loop  Scene Graph  Double Buffering  Component 
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
XPages Example: Generating Dynamic Editable Fields from a Document Collection Author: John Mackey Groupware Solutions Inc.
Working with CAD Data In ArcGIS Travis Wagner. New Features Adds CAD datasets as group layers –Still have the ability to access all feature types properties.
Overview of Previous Lesson(s) Over View 3 Program.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Requirements Analysis Review Modeling Team Matt Weyant 26 Oct 1999.
Eris Performance & Load Testing. Performance & Load Testing Basics Part 1.
Chapter 9 Advanced Assembly Modeling Techniques. After completing this chapter, you will be able to perform the following: –Create design view representations.
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
Interactive Animation
Working in the Forms Developer Environment
Kratos 3D Structural Analysis Tutorial
Application with Cross-Platform GUI
GIS - NetmapWEB Training Slides
Introduction to Game Development
Game Development Animation
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
Frame Buffer Applications
Presentation transcript:

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application Presented By: Mark Field Field Consulting and Services, Inc.

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 2 Requirements Need to quickly update graphics system. Need to quickly update graphics system. – In the order of less then 1 second. Our requirement was to show updatable entities, Our requirement was to show updatable entities, Support selection of entities. Support selection of entities. Support multiple symbols depending on type of entity. Support multiple symbols depending on type of entity.

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 3 Limitations with Smallworld Core Spatial Technology Slow refresh. Slow refresh. – Approximately 5 seconds to draw basic geometry – Approximately 10 seconds to draw with rasters. Even refreshing just bounds of entities would be slow. Even refreshing just bounds of entities would be slow. – As well as distracting. Add-on geometry drawing is limited. Add-on geometry drawing is limited. – Must provide data to databus in Smallworld Core Spatial Technology (CST) 4 with :geometry_to_draw or :post_render_sets

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 4 FCSI Solution Overview Basic idea: DOUBLE BUFFERING Basic idea: DOUBLE BUFFERING – Real time technique to draw data in memory, and pop the frame to the view. – Prevents the noticeable drawing of individual features, which contribute to flickering. Double Buffering Example Double Buffering Example Double Buffering Example Double Buffering Example

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 5 FCSI Solution Overview Use a memory canvas to record what has been drawn by the GIS. Use a memory canvas to record what has been drawn by the GIS. Store the base memory canvas. Store the base memory canvas. Draw the vehicle positions on a copy of the memory canvas. Draw the vehicle positions on a copy of the memory canvas. Display the modified memory canvas to the user Display the modified memory canvas to the user Exemplar: fcsi_fast_display Exemplar: fcsi_fast_display

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 6 Canvas Copying SWAF canvas after refresh is complete Copy canvas to memory_canvas Draw Geometries on memory_canvas Replace modified memory_canvas to SWAF canvas Update loop

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 7 Memory Canvas Details Need to know when refresh is started. Need to know when refresh is started. – For pre-CST 4: dependency of graphics system, (:start_refresh) – For CST 4: databus, (:fcsi_start_refresh) Need to know when the drawing is complete. Need to know when the drawing is complete. – For pre-CST 4: dependency of graphics system, (refreshed) – For CST 4: databus, (: fcsi_end_refresh) post_render_sets doesnt truly work post_render_sets doesnt truly work Store the window to a memory canvas using fcsi_reset_memory_canvas() Store the window to a memory canvas using fcsi_reset_memory_canvas() – Uses memory_canvas.copy_area() Draw vehicle geometry on the memory canvas with fcsi_draw_geoms() Draw vehicle geometry on the memory canvas with fcsi_draw_geoms() – Uses memory_canvas.draw() Copy the memory canvas data to the graphics view canvas. Copy the memory canvas data to the graphics view canvas. – Uses memory_canvas.copy_area()

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 8 Geometry Details Dynamic Geometry is stored in.fcsi_geoms Dynamic Geometry is stored in.fcsi_geoms Styles for dynamic geometry stored in.fcsi_styles. Styles for dynamic geometry stored in.fcsi_styles. –.fcsi_geoms[n] uses.fcsi_styles[n] style Need to get handles to symbology. Need to get handles to symbology. – Get handle to a symbol from the style system, or – Create symbol, or – For point symbols, can be basic sector data with line style that can be used as a point symbol. Loop over the geometry you want to draw and use memory_canvas.draw() with style. Loop over the geometry you want to draw and use memory_canvas.draw() with style. Any geometry and style can be drawn, points, lines, areas, etc. Any geometry and style can be drawn, points, lines, areas, etc.

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 9 Example Display Details fcsi_pvd_menu exemplar fcsi_pvd_menu exemplar – Simple example of fcsi_fast_display. – Creates/stores routes from node to node – Allows you to select a dynamic geometry Open GUI: Open GUI: – fcsi_pvd_menu.open(grs) or – fcsi_pvd_menu.open(appl) Set Manifold Set Manifold – Select geometry – Set Manifold Interactively create routes using trail. Interactively create routes using trail. – Create 2 point trail identifying start and end nodes for route. – Or randomly create routes using trail bounds Use fcsi_get_test_paths(num) Use fcsi_get_test_paths(num)

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 10 Example Display Details (cont.) Set Delay (milliseconds) Set Delay (milliseconds) Run. Run. – The engine loop calculates new coordinate along route by 5m. – Updates the.fcsi_geoms slot with new coordinates. – Calls fast_display.fcsi_update_view(). – Sleeps for the given delay. Select dynamic geometry. Select dynamic geometry. – Pauses engine loop. – Selects closest coordinate in.fcsi_geoms list.

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 11 Extending Implementation Can realistically be any process, internal or external (ACP). Can realistically be any process, internal or external (ACP). Example code moves the current location 5m down trace result, but can be any type of data. Example code moves the current location 5m down trace result, but can be any type of data. Future Updates Future Updates – Pause when panning/zooming Would need dependency of current_state of the application. Would need dependency of current_state of the application. – After new selection – recreate base memory canvas Contact FCSI Contact FCSI – –

How to Implement Real Time Vehicle/Asset Tracking within the Smallworld GIS Application 12 Demonstration This demonstration will show 1000 entities. This demonstration will show 1000 entities. There are 1000 paths that have been randomly generated. There are 1000 paths that have been randomly generated. – 1 path for 1 entity Each iteration of the main loop: Each iteration of the main loop: – Updates the position of each entity by 10 meters along each path. – Stores updated coordinate and distance in ropes – At end of all updates, display results The road works symbol is a basic X from the style system. The road works symbol is a basic X from the style system. Simple selection of entity will report its ID (position in rope). Simple selection of entity will report its ID (position in rope).