Royal Hawaiian Shopping Center Viewer

Securitas FIRST Sample Viewers

 

A Simple RHSC Facility FIRST Portal is based on the ESRI sample Campus Viewer and demonstrates some of the basic functionality of a GIS, geospatial server, and web clients.  The geodatabase design is well developed and provides a quick start to setting up a facility information system.
 
Under the hood, the following are system features: 
1) Windows Server running Internet Information Server
2) ESRI ArcGIS Server attached to a Geodatabase
3) inter-active 3D Facility Model
 
Client-Server Functionality:
1) Database search listing query results in a table and performs an  “Identify” on spatial features which are highlighted in the 2d map view.
2) Table View of many records, when clicked, “Identify” specific space, zooms and pans to the linked feature in 2d map and 3d Views.
3) Within the 3D View, Building structures are translucent, and depending on the Floor Level, only one level of many levels are represented in 3D and 2D allowing the user to more easily navigate within a complex 3D scene.
4) External Data, demonstrates locations of “Events” shown within the 2D and 3D views.
The data extracted from a RHSC web site is a gross estimation of the leaseable space. Refinements to the system would convert architectural documents representing significant more details to include walls, columns, and passage details.  Fixed assets will also be identified and linked to aspatial attributes.
Subsequent design iterations are identifing important application areas as in this example:
As you may realize, these client-side examples demonstrate considerable complexity and expose much of the business operation and functions required by facility managers and security.  The entire industry, using web 2.0 or RIA technologies, is looking for ways to expose the business capability, hide much of the complexity, provide an intutive work flow, while integrating maps, video, images, charts, graphs, tables, data, access multiple web services, and enforce security.  The following is our example of this technology:
The previous examples lay a ground work which propose to use your enterprise information which will become a very important strategic information source that will explicitly expose hidden details as we move into more advanced iterations. 

Station Characterization Application

Our past work examples will help show some additional capabilities we bring to the table.  The Station Characterization Application is a web application which shows the proposed transit guideway, urban corridors, and station locations. It also links to our 5 minute video stream which is a 3D animation of the Honolulu transit urban corridor along the proposed 21 mile guideway.

 

 

 

 

 

 

 

 When clicking on one of the stations it brings up Image gallerys and interactive 3d views.


The 3D view is clipped for just the immediate vicinity but allows the user to circle around the station.


To link these conceptual views back to the EIS, we represent the plan view extracted from the EIS.

Path and Network Tracing

Network tracing provides a means to find assets along a linear features. The above example is from the Honolulu Storm Water Quality Control Project.  A path tracing provides away to find routes to an asset or resource in multiple level buildings.  This great example was created by ESRI for the San Diego User Conference:

 

TerraCotta-POC Prototypes 

 

The TerraCotta-POC represents our work developing 3D prototypes designed for working with 3D geospatial urban and facility information.

Away3D, your sisters’ not going to like this…

I wonder why Away3D looks a lot like PV3D? Away3D seems easier to work with.   I think some of the developers started with Away3D or maybe it’s the other way around. Well both are flash based 3D viewers and both are really limited for viewing large data sets.  The main issue is flash does not access the GPU and the flash 3d viewers all rely on the painters algorithm to fake 3d content.

In the past, maybe security concerns or the lack of 3d capable graphic cards kept 3D Viewer plugins from using a more robust 3D engine.  I’m not an expert, although  I have been looking into web 3D viewer technology since 2003.  Because none of the viewers seemed to meet the need, I helped Precision Lightworks prototype a 3D Viewer plugin which I integrated with a Flex GIS application.  Our prototype views large 3D urban model datasets, textured buildings and ground maps.  It does this and a few other things really well.  However, it would be ideal to have a flash based 3d viewer that used the 3D processor which are now on most computers.

A robust Flash 3D engine would be nice, but it would be good to have an underlying access to 3D from the browser environment, so lots of different apps or plugins in different languages could easily get access to 3D features to drive their displays.

