Tuesday, July 31, 2007

MapJack - Street Maps - Cool stuff by a small company

Jack is the virtual tourist in San Francisco, created for MapJack. The images are only for SanFran, but the quality is very good. Another cool part of the data that these guys have is that they have gone where cars cannot go - pedestrian malls (Pier 39), museums (Alcatraz), trails (Golden Gate Park) - Very Nice. What is amazing is the fact that this seems to be a small company that has created the technology by mashing up components from RadioShack. It would be amazing if they could start selling this technology - so everyday folk could start collecting such imagery - and upload for sharing with everybody else. Maybe like Panoromia, they could provide the servers for hosting such data. I am sure this will be lucrative business model.

Binary (dll or exe) not linking to MSVCRxx.DLL and MSVCPxx.DLL

Are you having dll linkage hell. Is Dependency Walker (depends.exe) not finding the dlls linked to your module?(exe or dll). Another symptom of this problem is getting a FileNotFoundException or an HResult:0x8007007E exception - for example: Unable to load DLL 'xxxx.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) The issue of Dependency Walker not finding MSVCRxx.DLL and MSVCPxx.DLL, even though they are installed on your machine, could simply be the fact that a manifest file was not found for the binary. Check in your build output folder if one was created and copy it to the folder where your binary is - reopen Dependency Walker - and the dlls should be found. If not try reinstalling the libraries or make sure they are in the location that they are supposed to be in. (note: The issues discussed in this post are specific to binaries built against .NET 2.0 or higher and VS2005 and higher as Manifests were first introduced with .NET 2.0 and Visual Studio 2005.) One complication with the manifest file is that it could be embedded inside the binary - do the following: 1. Open the binary in Visual Studio and browse through the resources of the binary. 2. There should be a resource named RT_MANIFEST. 3. If you cannot find a resource by that name, then its not embedded. So check for an external file named binary_file_name.extension.manifest. The manifest of an exe or dll is used to manage the names and versions of shared side-by-side assemblies to which the application should bind at run time (the MSVCRxx.DLL and MSVCPxx.DLL are CRT libraries found in the WinSxS folder). Microsoft recommends that the manifest be embedded into your binary, that way if you forget to deploy the manifest file - this issue will not occur. View this page to find out how to embed the manifest file: How to: Embed a Manifest Inside a C/C++ Application Learn more about manifests from this page: Understanding Manifest Generation for C/C++ Programs Manifest Generation in Visual Studio: has information regarding how VS handles manifest generation. Finally the page on Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies, has some excellent step by step tips on trying to debug DLL hell issues with C/C++ dlls. Update: What do you do if the CRT dlls (msvcr80.dll, msvcm80.dll, etc) are not on your machine: http://therajahs.blogspot.com/2007/08/vcredistexe-msvcr80dll-msvcm80dll.html

Monday, July 30, 2007

VLS Users Conference 2007

VLS Users Conference 2007: "VLS Users Conference has been postponed" Our conference has been postponed to Spring 2008 - so that it can be bigger shindig, involving all the other companies that we have become a part off.

Sunday, July 29, 2007

When Virtual Earth gets it and Google Maps does not

