Thursday, 15 May 2014

S-57 Styling ENC Group 1 Classes (Skin of the Earth) for #GeoServer #ECDIS

Class LNDARE (Land area) requires a simple color fill with color token LANDA.

The S-52 Specification for ECDIS Display consists of 64 color tokens, in three (or five - depending on the version of the Spec) color palettes for DAY (DAY BRIGHT, DAY WHITE, and DAY BLACK), DUSK, and NIGHT displays. The differing color palettes enables the ECDIS to behave in a similar fashion to how a GPS Navigator in your car turns from a bright white display into a dark navy display in order to preserve your night vision during night time driving.

These color tokens are provided as CIE Yxy colors, and need to be converted into RGB colors by the ECDIS manufacturers.

For the DAY BRIGHT palette, LANDA maps to a soft yellow/light brown color. This shifts to a very dark e brown tone for night time use.

The next Class we want to show s DEPARE (Depth area) – this is the water, essentially. The DEPARE can be rendered in either 2 (default) or 4 distinguishing shades (of greyish blue for DAY BRIGHT palette, and dark violet/black for NIGHT) - DEPDW (deep water), DEPMD (medium deep water), DEPMS (medium shallow), DEPVS (very shallow), plus DEPIT (intertidal).

The NIGHT palette can only distinguish three shades – deep (using DEPDW), shallow (DEPVS), and intertidal (DEPIT). Note that deep and shallow are in reference to the safety contour.
The S-52 Specification recommends that the ECDIS allow the mariner to select a deep contour (default 30 metres) and a shallow contour (default 2.0 metres) in addition to safety contour (default 30 metres).
 
The actual contour lines are handled by the Class DEPCNT which is a Line Geometry. We shall look at this later.

In order to show the WRECKS layer with the LNDARE and DEPARE layers, we need to create a Layer Group, and this brings up the issue of the order of layering. The S-52 Specification consists of a field called Display Priority which is a number between 0 and 9, with the lowest priority 0 being laid down first and higher numbers being displayed on top. In cases where the Display Priority is the same, Geometries of type Point go on top of Lines, which go on top of Areas.

To facilitate this layering, I have developed a naming convention for these SLD Style files like so:

LNDARE_A1.sld – this signifies that style LNDARE is for Area Geometry, Display Priority 1
DEPARE_A1.sld – also for Area Geometry, Display Priority 1
WRECKS_P4.sld – this is for Point Geometry, Display Priority 4 (goes on top of the other two)

Putting all this together, we now have this for Cell US5FL24M:




Saturday, 10 May 2014

S-57 ENC Styling for GeoServer

To get started styling S-57 ENC, I selected a layer of Point geometries from the previously converted S-57 ENC Cell US5FL24M that would be interesting for me to display – WRECKS. This Class actually comes in two flavours -  Point and Area, and we will revisit the latter at a later date.

I proceeded to load in the WRECKS, and it picked up the default point style as shown here:



Looking at the S-52 Specification, WRECKS has two important attributes that affect the styling – CATWRK (Category of wreck) and also VALSOU (Value of sounding). Keeping things simple, I developed an SLD with rules based on the CATWRK values. I also created three graphics based on the designs in the S-52 ENC Symbol Catalog – WRECKS01, WRECKS04, and WRECKS05 using the DAY BRIGHT (more about this later) palette. Loading all that into GeoServer and reloading the layer produced this display:


Some progress, but showing the positions of the wrecks without any further reference to shore is not very useful. I have also simplified these rules somewhat - S-52 actually contains Conditional Symbology Procedures (CSP) - these are essentially rendering rules based on values of attributes and specified using UML Activity Diagrams.

The S-57 Specification consists of over 170 Classes, each of which is presented as one or more Geometric primitives of type Point, Line, or Area (P, L, A) - this could potentially result in several hundred layers and styles. Fortunately, by rendering a small subset of these we can obtain very useful results in an iterative fashion.

Of these 170 or so Classes, there are seven Classes (using Area Geometric primitive only) that make up what is known as the "Skin of the Earth". These are the ENC Group 1 Classes:

LNDARE (Land area)
DEPARE (Depth area)
DRGARE (Dredged area)
FLODOC (Floating dock)
PONTON (Pontoon)
HULKES (Hulk)
UNSARE (Unsurveyed area)

As an example, Land Area (LNDARE) has Point, Line, and Area. Only the Area Geometry forms part of the Skin. We will look at these next.


Tuesday, 29 April 2014

Creating an S-57 ENC Display with OpenLayers and GeoServer

Something that I have been wanting to do for a long time - that is to render S-57 ENC (Electronic Navigation Charts) using OpenLayers and GeoServer.

The process starts with converting the S-57 ".000" file in numerous Shapefiles using ogr2ogr. S-57 Objects have Geometric Primitives like Points, Lines, and Polygons; and are tied to Spatial Objects that have coordinates. The conversion then has to be done for each Geometry type:

