Author Archives: Stanislav

Windows Phone 7 and WMS test

   I have quickly tested my new Windows Phone 7 (Samsung Omnia) device with the Czech cadastral map WMS overlay over the BingMaps and DeepEarth (also see this blog here: http://blog.sumbera.com/2010/11/10/wms-overlay-on-bing-maps-vs-deepearth-on-wp7/) . if you are familiar with www.ikatastr.cz and iPhone version of it (iKatastr) than this example is using same data sources.

In short : it was a great experience – WP7 was smoothly  registered, automaticaly connected to internet even without  a SIM card using USB cable and Visual Studio 2010 integration just works perfect (so far:) In comparison to many difficulties and ‘certification hell’ on iPhone this is a great relief. Now giving the fact that Nokia is going to support and develop Windows Phone 7, great user experience with WP7 and (for me and menay others) great development experience, this might change the mobile landscape significantly over the 1 or 2 years.

I will guess here that WP7 platform will exceed number of iPhone applications in less than 2 years.


XenApp6 trial installation troubles notes

Here are few notes on installing XenApp6 on Window Server 2008 R2 .

-1 used guide : http://www.danieletosatto.com/wp-content/uploads/2010/04/howto_install_configure_xenapp6_server_with_webinterface_license_server.pdf

0. I had troubles with IIS not able to start, installing IIS roles before XenApp6 solved the problem

1. follow the guide until “License Server Configuration” screen, I havn’t used XML Service IIS integration (as using this in my previous attempt coused IIS troubles mentioned in step 0.

2.  generate trial license : http://carlwebster.com/blogs/webster/archive/2009/01/03/Learning-the-Basics-of-XenApp-5-for-Windows-Server-2008-Part-1-of-7.aspx

3. upload license to the XenApp 6 here : http://zenapp.blogspot.com/2010/04/installing-xenapp-6-part-3-citrix.html

4.configure XenApp6. (continue with the guide in #-1)

5. Publish application

6. in Citrix Web Interface Management create new XenAppService Site -> this will create PNAgent

7. Donwloaded client plug-in 12 for windows 64 bits

8. Manualy set up script folder  http://support.citrix.com/article/CTX125107

9. Changed the pool for Script (CtxScriptPool) to enable to run 32bit applications http://forums.citrix.com/thread.jspa?messageID=1531112

10. Citrix plug-in client (finally) works

11. Changed the pool for Script (CtxAdminPool) to enable to run 32bit applications (WI now works too  used the standard port 80)


WordPress 2010 auto-review of this blog

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Fresher than ever.

Crunchy numbers

 

The average container ship can carry about 4,500 containers. This blog was viewed about 15,000 times in 2010. If each view were a shipping container, your blog would have filled about 3 fully loaded ships.

In 2010, there were 12 new posts, growing the total archive of this blog to 85 posts.

The busiest day of the year was November 17th with 117 views. The most popular post that day was Overlay WMS on Google in OpenLayers.

Where did they come from?

The top referring sites in 2010 were sumbera.com, mapshake.cz, en.wordpress.com, ikatastr.cz, and youtube.com.

Some visitors came searching, mostly for iphone wms, wms iphone, sessionviewsize, iphone gps bluetooth, and powerpoint carousel.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Overlay WMS on Google in OpenLayers February 2010
2 comments

2

iPhone and HOLUX1200 GPS bluetooth with Navigon October 2009
2 comments

3

Comparing iPhone GPS November 2009
4 comments

4

Overlay WMS on Google in Silverlight Bing February 2010
6 comments and 1 Like on WordPress.com,

5

Apple-like image carousel for Microsoft Power Point September 2009
1 comment


Whatevermap engine v iKatastru

iKatastr pro iPad/iPhone je poháněn Whatevermap enginem, ten toho dokaze vic, nez  se na prvni pohled zda. Jirka Kaminek predvedl ‘kouzlo’ s Mapy.cz  http://mapserver.mendelu.cz/wordpress/?p=204 bezici v aplikaci iKatastr !

 


iKatastr ranks

 

iKatastr HD is reaching 1 month of #1 in Navigation category in Czech Republic store : http://www.appannie.com/ikatastr-hd/ranking/history/#store_id=143489

iKatastr is following:

http://www.appannie.com/ikatastr/ranking/history/#store_id=143489

both have been featured in “What is Hot” in Czech Republic store.

Jiri Kaminek will reveal more statistics details of iKatastr application as part of his upcoming PhD thesis.


Android vs iPhone development

this is interesting comparison of OS versions runing on Android and iOS and ‘developer friendly environments’ from the SDK perspective:
“The number of devices per OS is a great marketing number for Google and Apple to fight over but as a developer—who wants to get the most out of the SDK—I care about the version of the OS on the devices. If I want to use the latest and greatest SDK’s I’ll take Apple’s 80% of 21% over Google’s 30% of 28%.”

http://jeffreysambells.com/posts/2010/05/20/android-vs-iphone-development-decisions

“The iPhone has another big advantage and it solves the problem of distribution as I alluded to earlier. iPhone users use iTunes to sync their devices and add content. The process of syncing the device also checks for updates and allows all iPhone OS devices (iPhones, iPod Touches, iPads) to download the latests version of the OS. As a result the March 2010 iPhone Platform Versions stats look very developer friendly”

“More than 50% of the Android install base is still using version 1.6 or less. As a developer what should I do? If I choose to take advantage of the latest and greatest SDK I get less than half of the devices! But still, the bigger problem is there is no clear and easy upgrade path for those bottom 50% to get the newer OS version”


SVG map sample and Canavas in OpenLayers

SVG map sample : http://cartagen.org/

Canvas map sample : http://trac.osgeo.org/openlayers/wiki/Future/OpenLayersAndHTML5

Thesis on Canvas and Open Layers (August 2010)  ”Evaluation of HTML5 for its Use in the Web Mapping Client OpenLayers” : http://erwin-sauerwein.de/tobias/Tobias%20Sauerwein%20-%20Evaluation%20of%20HTML5%20for%20its%20Use%20in%20the%20Web%20Mapping%20Client%20OpenLayers.pdf

OpenLayers with Canavas  (partialy deprecated) http://trac.osgeo.org/openlayers/wiki/Future/OpenLayersWithCanvas

SVG vs Canvas comparison by Jeffrey Warren from : http://unterbahn.com/2009/08/svg-vs/

“Well, SVG doesn’t scale well to large numbers of objects, but Canvas doesn’t
scale well to large screens”

“SVG performance degrades quickly (exponentially on Safari?) in the number of
objects, but Canvas performance remains at a near-constant low. This makes
sense, since Canvas is just a bitmap buffer, while SVG has to maintain
additional references to each object that it renders. Also, though not pictured,
note that performance in clearing an SVG element also decreases in the number of
drawn objects.”

[UPDATE] PDC2010 video by Patrick Dengler : http://videoaz.microsoftpdc.com/vod/downloads/vod/CD53_PatrickDengler/CD53_PatrickDengler_PDC_WMV_High_1280x720_2500k.wmv

 


WMS overlay on Bing Maps vs. DeepEarth on WP7

2 comparisions videos of runing Bing maps and DeepEarth with tiled WMS overlay.

BING MAPS:

DEEP EARTH:


OpenLayers or GoogleMap v3 for mobile web app ?

I have experimented with OpenLayers 2.9 using touch.js extension for capturing touch events from iPhone/iPad. Although stripped down version of OL is about 184KB, the performance is very bad. If you have iPhone/iPad check this experiment: http://www.sumbera.com/lab/iphone/katastr.htm (note it will not work from desktop browser)

 OL team is working on v3 of OL to be more lighter, faster even for mobile devices, see here: http://trac.osgeo.org/openlayers/wiki/three  or here : http://openlayers.org/blog/2010/06/30/openlayers-3-on-github/

 Meanwhile I have tested new GoogleMaps v3 how it works on iPhone/iPad. despite few problems (stability, problems with cached tiles or disconnected JavaScirpt  to load new tiles -iPad)  it works pretty well . Check yourself this page from your mobile touch device (iPhone.iPad,Android): http://www.ikatastr.cz/iKatastrM.htm

Conclusion : Google Maps v3 wins on mobile over the Openlayers 2.9

 

[2011 September] UPDATE : new Openlayers 2.11 works quite well on iPad/iPhone.


Tiled WMS overlay in Windows Phone 7

  This post [http://blog.sumbera.com/2010/02/25/overlay-wms-on- google-in-silverlight-bing/ ] talked about how to overlay over the Bing maps Silverlight control Google tiles  and tiled WMS. It was quite easy to port this web sample into the Windows Phone 7 emulator. I took a smaple code from Training kit called “Ex1-TheBingMapControl” and extend it with the 2 classes : GoogleTile and WmsTile, with slight changes to the namespace using Microsoft.Phone.Controls.Maps (original for Silverlight was  Microsoft.Maps.MapControl). Then extend MainPage.XAML with :

                    <my:MapTileLayer Opacity=”1″>
                        <my:MapTileLayer.TileSources>
                            <local:GoogleTile></local:GoogleTile>
                        </my:MapTileLayer.TileSources>
                    </my:MapTileLayer>
                    <my:MapTileLayer Opacity=”1″>
                        <my:MapTileLayer.TileSources>
                            <local:WMSTiledOverlay></local:WMSTiledOverlay>
                        </my:MapTileLayer.TileSources>
                    </my:MapTileLayer>
 
 

Extended sample code availabel for download here : http://www.sumbera.com/lab/wp7/TheBingMapControlWithWMSandGoogle.zip

 Update: I found the way calculating BoundingBox from the quadkey somehow limiting (the DeepEarth weay) since it worked only till the level 18. So here is updated class fro getting correct bounding box of the tiled WMS request in the Bing Silverlight control:

            public static double TileToWorldPosX(double tile_x, int zoom) {
                return  (float)((tile_x / Math.Pow(2.0, zoom) * 360.0) – 180.0);
            }
            public static double TileToWorldPosY( double tile_y, int zoom) {
                double n = Math.PI – ((2.0 * Math.PI * tile_y) / Math.Pow(2.0, zoom));
                return   (float)(180.0 / Math.PI * Math.Atan(Math.Sinh(n)));
            }
            public override Uri GetUri(int tilePositionX, int tilePositionY, int tileLevel) {
                int zoom = tileLevel; //SSU tileLevel would be same as zoom in Bing control
                double deltaX = 0;// 0.00135; //SSU deltaX for SLP WMS
                double deltaY = 0;// 0.00058; //SSU deltaY for SLP WMS
                double minXLon = TileToWorldPosX(tilePositionX, zoom) + deltaX;
                double minYLat = TileToWorldPosY(tilePositionY + 1, zoom) + deltaY;
                double maxXLon = TileToWorldPosX(tilePositionX + 1, zoom) + deltaX;
                double maxYLat = TileToWorldPosY(tilePositionY, zoom) + deltaY;
                string wmsUrl = string.Format(this.UriFormat, minXLon, minYLat, maxXLon, maxYLat, 256);
                return new Uri(wmsUrl);
            }
        
        }
   

 


Follow

Get every new post delivered to your Inbox.