When looking up a location on a map I always goto Google Maps first. This is not because its the best but because I have been using it for so long that its become a habit (you just Google it).
But off late I have been noticing that the search results in Virtual Earth are almost always a lot more superior to those returned by Google Earth. Virtual Earth seems to be context senstive and returns results that are more specific on the other hand Google Earth returns a bunch of results - which is not a bad thing on its own - but the one you are looking for is not at the top.
Case in point: Recently I was looking for where Sloan's Lake is in Denver. For the same phrase "Sloan's Lake, Denver" I got the following 2 results - now you decide.
Google Earth Virtual Earth
Google Earth returned many results (Sloan's lake liquor anyone?) and C is the correct answer.
Virtual Earth returned exactly one result, which was on the lake - To me VE is clearly the winner.
What do you think?

Want to know more about binoculars?

Recently I was out shopping for a pair of binoculars...... and I had no idea what the 2 sets of numbers mean (8x42, etc.) Found Dr. Binoculars lesson - they are short and tell you the basics quickly. http://www.binoculars.org/drbinoculars/lessons.html In case you want to know quickly: the first number is the magnification power and the second number is the size of the objective lens.
So in 8x42: 8: Is the magnification power - which means while looking at objects through the binoculars, everything will look 8 times as close as when looking with the naked eye. 42: Is the size of the lens in the front of the binoculars. The bigger these are more light enters the instrument and makes for a brighter scene, but also makes for bigger binoculars. Also: an 8x20 and a 8x42 binocular both have the same magnification. Only one is bigger (the one with 42) and makes for a brighter scene.
Below: A 10x20 binocular (left) and a 10x50 binocular (right)

Saturday, July 28, 2007

Why is the mercator projetcion used by Virtual Earth and Google Earth?

Ever wondered why they use the Mercator projection in Virtual Earth and Google Earth? Simple - its so that when we drive around and are looking at a map - North is up, South is directly below and East and West are directly opposite to each other and perpendicular to North South. (This is because the mercator projection is a cylinderical projection - the directions would be all messed up if it were a conical projection). In 2, observe that the meridians and parallels are equidistance, straight lines, with the two sets crossing at right angles, this is what makes north up and south down,...... Though the areas are all off. Which brings to the other important reason that this projection is used: Even though at global levels the areas are off, at local scales the shapes are preserved. So while vieweing objects in aerial imagery - the objects look like they should and not distorted (so square looks square and not rectangular or circles look like circles and not ovals).

More on what projections and datums are used in Google Earth and Virtual Earth

For all the discussions about the map projections used in these online mapping systems, I hadn't found any documentation on the MSDN site or the Google API site. I finally found a few documents on both sites that confirm the fact that they both use the Spherical form of the Mercator projection and that latitude and longitude values are assumed to be in a WGS 84 based datum. Virtual Earth. In this document about the Virtual Earth Tile System, there is a ton of information regarding the projections, datums and calculations used in VE map system. (Latitude and Longitude values are assumed to be in the WGS84 datum.) Google Earth. In A Note About Projections and Datums, the GE team confirm that the spherical mercator projection is used. (which is also called "Lat/Lon WGS84" projection) In What is a Datum?, they confirm that the WGS 84 datum is used. The above information is all collated into the following document "Importing your data into Google Earth"

Friday, July 27, 2007

The Microsoft Live Maps and Google Maps projection

Ah! I must have caused confusions with my last post "Which projection to use...". There is a new post on SharpGIS that specifically writes about which coordinate systems should be used when working with vector/path coordinates and which one should be used when working with images (like creating overlays) - in hopes of clearing up this confusion. Obviously I was confused as to why the Mercator projection was not working when I tried converting my coordinates to KML. After all in Morten's post, he writes that GoogleEarth and VirtualEarth use the mercator projection. When I converted my UTM coordinates to the coordinate system provided on Morten's post - I got values way outside Lat/Long ranges. From testing I found that the WGS_84 based GeogCS worked in converting my data-set, so I declared "In ArcGIS one should use this CS to output vector coordinates"! - Well that is only partially true! The full truth - no matter which GIS app you are using - if you are converting coordinates of paths, polygons, etc. (vectors) - then you should convert to the geographic coordinate system based on WGS84. This is defined by the WKT string: GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]] The mapping app will internally convert the geographic coordinates to the correct coordinate system, which is the Spherical Mercator projection based CS. If instead you need to create an image overlay - then you use Morten's Spherical Mercator Coordinate System which is defined by the WKTString: PROJCS["Mercator Spheric", GEOGCS["WGS84based_GCS", DATUM"WGS84based_Datum",SPHEROID["WGS84based_Sphere", 6378137, 0], TOWGS84[0, 0, 0, 0, 0, 0, 0]], PRIMEM["Greenwich", 0, AUTHORITY["EPSG", "8901"]], UNIT["degree", 0.0174532925199433, AUTHORITY["EPSG", "9102"]], AXIS["E", EAST], AXIS["N", NORTH]], PROJECTION ["Mercator"], PARAMETER["False_Easting", 0], PARAMETER["False_Northing", 0], PARAMETER["Central_Meridian", 0], PARAMETER["Latitude_of_origin", 0], UNIT["metre", 1, AUTHORITY["EPSG", "9001"]], AXIS["East", EAST], AXIS["North", NORTH]] The difference in handling vectors and rasters differently probably has to do with the computational requirements for projecting rasters on the fly - which is a lot more intensive than just projecting individual coordinates provided as parts of paths or polygons or points.

