Search This Blog

Wednesday, December 31, 2008

Yahoo Maps API Summary

Maps API site http://developer.yahoo.com/maps/

Documentation
Map Image API from Yahoo! Maps
Simple API Maps
AJAX API Maps

Examples from Zamples
somewhat Related: Silverlight based mapping control DeepEarth

Tuesday, December 30, 2008

Monday, December 29, 2008

Live Traffic widgets

From FeedJit

Creating Universial Zoom levels

Creating Universial Zoom levels to use across Google/ Yahoo / and Virutal Earth APIs

From http://code.davidjanes.com/blog/2008/11/08/switching-between-mapping-apis-and-universal-map-levels/

Table of map zoom level equivalents

Google Maps and Virtual Earth the same zoom levels, excepting that Google has a level 0. Bigger numbers are closer to the ground, smaller numbers are up into space. Yahoo Maps has fewer levels to work with - it doesn’t let you drill down below the block level. Yahoo numbers its zoom levels the opposite of Google and Virtual Earth, small numbers being closer to the ground and so on and so forth.

To allow seamless switching of data between APIs, I propose here universal zoom levels, which can be used as-is on any of these mapping APIs. To avoid confusion of which type of zoom level one is using, we use the negative number range for universal zoom levels. As Google and Microsoft are using the same zoom levels, I’ve decided that the universal zoom levels should simply be the inverse of their zoom levels, bounded by (-1, -19) inclusive.

Conversion Formulae

Here’s Javascript to convert between your favorite mapping API’s zoom levels and universal zoom levels. Note that all to_native functions accept positive numbers as-is.

zoom = {
google : {
to_univeral : function(native) {
return Math.min(-1, -native);
},

to_native : function(universal) {
return universal > 0 ? universal : -universal;
}
},

virtual_earth : {
to_univeral : function(native) {
return Math.min(-1, -native);
},

to_native : function(universal) {
return universal > 0 ? universal : -universal;
}
},

yahoo : {
to_univeral : function(native) {
return Math.min(-1, native - 18);
},

to_native : function(universal) {
return universal > 0 ? universal : Math.max(universal + 18, 1);
}
}
};


End Notes

A truly universal zoom level would just use altitude; dealing with a simple integer is easier and less complication prone though. MapQuest is not included in this post as its tiles do not line up with the other APIs.

Google Maps URL basics

Documentation for Google Maps URL (not requiring API).
Google Map Parameters

Mapping APIs

Some interesting Mapping API found on stack Overflow

Geonames
The GeoNames geographical database is available for download free of charge under a creative commons attribution license. It contains over eight million geographical names and consists of 6.5 million unique features whereof 2.2 million populated places and 1.8 million alternate names. All features are categorized into one out of nine feature classes and further subcategorized into one out of 645 feature codes. (more statistics ...).
The data is accessible free of charge through a number of webservices and a daily database export. GeoNames is already serving up to over 11 million web service requests per day.

WCF example from CodeProject: GeoNames .NET WCF Client

Topocoding

This service is an extension of existing mapping APIs in Javascript. It serves for querying the altitude information
and other topological information about places on the Earth.

The topo data is a combination of SRTM and GTOPO30, its typical horizontal resolution is about 90 meters. The data includes all continents but Antarctica.

Currently the service is in the beta stage of testing, the throughput of the shared server might be limited.
For business users, we offer paid servers with dedicated capacity.

EarthTools.org

Here's a collection of webservices for finding out geographical-related information. There are currently three services available for finding the time zone or local time, the sunrise and sunset times, and the elevation/height above sea level at a given latitude and longitude.

Wednesday, December 24, 2008

LeoCad 3rd party libraries

http://www.dxtre3d.com/temp/3dsftk.zip
http://www.imagemagick.org/download/delegates/libjpeg-6b.zip

On my skydrive


Use these specific versions. Ziplib 1.1.4 is needed not 1.2.3+

Tuesday, December 16, 2008

Setup SVN server the easy way!

Cool VisualSVN
http://www.visualsvn.com/server/

Also
RapidSVN - You can use RapidSVN on a memory stick as a graphical SVN client.
http://rapidsvn.tigris.org/

Very cool stuff

Monday, December 8, 2008

Ho Ho Cake Goodness



Photographic evidence of what Brian missed last Friday at work.
Posted by Picasa

Installing Esker API Components

For Esker DeliveryWare Platform version 3.5
CD 1
  • Select Server components
  • Select Esker API Components
You will need an IP address for Installed instance of Esker Server 3.5
This is only required for a development or client machine where Esker DeliveryWare platform server is not installed.

Saturday, December 6, 2008

Use SkyDrive to add live app updates

UPDATE: 5/6/2009
SKyDrive now changes URLs to files several times a day.
I altered my design by fetching the URL of the folder containing my update file and then parsing out the file URL from there. Bit more work but I can still host updates from a Skydrive folder.


Microsoft is offering large amt of disk space with an Windows Live acount (25 GB) where you can host files or any type for in private, shared or public folders.
Uploaded files get a GUID like URL. It you re-load the file it will get a new URL! This caused me abit of grief trying to implement an live update feature in my Digital Rockhound's companion application. To solve this problem, I decided to add meta content name value pairs for current version of the application and the URL path where the update is located on SkyDrive. My application simplies downloads a specific blog entry, reads the version and path from the meta conent and then determines if the user has the latest version. A bonus of this method, is with site tracking, I can tell how many users are updating the software and when. Nice to have these stats.

As of 12/06/2008 Microsoft has not published documentation for SkyDrive API. I hope they do so soon. (Lets see how SkyDrive API searches this blog entry generates...)

Wednesday, December 3, 2008

Even through I got crystal 9 and VSS 2003 work

Crystal Reports still sucks

Change Where statment for report

Right-click on report designer
>>select reports menu
>>>> Selection Formula
>>>>>>Row

In designer type of select criteria

Add new table to report schema

use Database Export, browse to new table and click move to right
Click links table and correct table for new table

Changing cached database name in Report

In VSS.net 2003 with a crystal 9 report open.
Use Field explorer, expand to a table, right-click and select Set Datasource location

Crystal Reports sucks

For VSS.NET 2003 and crystal 9
You must apply SP1, SP2, SP3 to fix a host of issues including table alias not handled properly when crystal renders its internal report query.

Also: If table schema has changed for an existing report, connect to database with current schema and use database expert to sync cached schema in report to actual schema.

Why anyone stills uses this product is beyond me? At least editor ingration into VSS.NET makes it 2% less painful.

Crystal 9 will connect to SQL Server 2008 database.