Archive

Author Archive

Relation between MKMapRect and Spherical Mercator Resolution

January 25, 2012 Leave a comment

MKMapRect projected coordinate system used in iOS MapKit  is not the same as Spherical Mercator used by Google, Bing and others. However there is a close linear relationship of the resolution in official spherical mercator and scale used by MapKit and that is   0.149291.

this number is constant for this relation :spherical mercator resolution (e.g. used by OpenLayers)  * zoomscale (used in MapKit)

spherical mercator resolution calculated as : spherical mercator width / view width

zoomscale in MapKit is calculated as : view width / mkMapRect.size.width

that is : spherical mercator width / mkMapRect.size.width = 0.149291  always.

So now any resolution from Spherical Mercator can be directly mapped into the MapKit internal coordinate system (mkMapRect) and vice versa without heavy calculations from mkMapRect to WGS84 and then to Spherical Mercator.

more about projection used in MapKit can be found here : LocationAwarenessPG

Categories: iPhone, MapKit, Objective-C

How to disable base Google Maps in MapKit

September 18, 2011 Leave a comment

I have searched this and couldn’t find any answer, so here is my own research so far on this subject. You can disable MapKit base layers using 3 approaches:

#1 remove subview from MKMapView (quite bad as you will loose all overlays too)

#2 use undocumented function (bad too as this will be rejected by Apple approval process):

// get MKMapTileView from view hierarchy

UIView * mkMapTileView = [((UIView*) [ ((UIView*)[self.subviews objectAtIndex:0]).

subviews objectAtIndex:0]).subviews objectAtIndex:0];

// call undocumented method

if ( [mkMapTileView respondsToSelector:@selector(setDrawingEnabled:)]){

[mkMapTileView performSelector:@selector(setDrawingEnabled:) withObject:(id) NO];

#3 use method swizzle

inspired by http://www.mikeash.com/pyblog/friday-qa-2010-01-29-method-replacement-for-fun-and-profit.html

http://atastypixel.com/blog/making-uitoolbar-and-uinavigationbars-background-totally-transparent/

this method is fine as it is official method and enables you to ‘subclass’ a class that you don’t have access in compile time.

#import <objc/runtime.h>

// original method declaration

static void (*_origDrawLayerInContext)(id, SEL, CALayer*, CGContextRef);

// set up subclass in runtime..in some entering method

UIView * mkMapTileView = [((UIView*) [ ((UIView*)[self.subviews objectAtIndex:0]). subviews objectAtIndex:0]).subviews objectAtIndex:0];

Method  origMethod = class_getInstanceMethod([mkMapTileView class], @selector(drawLayer:inContext:));

_origDrawLayerInContext = (void *)method_getImplementation(origMethod);

if(!class_addMethod([mkMapTileView class], @selector(drawLayer:inContext:), (IMP)OverrideDrawLayerInContext, method_getTypeEncoding(origMethod)))

method_setImplementation(origMethod, (IMP)OverrideDrawLayerInContext);

// implement our Override

static void OverrideDrawLayerInContext(UIView *self, SEL _cmd, CALayer *layer, CGContextRef context) {

// possibly call original method if you leave it empty base google maps will not be displayed. You can draw custom content here as well…

//  _origDrawLayerInContext(self, _cmd, layer, context);

}

iKatastr awarded in Mobile Application of the 2011 challange in Czech

June 4, 2011 Leave a comment

 

This is a great unexpected surprise as judging panel of the Mobile Application of the 2011 year in Czech selected iKatastr. This is a great satisfaction as unlike previous idea “MapShake” that has been realized on www.mapshake.cz  generated no attraction, iKatastr is complete opposite. With MapShake, however, I have realized something important - simplicity. Although MapShake.cz and  the iPhone application “WhateverMap 1.0″ released in 2009  enabled to view cadastral maps , it was not straightforward, not explicit. With Jiri Kaminek working on Whatevermap 2.0 engine in the whole year 2010 we were about to do the same mistake for iPhone – release a universal map composition app. In fall 2010, Jirka was in Sweden and was finalizing Whatevermap 2.0 with some great demos. Fortunately MapShake failure warned me just in time and we agreed to make the iKatastr as pilot of the Whatevermap 2.0 engine. The idea was simple - let’s take the universal Whatevermap 2.0 engine and create single purpose map application of iOS. Jirka has done a great job. And another great thing is that Whatevermap 2.0 is working fine, is configurable remotely (all map definitions are stored on server so we can update them independently from the AppStore upgrade process) and moreover if you know how to define your own map composition – you can load into iKatastr literally whatever map :).

 

Categories: iKatastr, iPhone Tags: ,

Who is suing whom ?

March 9, 2011 Leave a comment

Skylight UI for SONAR X1 – inspiration for geospatial desktops

February 24, 2011 Leave a comment

This might be of your interest to see  how music production software solved the UI for many controls and options the user might want to control at the same (real!) time.   SONAR X1 actually haven’t brought any new functionality in this new version, just completely redesigned UI and build on top of this marketing campaign. Another fact I like is that they haven’t use all these fancy styles on windows that makes things look ‘nice’ like powerpoint but are not well readable or effective for eyes. To me it is kind of mixture of VisualStudio 2010 UI plus Office Ribbon bar plus good color scheme and additional tweaks to make it really usable.

watch the video here: http://www.youtube.com/watch?v=97LnrViar38

Categories: Uncategorized, UserInterface Tags:

Intergraph Cloud Computing white paper available

February 24, 2011 Leave a comment

Intergraph has published white paper about cloud computing http://www.intergraph.com/sgi/downloads.aspx?assetid=173

iKatastr rocks !

February 22, 2011 Leave a comment

This is somehow very encouraging

#1 iKatastr is still on top in the category Navigation in Czech app store after 4 months ! on iPhone it keeps 2nd place right after Mapy CZ provided by largest internet search in CZ Seznam.  On iPad, however, iKatastr is still 1st in category Navigation.

#2 Users of iKatastr has reported quite lot positive feedbacks, see here : http://appcomments.com/app/id396352287/iKatastr_reviews?country=143489&show=show_all_comments&sort=sort_recent&sortorder=sort_ascend&page=1

#3 IKatastr has been mentioned in Czech magazine “Mobility” 1/2011, on page 85.

 Quoted from the magazine press:

“There are just few  high quality applications in the Czech App Store. Even fewer of them are for free.
 iKatastr developed at Mendel University in Brno belongs to this narrow group with functionality that is also unique in the international comparison. “

——————-
 Jiri Kaminek (developer of the iKatastr) will reveal more statistics about usage of iKatastr in his upcoming thesis.  I can tell here just the following interesting observation : iPhone usage of iKatastr is approximately 10x higher than of the web  (www.ikatastr.cz

Categories: iKatastr, iPhone, WMS Tags:

Windows Phone 7 and WMS test

February 18, 2011 Leave a comment

   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

February 15, 2011 Leave a comment

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

January 4, 2011 Leave a comment

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

Categories: Uncategorized
Follow

Get every new post delivered to your Inbox.