Author Archives: ssumbera

OLON in OpenLayers 2.7

olon1

Playing with OL context and OLON (OpenLayers Object Notation) that is based on JSON I have found that the sample provided on the OLON sandbox in OL repository doesn’t work well with vectors, in fact it ignores vectors at all.  Reading through the code it was quite easy to discover the problem – vector.js (layer) didn’t serialize  “features”, moreover during deserialization, features were nulled. To make OLON properly work in OL 2.7   for vectors, add following to the vector.js (lib\OpenLayers\Layer\Vector.js)

[line 197]
serializable: { 
"args": ["name"], 
"props": ["features"] 
},
[line 238]
if (!this.features) 
this.features = []; 

If you have pure 2.7 OL version installed, following link can help you to make difs against what is needed for OLON to work at 2.7: http://trac.openlayers.org/changeset/7323 …or you may download complete 2.7 version of OpenLayers with OLON extension from the MapBinder sample at (updated 07/2025 to leaflet, no OLON) https://www.sumbera.com/lab/wms25/wms25.html .

iPhoneLayers – IPhone application for displaying WMS layers

orfotofokatastrMy student Jiri Kaminek, who is in first year of postgraduate study at department of Applied Geoinformatics at Mendel University has created in very short time an impressive  prototype for accessing WMS layers within iPhone using native iPhone SDK. It looks very promissing, with natural iPhone gestures, ability to access iPhone resources (tile cache, GPS position, history, etc..) . You can see his presentation on http://mapserver.mendelu.cz/iphonelayers together with sample screencasts. Codename of the project is iPhoneLayers. The big picture is that MapShake will store all map compositions and you will have various frontedns how to consume or shake your maps, iPhone will be one possible outlet where based on your current GPS position you will get your pre-shaked maps from MapShake store.

Update November 2009: Application is called Whatevermap and can be downloaded from AppStore. please check following category on this blog:

http://blog.sumbera.com/tag/whatevermap/

MapShake – shake and store your maps

mapshake

Remove the default map content from the map viewer, add your own spicy content with your preferred projection, annotate with your custom ingredience, look-up spatially for other recipes and shake it up. Serve it to the broad community and enjoy the beauty of the web live cartography… Because maps can be much more beautiful and tasty then the current served diet.

Annotation is only one part of the web mapping mashups, we have much more layers available to build up our own thematic maps which reflects map purpose for our current situation demand. Moreover these compositions and annotations should be shared across broad community for all kinds of spatial querying (not only implicit buffer zone). Releasing map viewer from the default content, relaxing from fixed spherical projections, opening to more OGC map services to build up rich map content and real ability and simplicity to share our map-arts is the next challenge for web map browsers.

Annonucing MapShake.cz, it runs in Czech language and is currently in technology preview mode on mapshake.cz

5 key messages:

1st message : “Shake you map sources” – that is add any layer you find usable for your nice maps. Advanced – change styles
2nd message : “Use your ingredients” – that is add any annotation for your business, for fun, for share.
3rd message : “Share your maps” – that is your maps are localizable, with simple permissions, your annotations are searchable by spatial queries
4th message: “Search other maps” include other people annotations for your maps. Query for by simple spatial query
5th message : “Use in in your context” – your map compositions are accessible in a field through iPhone

MapBinder – shake your maps

mapbinder

I have put together preview for visually shaking maps where you don’t get just map layer names, but also preview of layers ! Somehow I couldn’t find any page on internet that would allow you to display layers from GetCapabilities WMS as image thumbnails. I’ve kept this idea for a long time and actually it started with yahoo pipes year ago – why not to visually display GetCapabilities as RSS feed with image thumbnails referenced as media type in the feed ? after little experimenting I realized that the value is in combination of position and WMS information, so the use case is “I am here on this place and hey WMS servers, give me all you know about this place…”

That lead me to the prototype of the site codenamed ‘MapBinder’ that allows you to visually combine WMS layers. Before you jump there, let me put here some credits to projects and people who enabled that – first it isOpenLayers 2.7 plus some sandboxed content that implemented GetCapabilities..I don’t remember exact location, then it is blog on tydlevidle.cz that implemented extension to read mapy.cz (mapy.cz is proprietary web based geoengine for maps like google but is using different projection). The last piece I found on some reference on geocaching.cz where someone pointed on conversion.js JavaScript by Tomas Ebenlendr. I forgot to mention that MapBinder is now synced with mapy.cz since it would be hard to overlay mapy.cz with JTSK-based projection, I have decided that reprojection will be done by user’s brain – having side by side maps – everyone can benefit from the content even they do not overlay.