ogr2ogr -skipfailures -f "ESRI Shapefile" point US5FL24M.000 -nlt POINT
ogr2ogr -skipfailures -f "ESRI Shapefile" line US5FL24M.000 -nlt LINESTRING
ogr2ogr -skipfailures -f "ESRI Shapefile" area US5FL24M.000 -nlt POLYGON


These commands will create point, line, polygon Shapefiles in corresponding folders for S-57 file US5FL24M.000 - note that many of the output files will be not-applicable (possibly blank) and we need to refer to the S-57 Specification to see which Class has which Geometric Primitives. Example is LNDARE which is "land area" - this supports both area and point geometries and needed to be styled for both.

Next step then was to figure out the specification for each S-57 Class and how it is styled based on the S-52 Specification for ECDIS Display. I created several styles using SLD for several key layers. The initial results look promising:



There are many complexities built into the rules of S-52, some Classes have several pages of Activity Diagrams that need to be translated into SLD.

Comments are most welcome.
 

Thursday, 20 June 2013

BPMN Modeling with Simulations


Bazagi has released version 2.5 of Process Modeler. This version contains a Lanner Simulation Engine that can be used to analyze process flows, identify process bottlenecks, and optimize.

The simulation is very simple to set up, and comes complete with a number of Statistical Distributions. I was able to run processes very quickly at level 1, and by adding additional limits and constraints, levels 2 and 3. After a while, I started to receive the error message "The simulation has failed. Please ensure that your model is compliant to the BPMN2.0 standard and that it is supported by the Simulation engine."

As it turns out, the failure was caused by my usage of the Normal Distribution, with the negative three sigma value coming very close to zero - I believe this causes some inputs to be negative, and hence fail. The solution is to use the "Truncated Normal Distribution" and set the minimum value to 0.01 if you happen to be skirting with zero. This should prevent any negatives from occuring, and ensure a smooth BPMN execution.  

This is a great addition to an already wonderful tool.

Wednesday, 9 January 2013

Stop Searching for Answers

Do you want to innovate or imitate ?

It's become too easy to fire up the browser and seek out the search results for answers.

Has it ever occurred to you that the existence of answers mean that it has been done before ?

There comes a time when the search reveals nothing useful. Instead of giving up, you should be excited that you may be on to something new and unique (or merely that the inventor never bothered to post it on the web).

Stop searching for answers and start creating the right questions.

Monday, 27 February 2012

Are Facebook and Twitter innovations or just apps ?

We obviously live in an internet era.

Many recent graduates are forming startups hoping to reap the rewards like Yahoo (in the oldest days) Google (in the old days) and Facebook/Twitter in the present.

These are popular services, no doubt about it, and the press just can't stop talking about them. Valuations and IPOs are completely without realism. It's like saying that the most successful company in world commerce is the Yellow Pages.

These silly valuations come from investors fear of missing out on the next big IPO.

But are we forgetting something ? All these billion dollar-valuation companies are all single dimensional. They are all just web apps. Software really. So while their services may be innovative in their offerings, they are really just very big software houses.

I see complaints that the US is losing it's edge in innovation and R&D. No surprise really. While US is busy building web apps, China and Korea and the rest of the world are doing R&D in flat panels, lasers, semiconductor materials, acoustics, vehicle safety, and green energy. Multi-dimensional.

Sunday, 8 January 2012

Business Modeling with BPMN

Very often we find that the Requirements Management process leads to a dead end. Typically, this is a revelation that the origin of the project are not well understood - and it is time to do some Business Modeling - to clarify exactly why the project is needed and where it fits into the grand scheme of things.

Over the past decade or so, I have used elements of UML to document the Business Processes, but found that something is still lacking. Activity Diagrams and Business Use Case Models can only go so far. 

I have found a very valuable tool in BPMN 2.0 - the Business Process Model and Notation - in particular the Level 1 and Level 2 conformance subclasses that limit the icon set and greatly increase the adoption rate among our client organizations. Naturally, a set of icons alone won't do the job - Bruce Silver's BPMN Method and Style goes beyond notation and offers a Methodology of process, notation, and best practices.

Thursday, 6 October 2011

Master of the CONOPs

By now, news on the death of Steve Jobs has flooded the wires.

Steve was, without doubt, the Visionary. I'm not talking about the beautifully crafted products that have people queuing outside of Apple Stores from the early hours of the morning, but something more profound.

Steve was a master of the CONOPs - the Concept of Operations, and for offering "whole products".

For a product to be truly exceptional it has to fulfill the customers compelling reason to buy; this was called the "whole product" by Geoffrey Moore in his book Crossing the Chasm.

The iPod was not the first MP3 player to hit the market, Diamond Rio was considered the standard for a time - but there lies the difference, there were no associated CONOPs and users had to figure things out for themselves. It was the launch of iTunes and the App Store that opened up the possibilities by creating a Concept of Operations that completed the loop.

One great company that could benefit greatly from this concept would be Adobe.