Recently, Thunderhead (Mansour Raad) had developed a 3D Route Finder using Papervision3D, which I am a fan of.  But in discussion, he suggested looking into Away3D, so I did.   Away3D provides a professional web presence and good tutorials, but I really was glad to find “Switch on the code” which provides a good tutorial on how to get started.  Away3d comes with zip read and write utilities by Dave Chang which I may have seen in PV3D as well. The comparison needs to be completed yet, however, what really caught my eye was the use of Haxe which does some cool stuff related to OpenGL.

There is not any easy explanation, a lot is going on with the anticipated release of the new web standard of HTML 5, and the subsequent javascript innovations for SVG and 3D content, which is expected to be released mid 2010. This is a huge undertaking, and if “Fully Successful”, makes the use of browser plugins obsolete.  The Khronos Group, who manages OpenGL, is expected to develop the WebGL. The Khronos Group, is porting the OpenGL library to a web standard called WebGL, which will make it possible to access the graphics processor.  You can read about it on Draw Logic.  This isn’t really “news”, since the standard has been under development for sometime now.

However, After Chrome’s release, Google is hosting an HTML 5, SVG, and Canvas experiment, with a moderate list of samples developed by some of the web’s best known web-3d developers.  One of these samples uses Sandy, one of the sisters, to export the Sandy 3D Flash content into JavaScript using Haxe.  (By the way, be sure to check out Mr. Doob’s samples. He’s always modest, and one of my favorites.)

Even Adobe is discussing their concern, and it seems Adobe Flash customers don’t need to worry (i.e. Flash will write IPhone Apps in CS5).  I bet Adobe is thinking “it’s about time” and moving forward with their own plans to expose their own version of OpenGL in AS3.  Remember hydra? Hydra was the first indication from Adobe Labs that Adobe was working on accessing the graphics card

Well, I am sure all of it is going to be discussed at Adobe’s LA 2009 Max conference, so stay tuned.

A parting thought, Adobe Flash Player plugin is going to develop further into the 3D viewer arena as far as I can see, and even new plugins, like Silverlight, are going to fill obvious gaps that HTML 5 and JavaScript WebGL cannot fill.  While Unity3D and Torque 3D present some compelling gaming authoring environments, I feel encouraged that so many innovations are being developed.

Honolulu Transit - EIS and 3D

The Honolulu Rapid Transit Project uses 3D maps and graphics to educate the public. It is perhaps one of the most innovative uses of 3D urban models for helping people understand where the rail is and how it will impact the community. The website, honolulutransit.org host a map which links to many of the planned stations. For some reason, there is no link anywhere on the site to find it!  Below are two screen shots:

What? Are You Insane?

I am so glad, I didn’t say this. However, I need to hand it to Tom Arah, he really provided a convincing blog entry. I you haven’t read the blog on “I’m Sorry, Dream Weaver ….” I can’t even write it. You could at least have skirted the “in your face” issue by focusing on the reality of how many tools are needed to actually develop web applications.

Invest Wisely, Don’t Gamble, Promote Health and Prosperity

Wow! It’s good so much attention is being brought to shine on financial guru’s. The buying and selling decisions over other business is not my focus and it’s not my intent to promote a particular investment. But if your growing a company, if we’re successful enough, the test of fire from the short seller is going to draw attention sooner or later. Look, investment money has long been known to be a two edged sword. There needs to be simple values we all agree on. The reason all of us are working is to foster a good life for ourselves, our family, our friends, our neighbors, our world. Yes and eventually our enemy too. Focusing our short lives on a negative outcome is not a good thing. The details of investing our out of my realm to judge. I do believe each of us is called upon to lead with good and right decisions. Those decisions need to be made with honor and in-line with our values. All should do so with a full measure of empathy for all parties and hope their actions are not the root of anyone’s misfortune. I really appreciate this wikipedia article on the subject of Socially Responsible Investing.

Flex 3 Tree - XML Object-Relational Underground - con’t.

I am reporting I managed to implement the Flex 3 Tree Control. I need to blog about this soon, but for now, a list of sites and resources used or referenced which you might find useful monkeying with your own data navigation issues.
1) Ellery Chan, it helps to have a mentor or other mythical creature to get you started and keep you out of trouble.
2) Converting Database queries
3) Hierarchial data objects
4) of course livedocs on the Flex Tree
5) Flex 3 Cookbook, I used the pdf version, purchased from o’reilly, but the additional chapter 19 is what really helped and it’s online for free. However, you may also want to buy it, for chapter 5. Lists, Tiles, and Trees