Map Binder can be found on page: updated 07/2025 :https://www.sumbera.com/lab/wms25/wms25.html

. Feel free to save it and examine it. I believe that from this point desktop and web readers of WMS layers will display thumbnails for better user experience :).

Appliantization at NUC 2008

 I have heard first time the term “Appliantization” from Justin Lindsey a CTO of Netezza at Netezza User Conference 2008, September, Orlando. I must admit I love this term, especially since I was involved with virtual appliance concept for geospatial. At Intergraph I was evaluating Netezza Performance Server with gaining fascinating results –  truly the peroformance runs in ranges you read in Netezza marketing materials – that is 10-100 times faster than equivalent general purpose database.  Gartner put Netezza into leaders sections in their magic quadrant for 2008, Netezza has quite good support for spatial types and spatial operations in their database and with UDXes you can turn the machine into domain focused Data Warehouse Appliance. 

More about Netezza Spatial  : http://www.netezza.com/data-warehouse-appliance-products/spatial-analytics.aspx

But let’s start from the beginning…

“One size fits all” approach doesn’t fit for high performance.

  Computing Appliances are equipment with a specialized laser focus on solving targetted IT problems. In contrast to general purpose hardware and software solutions, computing appliances leverage a high level of coherence or fidelity between wired hardware and software pieces. Appliances hide the technical complexity of a system and expose the simplicity of the system. According to the Gartner definition an appliance is “a prepackaged or preconfigured balanced set of hardware, software, service and support, sold as a unit with built-in redundancy for high availability.”

Recently in the data warehouse market, new appliances have emerged with support for geospatial data, processing and present revolution (and disruptive) technology. These new appliances provide a performance boost by tackling the way large amounts of geospatial data can be effectively processed. These performance boosts are reaching orders of magnitude in comparison to general purpose database counterparts like Oracle.

 Geospatially empowered Data Warehouse Appliances (DWA) with Massively Parallel Processing (MPP) architecture can scale out into the hundreds of terabytes, have capabilities to perform spatial queries in seconds instead of minutes or hours, and provide to the user new levels of experience with the affordable instant geospatial analytics.

 With a huge volume of geospatially related data, there are many technical reasons to tune and assemble hardware with software and encapsulate all the complexity together into a self-contained ‘simple’ appliance with standard endpoints for interfacing. These self-contained appliances are easier to maintain and manage keeping the total cost of ownership lower than their general purpose counterparts.
2008 will be known as the year of “Appliantization.” In the data warehousing domain, appliances such as Netezza NPS, Oracle Exadata or Microsoft’s code-named project “Madison” (confluence of DataAllegro and SQL Server) are enabling technologies for high performance spatial analysis.

 Simplicity is managed complexity and computing appliances just do this

At Burton Catalyst Europe 2008 in Prague

Improving Development Process
SDLC : If you don’t build the right software, it doesn’t matter whether you build it right.
In fact…
• 35% of requirements change
• 45% of features are never used
• 82% of projects cite incomplete requirements as their #1 issue
Development Intelligence is BI applied to development – understanding the state of a development project at any point in time.
…. from the first day, Monday 20th October,2008
Future of a virtual desktops:
Steve Herrod (CTO VMWare)
http://blogs.vmware.com/sherrod/

– blend centralized and decentralized (mainframe)…(personal computers)
– Virtrual Desktop – vCloud vClient initiative
– Vision – full desktop run in the data center connect to desktop from anywhere
– Desktop term will have no meaning in few years…
– Desktop that follows user
– Evolution from Hosted to Hybrid !
– Master VM can update linked desktops/clones (as like update with windows)..new desktop image is available – it will handle user differences.
– I have asked question about graphical cards, openGL, Direct X supported in Virtual Desktops– Steve has mentioned what they have done on Apple. They can talk to those layers and still keeping VM image, they are not there yet.. may be in year or half.

The next gen application,Thomas Anne
– Macro business trends: “do less with less”
– app dev is viewed as unresponsive
Shifting the load:
– offshoring
– COTS, SaaS, “Cloud”
– “Same mess for less” (if we do not improve processes)
– Complexity kills, destroys ability to be agile (reason for app. to be unresponsiveness)