A good book on GIS Map Projections

John Snyder's 1987 book "Map Projections - A Working Manual" is available in PDF fromat from the USGS website. http://onlinepubs.er.usgs.gov/djvu/PP/PP_1395.pdf

ESRI's help pages: "An overview of map projections"

From ESRI's help pages: "An overview of map projections" (http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=An_overview_of_map_projections) Also of particular interest - How ArcGIS decides on the coordinate system to apply when a data-set without a spatial reference is added : http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Identifying_an_unknown_coordinate_system Also remember A Geographic Coordinate System (GCS) has a 1. Spheroid (also called an ellipsoid) - that approximates the shape of the earth 2. A datum - that defines the placement of the spheroid relative to the earth. (there are 2 types of datums - GeoCentric and Local and these differ in the placement of the datum - Local places it such that the ellipsoid moves as closely to a local area, whereas geocentric places close to the center of the Earth). A Projected Coordinate System (PCS) has 1. A Geographic Coordinate System (which in turn has a spheroid and a datum) 2. Projection parameters - which defines how the GCS coordinates are transformed from and to the projected coordinate system. Although people use Spatial Reference and Coordinate Systems interchangeably, typically when one talks about a Spatial Reference it not only includes a coordinate system, but also * The precision with which coordinates are stored * and the spatial extent covered by the dataset So, to come to one of the comments in one of my previous posts and a common mistake (that even I made) is to use the term - geographic projection, which is in-correct. Usually the correct term to use in this case is "Geographic Coordinate System" - coordinate systems can either be geographic or projected (not both!). Though you do have the term "Geographic Transformation"! - which simply is a datum transformation and allows you to move between one datum and another.

DVD image mounting / DVD drive emulation software - Free

Recently I downloaded the image for the VS2008 beta2 bits. The file was of the img format - obviously a DVD image. I have an older version of Nero - which would not recognize the .img extension. So I started searching for some free DVD image mounting software (though Nero has one too). Here is the list that I came up with. (Anyways if you change the .img extension to .iso - Nero recognizes the file and burns it too! Also if you have DVDDecrypter or ImgBurn - both of them can write the img file to a DVD) Here is the List of free DVD drive emulation / DVD image mounting software: CloneDriveFreeware, no spyware or ad-ware http://www.elby.ch/fun/software/index.html Works in VISTA and XP (does not work on Windows Vista 64 bit edition) Microsoft Virtual CD ControlPanel http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe Freeware, from Microsoft - so its safe - no spyware or adware. Not the easiest interface to work with. Works in XP but not in Vista. Unsupported tool (is'nt all freeware?) some more info on the tool: http://www.tech-recipes.com/rx/620/xp_small_free_way_to_use_and_mount_images_iso_files_without_burning_them Daemon Tools http://www.daemon-tools.cc/dtcc/download.php?mode=ViewCategory&catid=5 This used to be my favorite free tool for mounting DVD images. Unfortunately the free version now comes with ad-ware that gets thrown into your browser. And I am not sure if it has spyware or not. Though the old 3.47 version does not have ad-ware and can be got at: http://www.disc-tools.com/download/daemon347 Only the latest version works in Vista (all versions work in XP) Oh and as far as paid tools go - I like Nero, though Roxio has a mounting app too. And if what you want a DVD image mounting/emulator app is only to play DVD movies, then you can use the Video LAN player, which can play DVD images without any extra software.