Two Cool Sites

I like these two sites for simplicity and content. The names are cool and the way they were made is unique and awesome. Riley Engines content was created by a 3rd Grader and David Irick provided the expertise. David’s website, twentyone -157 studios, contians some cool content.

Hawaii 3D Islands

I would imagine the first time anyone has seen the ocean topo’s are on National Geographic and then maybe on Google Earth. Would be nice to know the actual numbers of users and frequency of use for GE. However, I just noticed the Hawaii 3D, or 3D Hawaiian Islands which was pretty cool. It would be great if this was more than an image, and it would not take much for them to render this in a 3D interactive content. Still, for what it is, I like the content and it makes a pretty picture too. Enjoy:
3D Hawaii

Flex 3 Tree - XML Object-Relational Underground

I need to say, I am really excited about this. First, I have always liked the tree component, and entirely amazed at being able to use it.  Like the hammer, I think it’s going to be the best fix-it tool in my bag. On investigation, most of the examples seem to be from the Flex 2 period and either too complex to carry out the simple task, or so terse it left me wondering what was going on. I was getting a little frustrated until I rediscovered if I read the instructions, sometimes this pays off too.

The Adobe Flex Tree Control is really a challenging component.  Before leveraging this awesome tool an understanding of just what is going on with the server side is vital.  My configuration is not important, but I guess I should discuss this for a bit.
There are a few server components you need to have inplace before trying this at home. A relational database is not required, but unless your totally locked into useing an xml database, which is entirely possible, you need to be well versed with the dbms of your choice. You need to have a reasonable understanding of how to either generate your SQL or write your own. A major part of my experience has been within a Windows environment, so an understanding of ODBC or ADO is not required, however, the other routes are not easy, which means your going to need to connect directly through a TCPIP connection, DBMS propritary communication port, or utilizing a JRE2 based connection. One of which your going to need to understand. Another item your going to need to know how to do is configure your internet server.  You are also going to need to pick a webpage application type. If you understand all of that, then I am speaking to the right person.   My system configuration: Windows XP professional (with latest ODBC jet dll’s), apache 2, php, and a MS Access database.

The php is used to connect to the database using a dsn-less connection:Â
1) Define the php page content
2) Define the php xml page output
3) bound the xml content with a root item; echo(”“);
4) Define a query, update, or delete
5) Connect to the database and test connection
6) Design your SQL
$sql =”SELECT
7) get the next row from the query result table and assign to variables
8) parse xml from the data names and use variable names for xml labels and values
9) close the connection

The field names from an sql Access query are posted with minor editing into the php page. think about the content that needs to be fed into the Adobe Flex Tree component. A hint, your nodes are going to be where you have primary key’s or foreign keys which is where a logical relationship exist between the data elements. The xml content needs to be parsed to create the content and you need to include both the content of the field and your labeling of the node and or the leaf of the tree. You can either code this… or I prefere to use a spreadsheet to parse it out.

Now that you have your sql, and xml nicely formated in your php file, test it to make sure the content is what goes into the Tree Control.

Flex Builder 3 Provides a Split Screen


I have seen in a couple of places that the Flex Builder 3 could provide a split screen, but not a true split screen. Which is not true any more. If you want to edit your code using the “True” split screen mode, that is, you can edit in any duplicate window and it updates automatically.

Real simple, just right click on the tab of your editor and click on the context menu item “New Editor” to create the duplicate, but then, left click-hold and drag the tab down to the BOTTOM of the editor view. This is where I got stuck, so don’t panic. I didn’t realize you must drag it down towards the bottom of the window, until you see a line appear across the editor, then let go…
Hence, my insane preamble the day before. If you would like some more details on the IDE go to McCunes: what-my-eclipseflex-builder-setup-looks-like

I hope someone is helped by this.
Cheers,
HPP