4 big trends:
SOA (Loosely-coupled shared services, SaaS, Servicing infrastructure and data)
UXP (RIA widgets, Fit Clients (not thin not thick just Fit)
WEB2.0,
Reducing Complexity/simpler more abstracts models and frameworks.

harsh reality:
– Redundant systems and portfolio bloat increase complexity and reduce agility
– Current model compounds the issues – traditional model is not SOA (model is focused on monolithical apps), they are tightly coupled distributed applications.

Requirements for a new model:
– Service-oriented rather than application-oriented
– “everything should be made as simple as possible not simpler”

Recommendations:
– The best innovation happens in the startup community
– Technology is irrelevant – what matters is how you use it. Focus on principles and patterns.
– Make clear SoCTechnology != Change

WCF- Dispatcher graphics

trying to understand WCF extension model, I have reconstructed ServiceModel.Dispatcher namespace with most important information related to ChannelDispatcher, EndpointDispatcher and dispatchRuntime plus operation Runtime. This is first version, the diagram is layout to reflect message passing from up to bottom.

Full picture [400KB]
message dispatcher thumbnail

Follow-up of this model for ServiceDescription can be found here

Following sequence is how it flows in WCF model when executing an operation (not exhaustive):

1. reached EndpointAddress
2. performing EndpointAddressMessageFilter : Match operation returned: True
3. performing TrackContractFilter : Match operation returned: True
4. called OperationSelection: Method to call: MyMethod
5 called AfterReceiveRequestEvent for binding http://tempuri.org/:BasicHttpBindingEndpoints: 1
6. Constructor of Service MyService called : class instantiated
7. called AllocateInputs
8. called ParameterInspectionBeforeEvent
9. called InvokeOperationEvent
10. Method/operation MyOperation is executing…
11. called ParameterInspectionAfterEvent
12. called BeforeSendReplyEvent

MapRip bookmarklet that saves map context

I was trying recently to utilize bookmarklets for injection of custom code into arbitrary webpage to get control a provide some additional funcitonality.. for example transfering the content of openlayers maps into MapShake. Not heard about MapShake ? I will post soon more. My bookmarlet looks like this:

javascript:(function(){var%20s=document.createElement(%22script%22);s.charset=%22UTF-8%22;s.src=%22http://www.sumbera.com/lab/MapRip/MapRip.js%22;document.body.appendChild (s)})();

try{
var rippedMap = map;
var format = new OpenLayers.Format.WMC({‘layerOptions’: {buffer: 0}});
var text = format.write(rippedMap);
var w;
setTimeout(‘w=window.open(“”,””,”width=600,height=1200,resizable=0,scrollbars=1″);e(w);’,10);
function e(w){
d = w.document;
d.write(“<textarea id=’wmc’ rows=’100′ cols=’65’>” + text +”</textarea>”);
d.close();
w.focus()
}

page with bookmarklet

MapRip bookmarklet that saves map context

I was trying recently to utilize bookmarklets for injection of custom code into arbitrary webpage to get control a provide some additional funcitonality.. for example transfering the content of openlayers maps into MapShake. Not heard about MapShake ? I will post soon more. My bookmarlet looks like this:

javascript:(function(){var%20s=document.createElement(%22script%22);s.charset=%22UTF-8%22;s.src=%22http://www.sumbera.com/lab/MapRip/MapRip.js%22;document.body.appendChild (s)})();

try{
var rippedMap = map;
var format = new OpenLayers.Format.WMC({‘layerOptions’: {buffer: 0}});
var text = format.write(rippedMap);
var w;
setTimeout(‘w=window.open(“”,””,”width=600,height=1200,resizable=0,scrollbars=1″);e(w);’,10);
function e(w){
d = w.document;
d.write(“<textarea id=’wmc’ rows=’100′ cols=’65’>” + text +”</textarea>”);
d.close();
w.focus()
}

page with bookmarklet

SOA presentation at Intergraph 2008

It’s been long time since my last post…I am completely busy and lot of changes have happened during the 2007 year. The most important is that I have handover my ‘start-up’ Intergraph division in Brno (called UtiCom Solution Center) and started to work as Technical Architect for SG&I division of Intergraph with Technology, Architecture and Strategy team. Moreover another important information drives me to update my blog – my presentation at Intergraph 2008. I will present in Las Vegas in June SG&I roadmap towards Service Oriented Architecture ! Looking forward to see you there.

update 2009 : you can download my presentation here :  http://www.intergraph2008.com/presentations under #9008, however you need a valid username and password. Also portions of the presentation can be found on CEN/TC 287 workshop http://blog.sumbera.com/2009/04/10/presentation-at-centc-287/