Thursday, July 26, 2007

101 LINQ Samples

101 LINQ Samples Also VS2008 is out http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx I am contemplating installing it on my machine..... lets see.....

Which projection to use when converting shapes/vectors to GoogleEarth in ArcGIS?

Which projection to use when converting shapes/vectors to GoogleEarth in ArcGIS? This was a question that I had recently while making a tool that would convert vectors from ArcGIS files to KML representation. If you read Spatial references, coordinate systems, projections, datums, ellipsoids – confusing? (SharpGIS, Morton), you will see that all of these online GIS apps use a Spherical Mercator projection. (Typically Mercator projections have a small amount of flatenning applied, in these online app's cases its a perfectly spherical spheroid!). If you read the following 3 articles, you will also find that they reflect the fact that these apps use a Spherical Mercator projection. Well based on this information I tried using a spherical Mercator projection as the destination spatial reference while converting the data-sets that I had. Unfortunately this just would not work. At first I first tried the spatial reference WKT string from Morton's site PROJCS["Mercator Spheric", GEOGCS["WGS84based_GCS", DATUM"WGS84based_Datum", SPHEROID["WGS84based_Sphere", 6378137, 0], TOWGS84[0, 0, 0, 0, 0, 0, 0]], PRIMEM["Greenwich", 0, AUTHORITY["EPSG", "8901"]], UNIT["degree", 0.0174532925199433, AUTHORITY["EPSG", "9102"]], AXIS["E", EAST], AXIS["N", NORTH]], PROJECTION ["Mercator"], PARAMETER["False_Easting", 0], PARAMETER["False_Northing", 0], PARAMETER["Central_Meridian", 0], PARAMETER["Latitude_of_origin", 0], UNIT["metre", 1, AUTHORITY["EPSG", "9001"]], AXIS["East", EAST], AXIS["North", NORTH]] This did not work. Outputting values that were outside the valid range of lat and long values. Then I tried the Mercator-Global projection that is a pre-defined projection in ArcMap. That output values similar to Morton's Spherical Mercator projection. (So it doesnt look like the ToWGS84 does anything in ArcGIS). The WKTString for Mercator-Global projection (this has been modified to be a spherical mercator). PROJCS["Spherical_Mercator",GEOGCS["GCS_WGS_1984_Based",DATUM["D_WGS_1984_Based",SPHEROID["WGS_1984_Based",6378137,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Standard_Parallel_1",0],UNIT["Meter",1]] So I tried the basic Geographic Coordinate System defined for WGS 1984 GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]] This worked!!! So in short the destination coordinate system should be the WGS 1984 geographic coordinate system when you are attempting to convert coordinates for output to GoogleEarth, Virtual Earth or Yahoo Maps. I am not sure why the Spherical Mercator projections as destination did not work, so if anyone knows do leave a comment. The weird thing was that the converted coordinates were way out of the legal range of lattitude and longitude values. (ok this is duh! on my part - See comment by SharpGIS)

A quick discussion about Coordinate systems

Here is an excellent intro to coordinate systems from SharpGIS http://www.sharpgis.net/2007/05/05/SpatialReferencesCoordinateSystemsProjectionsDatumsEllipsoidsConfusing.aspx

Projection differences between GDAL/OGR and ESRI's ArcGIS

