Archive for the ‘network-link’ Category

Export multi-destination (or dragged) route to Google Earth

Thursday, December 27th, 2007

Love keep adding destinations to your route, or even dragging the route to refine perfectly to your needs in the directions feature on Google Maps? But frustrated that this feature isn’t available in Google Earth?

… No, not implemented this feature for Earth (wouldn’t that be something!), but as a stop gap its a way to export your newly created directions on Maps, and open them in Google Earth! You get a freshly created folder containing each section as a separate route, ready for use as ‘one.

Multi Destination routing in KML for Google Earth

Google Earth Version Stats (Dec’07)

Friday, December 14th, 2007

 Only a quick post as its late, but just noticed this report had finished generating, took rather a long time, as just found our stats package has been mangling GE’s useragent string - anyway enough rambling, I know you just want to view the stats:

 Dec 2007 :: Google Earth versions accessing links on nearby

… make of that what you will - haven’t really drawn any conclusions from this…

(last set)

MGRS fix for < 1km gratitules

Thursday, November 29th, 2007

Following the update in July for hiding the 100km numbers from the gridline labels, it seems the same fix broke the sub KM lines, thanks to a comment on the original post for letting me know.

Anyway, the online hosted version has been updated (and checked at all scales as best I can!), and the same file pushed into the downloadable zip for the offline version, so can download the latest code from the file. And just for completeness the diff.

Serving Google Earth static content with Apache

Tuesday, November 6th, 2007

This could probably be classed as technical post (gosh!), and is probably only of interest if involved in hosting content to be displayed in Google Earth or Maps etc.

I’ve been meaning to write this up for a while, basically a set of tips for setting up Apache 2.X for hosting content for Google Earth. The same tips can probably be used for other webservers but won’t begin to look at the various ways it could be configured… Also these could easily be placed in httpd.conf, but using .htaccess as the example as thats probably easier, and not all hosting providers allow access to the file. Much of the stuff here originates from YSlow, but adopted for what I know about Google Earth.

These settings assume you not going to change the content much, so is good for serving up large static content, or the ‘chrome’ for a large layer. Regally updated content is likely up be output from a script anyway so that can setup its own headers, I’ve also done quite a bit of work on getting PHP to output good headers, so will post that in a follow up post.
First and foremost is setting up the MIME type, to ensure the Google Earth is launched when a user clicks a link, so these lines are added to the .htaccess file:

AddType application/vnd.google-earth.kml+xml kml
AddType application/vnd.google-earth.kmz kmz
AddType application/xml dae

Next is the Expires header, which tells a UserAgent how long it can cache the content, we set nice future dates, which mean in the main the content will stay cached for a while, potentially saving quite a bit of bandwidth.

ExpiresActive On
ExpiresByType application/vnd.google-earth.kml+xml “access plus 30 days”
ExpiresByType application/vnd.google-earth.kmz “access plus 30 days”
ExpiresByType application/xml “access plus 30 days”
ExpiresByType image/jpeg “access plus 180 days”

I’ve included JPG here, as it’s often used with GE, esp. how with the introduction of PhotoOverlay. The same idea can of course be extended if you use png files for example.
Now Apache out of the box supports sending Last-Modified headers, which means conditional GETs can be made later, which will only return 304 Not Modified. I’ve seen suggestion to turn off Last Modifed headers (if you have far future Expires as above) - but after testing, I would NOT recommend this.

Next is Etags, now YSlow recommends disabling these in most cases, and Apache useually comes with them on, and can easily be misconfigured, esp. on clustered hosting, so they need to be turned off. I’ve dithered on this one for a while, it seems silly to disable a feature that could potentially be useful, however the clincher here is that I don’t think GE will use them, and besides we can save a few bytes be not sending them in the first place.

FileETag none

I’ve no evidence if it helps, but if you have enabled on the fly GZip compression, then you might get a small boost by turning if off. As GE doesnt support HTTP-GZip compression, and KMZ and JPG are both well compressed. The only small benefit might be if you have a KML based loader, that might get downloaded by the browser in which case it can GZip’ed. So turn it off globally in this folder, but turn it back on for KML:

AddOutputFilterByType DEFLATE application/vnd.google-earth.kml+xml

As a final tip, the following allows you to upload a index.kml file and it will be served as the index for a directory, doesn’t help performance, but useful in a few cases,

DirectoryIndex index.kml index.html index.php

Get all of the above in one file ‘ere, use or don’t use at will :)

Blue Marble NG - Google Earth (Rendered) SuperOverlays

Sunday, October 28th, 2007

Yes I know, its another way to view Blue Marble Next Generation imagery in Google Earth, but here Jonathan van Tuijl has taken the time to pre-process the full resolution 500m/pixel imagery into static files, meaning that hopefully the loading should be smother (at least when accessed from this side of the Atlantic!) and more refined as a its not relying on a server to dynamically generate the KML and images (even if it then caches it), as done here. We also hope to make available the full range of Blue Marble layers.