Photoshop is considered to be a whole product, maintaining a clear leadership position with a wide variety of third party plugins that further extend the core capability. What is missing, however, is the CONOPs. Just a little more thought is required to get from camera to published magazine. Possibilities are endless here - why are they allowing Getty Images or Corbis to take all the profit while they do all the work ?

Monday, 3 October 2011

Have faith in your process

It is vitally important to maintain robust Business Modeling and Requirements Engineering processes in your organization.

Why ? well Donald Rumsfeld said it best -
"There are known knowns; there are things we know we know.
We also know there are known unknowns; that is to say we know there are some things we do not know.
But there are also unknown unknowns – the ones we don't know we don't know."

With a trustworthy and proven process, you can be confident that you will uncover the known unknowns, and possibly bring to light some unknown unknowns into the discourse...

Sunday, 18 September 2011

Vision, or lack thereof

Over recent weeks there has been a great deal of chatter about the future of Apple - now that their great visionary leader has called it a day, for his health reasons. It shall be interesting to see how Apple continues to innovate and delight users several years from now once Job's ideas-in-the-pipeline are all used up and they have to create their own.

In contrast, we have Hewlett-Packard announcing all sorts of departures - from the PC business, the Tablet business, and possibly the Hardware business, wanting to solely focus on financial software services. Good luck entering that uncrowded sector...

Back in my days as an engineering student, HP was to be seen everywhere - scientific calculators (together with Texas Instruments) and all their lab gear like oscilloscopes (as was Tektronix). HP was seen as an innovator, or should I say Bill and Dave were, not HP the company. Today, what does HP actually stand for ?

A lot has been said about Carly Fiona's poor decision for the purchase of Compaq - it was a reactionary buy rather than a visionary's. And when did a great instrument company become a computer company anyway ?

The tech industry loves heroes, and pretty much ignore faceless corporations. Rational's stuff was great to use while there were the "Three Amigos". These products are now buried deep within Big Blue's catalog. The trio have long gone as has market share in modeling tools.

What is your vision, HP ? What is your identity ? Leave out all that "Maximizing shareholder value" because you are being sued by your shareholders. Companies need to innovate now more than ever, and communicate those visions of the ideal future. Apple does this well - products are well designed, manufactured, and packaged - and a pleasure to use. HP needs to dream big and create a new category or it will not survive.

Two companies, on opposite sides of the spectrum, both requiring a Vision. One to maintain their leadership position, the other from irrelevance.

Wednesday, 13 July 2011

Tuesday, 12 July 2011

Recommended reading for your Requirements Practice

A number of books that I use and recommend each project team to have available:
There are also other books mentioned in older posts below.

Thursday, 21 April 2011

Upcoming Event: Talk on Managing Innovation

Infowave shall be delivering a 3 hr talk on Managing Innovation at Chandrakasem Rajabhat University, on Saturday 30th April 2011. This talk shall include examples of innovation from the military domain.

Thursday, 24 March 2011

Upcoming Event: Lecture Series on Software Architecture

Infowave presents a series on Software Architecture at Sripatum University, on Saturday 26th March and Saturday 2nd April 2011.

Friday, 19 November 2010

Upcoming Event: Talk on Simulation Technology

Infowave shall be delivering a 3 hr presentation on The State of Simulation Technology on Saturday 27th November 2010 (0900 - 1200) at Sripatum University. Focus shall be on Military Simulations.

Saturday, 30 October 2010

Watts Humphrey 1927-2010

Watts Humphrey, founder of the Software Process Program at the Carnegie Mellon Software Engineering Institute (SEI) and recipient of the National Medal of Technology, died Thursday at his home in Sarasota, Florida. He was 83.

Known as the "Father of Software Quality" Humphrey dedicated the majority of his career to addressing problems in software development including schedule delays, cost increases, performance problems, and defects. Humphrey joined the SEI in 1986, after making what he described as an "outrageous commitment to change the world of software engineering."

Monday, 11 October 2010

Upcoming Event: Presentation on CMMI

Infowave shall be delivering a 3 hr presentation on CMMI and Software Process Improvement on Wednesday 13th October 2010 (0800 - 1100) at the Asian Institute of Technology (AIT-CSIM).

Wednesday, 29 September 2010

RE = RM + RD

Requirements Engineering = Requirements Management + Requirements Development


Friday, 13 August 2010

Will DI change the way we teach OOD ?

As technologies such as Dependency Injection frameworks like Guice and Spring gain traction and become main stream practices, do we need to change the way we teach Object-Oriented Design ?

DI usage has an impact on the dependencies between classes, and how classes are instantiated and generally "wired" together. These patterns greatly facilitate unit testing of our implementations.

Current OOD material does not yet support this concept, may be we should start to think about that.

Thursday, 12 August 2010

Not using UML yet ?

Is that possible ?

I was going over some archival messages at stackoverflow the other day and came across a post about different technologies being used in organizations. I was surprised to see a low turn out in the UML column. Not using UML in your projects is akin to building a house without a blueprint. Possible, but highly risky.

Not to mention how to fix that leaky water pipe five years down the road (what pipe ?).