Recently while working with some translation code ArcGIS was throwing a COM exception for some of the WKT strings I was creating using OGR. These WKTs were being created from EPSG codes and ArcGIS would simply throw a COM exception with no information about what was going on. After a little research I found that the problem was in the difference in names of projections that the 2 APIs used. So here is what I found: (from http://geotools.codehaus.org/Coordinate+Transformation+Parameters)
OGRESRI
Mercator_1SP Mercator_2SPMercator
Lambert_Conformal_Conic_1SP and Lambert_Conformal_Conic_2SPLambert_Conformal_Conic
Albers_Conic_Equal_AreaAlbers
The distinction is based on the values of the "standard_parallel_1" and "standard_parallel_2" parameters.

Saturday, July 21, 2007

First Rule of Software Development

According to Scott Hanselman the First Rule of Software Development: Never commit code just before you leave for the day. I agree!

OpenStreetMap

OpenStreetMap This is a wonderful project that gets normal people mapping roads across the world. Cities in America and Europe have extremely good quality road network data. Unfortunately there are many cities where such information - that is GPS driving directions quality - just does not exist (the whole of India comes to mind). OpenStreetMap is a project aimed squarely at creating and providing free geographic data such as street maps to anyone who wants them. The project was started because most maps you think of as free actually have legal or technical restrictions on their use, holding back people from using them in creative, productive or unexpected ways. - wiki.openstreetmap.org People can organize mapping parties to map out a certain region - see WikiProject Isle of Man (http://wiki.openstreetmap.org/index.php/WikiProject_Isle_of_Man#Mapping_Party) - which I think is a wonderful idea. The 5 steps to making a map Collect Data Upload Data Generate/Edit OSM data Label Data, and Add details Render Maps!

Thursday, July 19, 2007

World Wind Licensing Explained

Licensing Explained: From The Horses Mouth: Patrick Hogan - the project manager for WorldWind explains the licensing of the source code of WorldWind. Basically - you can use WorldWind in any application you wish - and release that application as a commercial patented app. The only requirement is that changes that you make to the core WorldWind code - should remain open source and free.

Monday, July 16, 2007

If i were a Simpson

If I were a Simpson, my name would be the Simpson Rajah and this is how I would look! Get your avatar at http://www.simpsonsmovie.com/main.html

Sunday, July 15, 2007

3D maps lack precision in google earth and virtual earth

In a recent post by Mathew Hurst, he wrote about how there is a lack of precision vertically in the 3D Earth models (http://datamining.typepad.com/data_mining/2007/07/niagra.html). There is a reason for this. Most of the elevation data is sourced from point clouds that were either generated by a scanner aboard the Space Shutter (Shuttle Radar Topography Mission or SRTM) or by a laser scanner aboard a plane (LIDAR). Typically, most of the data is from SRTM and so the points are spaced far apart on the ground. These points are then converted to a digital elevation model via a process of interpolation. So consider what would happen along cliffs.... One point would be on the higher side and the other on the lower side. Interpolation algorithms dont know that there is a cliff - so they generate a smooth surface from the high side to the low side. In the above images (shown on Michael Hurst's site) - the bottom image is from Virtual Earth and appears sloping because of this problem caused by interpolation. In the field of GIS (the side where such errors might not be acceptable), analysts introduce break lines to the interpolator. Points on one side of the interpolator do not influence points on the other side - thereby mainitaining a nice cliff. In Michael's post - he also shows another screen shot of the Niagra falls, where the falls appear nice and vertical. Such an effect could have been achieved manually, or by the use of break lines - as described above, or terrestrial LIDAR scanner could have been used to get a much more denser point cloud to accurately model the waterfalls. As automated techniques are developed to generate break lines, as well as higher resolution elevation data is obtained for the world - more of the Earth will begin to look photo-realistic in these 3D environments. (Many government organizations have such data already for their states/counties - and I think that they might start providing their data - or even start creating such models - for use in common 3D GIS platforms such as Google Earth and Virtual Earth

Saturday, July 14, 2007

How Software is Built: NASA World Wind

I have been a fan of WorldWind since the day it was released - way back when. UnfortunatelyI have never had the time to contribute to this open source project. (Hopefully that will change in the future). So when I found this link to a web interview with Patrick Hogan, the program manager for WorldWind, I had to read it..... you can too at: http://howsoftwareisbuilt.com/2007/07/14/patrick-hogan/ What I have admired about WorldWind is that: 1. When it was first released - it was way ahead of the pack (Google Earth and Virtual Earth werent even on the horizon). 2. Its been trully open source - Most of what the development/plugins you are seeing now - was developed by developers contributing to this project from outside NASA. 3. Any company can leverage WorldWind - and create a brand new product - and sell it - without having to release any of their code - this is the beauty of the NASA open source license. This too is amazing - because WorldWind is a infrastructure product - so keeping it on a non-restrictive license - allows for companies/people to leverage this product to come up with innovative new products - that might provide NASA with cool new ways to look at their data. This I believe should be the true mantra of all open source projects: Allow the implementers to decide if their extensions should be part of the open source community or proprietry technology. The benefits of leaving it open-source - is that your code becomes part of the project - so future releases will support it. But if you choose to keep it proprietry - then you might have major issues trying reconcille changes as and when newer versions come out. This I think is true of atleast "infrastructure" projects such as WorldWind or OpenSceneGraph. 4. In the face of competition from the BigGuys (MS and Goog), WorldWind is still cool - and I still turn to it - for new ideas in visualizing old GIS data. 5. Finally - its written in C# - shows what can be done with .NET and Managed DirectX.

Friday, July 13, 2007

Kraftwerk "The Man Machine"

YouTube - Kraftwerk "The Man Machine": "Kraftwerk 'The Man Machine'" First heard this music when I must have been in my fifth grade - Ah! the memories it brings back.... This video - Robots - is another of the cool sounding tracks from that album

YouTube - Global Concepts in Maps (Highlights) - 1947

Global Concepts in Maps - 1947 is an instructional video that tries to explain projections in geography.

Thursday, July 12, 2007

Extract high quality MapPoint images using VB.NET - Program - .Net

Extract high quality MapPoint images using VB.NET - Program - .Net - Builder AU: This article talks about capturing high quality maps from MapPoint - apparently something thats not supported directly by MapPoint. The reason I link to this page is that it has some cool techniques that could be useful elsewhere. To capture the image - the author prints to MODI - Microsoft Office Document Imaging, which he then in turn controls to output a TIFF image. Also shown are techniques of formating the imaging and saving it to a format other than TIFF.

Testing blogger in draft

Well this is my first post via the new mode (currently in draft). As you can see I have added the search this blog to the left - which allows you to search just my blog as well as those pages that I have linked to in the past in my posts. Check out what other features are coming at http://bloggerindraft.blogspot.com/

Wednesday, July 11, 2007

The GapMinder - Hans Rosling

I recently came across this video on TED of a presentation that Dr. Hans Rosling gave on world statistics. This video is a must watch - not just for the information presented - but also the entertaining format in which Hans Rosling delivers it. It is by far one of the best talks I have seen. Incidentally - a few days after this talk was presented at TED - the company GapMinder (which created the software tool TrendAnalyzer) was bought by Google. I can only wonder what Google has in mind for this tool. If the video is not viewable - check out the following page: http://www.ted.com/talks/view/id/140

Test Run: Stress Testing.

Test Run: Stress Testing. -- MSDN Magazine, May 2006 This article discusses a program that allows you to stress test an application by running a secondary app that eats up memory on that machine. The code presented shows how to get system memory information using PInvoke. In addition it also has code that shows you how to colorize code being sent to the console.

Determining the amount of memory available on a system in C#

From what I could tell, I could not find any native .NET class that could return the total amount of memory thats available on a system. But one can use PInvoke to get at this information. Here is the sample
public struct MEMORYSTATUS
{
    public  uint dwLength;
    public  uint dwMemoryLoad;
    public  uint dwTotalPhys;
    public  uint dwAvailPhys;
    public  uint dwTotalPageFile;
    public  uint dwAvailPageFile;
    public  uint dwTotalVirtual;
    public  uint dwAvailVirtual;
}
public struct SYSTEM_INFO
{
    public  uint  dwOemId;
    public  uint  dwPageSize;
    public  uint  lpMinimumApplicationAddress;
    public    uint  lpMaximumApplicationAddress;
    public  uint  dwActiveProcessorMask;
    public  uint  dwNumberOfProcessors;
    public  uint  dwProcessorType;
    public  uint  dwAllocationGranularity;
    public  uint  dwProcessorLevel;
    public  uint  dwProcessorRevision;       
}
[DllImport("kernel32.dll")]
extern static void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);

[DllImport("kernel32.dll")]
extern static void GetSystemInfo(ref SYSTEM_INFO lpSystemInfo);

Photosynth at TED Conference

Photosynth at TED Conference This is an excellent video of a PhotoSynth demo by Microsoft at a TED conference. It talks about Photosynth, the technology behind it, as well as the future that this type of technology enables. I would really like to see this technology being used in image searches (where currently images are returned based only on the context within a web-page - this technology allows you to determine closeness of images based on the image content itself). If the video doesnt load - check it out at http://blog.ted.com/2007/05/three_powerful.php

Thursday, July 05, 2007

Maps.Live now has hill-shaded road maps

With the latest release of Virtual Earth (maps.live.com), the road maps has been enhanced with hill-shaded images. Makes the maps look extremely snazzy.
With almost every new release of VE, MS seems to be closing the gap between their mapping product and Googles. Especially when it comes to local business searches - often times the results seem more relevant and up-todate in Virtual Earth. At one point Google Maps was the only mapping tool I used for day-to-day work. Now, increasingly I see myself split between the 2 products.

Examining the distortion of map projections

Here is a great article that examines the effects of different projection systems. Examining the distortion of map projections: "Tissot Indicatrix - Examining the distortion of map projections" (from PerryGeo)

The Ten Commandments of Business (Community) Leadership

"The Ten Commandments of Community Leadership" is Maury Forman’s newest book, which he co-authored with Michelle Harvey of the Association of Washington Cities. To me the ten commandments listed in the book could just as well be renamed as "The Ten Commandments of Business Leadership" - as in my opinion any business owner should attempt to run their business by. (ordering information is available at this website: http://boomtownusa.blogspot.com/2007/07/new-ten-commandments.html)
  1. Thou shalt create a vision for the future
  2. Thou shalt develop a strategic plan
  3. Thou shalt build a sustainable economy for the next generation
  4. Thou shalt seek public/private partnerships
  5. Thou shalt invest in education and training
  6. Thou shalt promote respect
  7. Thou shalt demonstrate a high standard of ethical behavior
  8. Thou shalt value history, art and culture
  9. Thou shalt prepare for a global environment
  10. Thou shalt develop future leaders

Wednesday, July 04, 2007

How Google Earth [Really] Works

RealityPrime » How Google Earth [Really] Works: This article was written by one of the developers on the original KeyHole team and goes into some very technical details of how the 3D displaying of 2Dmaps occurs within Google Earth. An interesting read that goes into things like aliasing, anti-aliasing, texture mapping filtering, etc....

Sunday, July 01, 2007

iPhones taken apart

Its under two days since the iPhone has been out..... and already 2 guys have taken it apart. From the pics, it looks like a royal flush down the drain. Its interesting though to look at the inards of this device. http://thinksecret.com/archives/iphonetakeapart/ http://stream.ifixit.com/

Google Maps : Now directions supports dragging

In case you missed it, you can customize directions by clicking on your route and dragging the point. Very cool and very useful. From Google Maps Help: "To drag your directions: 1. Create a set of directions. 2. Click and drag any point on the purple directions line to any location of the map. Google Maps immediately re-creates the directions on both the map and left panel and creates a destination for the point you added. Note that Google Maps also updates the estimated travel time and distance. 3. To add additional destinations by repeating Step 2. 4. To remove a destination, right click on any of the markers on the route and choose Remove this destination."