View the Blue Marble NG Overlays Homepage and download the Link

… doesn’t do any of the fancy fading out like the version here, which is designed to be left running :)

See the post in the KML group that started this little adventure, which I believe started as an exercise for Jonathan to find a way to slice up really large images, and generate a Google Earth SuperOverlay from that; as none of the ‘packages’ seemed to be able to manage it (I’ve tried it too!). So I joined in offering hosting - as think its a neat exercise in hosting really large datasets (7.4GB at last count) - now I have a powerful server. (famous last words…)

Google Earth Black Box Recorder

Saturday, September 1st, 2007

Purely as a prototype, here’s a little script that records your flight in Google Earth for later review. (Wondering how you fly in Google Earth? See (or) here!!!)

Go here for the details and to get started.

This is recording the flight back to on my server, as that’s way easier than creating a local application. However it does mean its dependent on the net connection and my server for smooth recording. If this works out will seek better hosting! As mentioned its only a technical preview so its nowhere near perfect, but should be useful in a fun way at least :)

… technically it could be used to record movement in any mode, however it only records the camera position, which is almost ideal for the flight simulator, but not so useful otherwise.

FlashEarth+GoogleEarth Part 2

Wednesday, August 29th, 2007

Following the amazing interest in the networklink for embedding FlashEarth inside Google Earth 4.2, have performed a few updates…

  1. The zoom is a LOT closer matched, this is thanks to the inspiring formula: $z = (-1.4956 * log($range/1000) + 16.529; (yes really!); brought to you by the wonder of plotting a graph in Excel, creating a trendline, turning on the formula display option. Probably could get an even better match with more patience, but probably about as good as it going to get really.
  2. Removed the title and the directions links, makes the balloon looks a bit nicer, couldn’t get it to go transparent for me tho… suggestions welcome.
  3. When the network link is now a folder so can choose the size of your popup :) The previous version is now the ‘medium’ one.

Though the magic of the web, you get 1) and 2) automatically, if want 3) just download it again:

Open in Google Earth (Required: GE 4.2 Windows)

Thanks again to everyone involved.

Google Earth 4.2 + FlashEarth equals…

Tuesday, August 28th, 2007

What if the current view in Google Earth was quickly viewable in other maps, such as those made accessible by FlashEarth? Well, now it is. As you move around the globe a little white arrow follows you around, simple click it to get an approximation of the current view in FlashEarth in a popup balloon.

Open in Google Earth

Total credit to Valery35, for the concept (including a screenshot) on the Google Earth Community. (and to all the people made all the bits that could be pieced together in this 15min hack)

Tweaking the number of the MGRS layer

Monday, June 25th, 2007

Ever since releasing the MGRS layer for Google Earth, I’ve been asked a number of times (well about 10) about tweaking the numbers on the gridlines, to be more ‘MGRS like’. To be honest havent had a clue what this means, but a recent email made me twig whats going on.

Basically the numbers included the hundreds of KM, but in fact that number is already represented in the Grid Letters so doesnt make sence to include again (it was there because the layer was an almost direct port of the UTM code, which of course needs it).

So the server hosted version has been updated, and also the file inside the zip for the offline version (which are in fact identical code!), and if really interested heres the diff.

Enjoy!

MGRS Layer for Google Earth - Offline!

Tuesday, June 19th, 2007

Thanks to help from Mark Ferneau, have finally the MGRS layer packaged up ready for use off-line (and GPL licenced!), an often requested feature.

These instructions assume Windows, and that you don’t have a local webserver running. The zip file should be usable to set it up on any local server capable of running PHP, just don’t forget to edit the link in the network link to the path of your webserver.

Without further ado, the instructions:

  1. Download Appweb web server from: http://www.appwebserver.org/ (Tested with 2.2.0)
  2. Install with the general default options
  3. Save AppWeb.conf file in C:\program files\MBedthis Appweb\, overwriting the default (this just sets up the minimum needed for PHP to run, removing some of the extra stuff)
  4. Copy php5ts.dll from C:\Program Files\Mbedthis Appweb\lib\modules\ to C:\Program Files\Mbedthis Appweb\bin\ (not sure why this step is required but Appweb seems to need it)
  5. Extract grid_mgrs.zip into directory C:\appweb\web\offline_nearby\
  6. Start up the appweb server, using Icon in Start Menu. (if it’s already running, icon in System Tray, exit it)
  7. Open the network link - save it to your My Places :)

If there is interest could possible package up some of the other layers run on a local webserver in a similar fashion.

Finally, use at your own risk, it works for us, but your mileage may vary. We welcome any and all feedback (esp. patches!)