Collaborating in geospatial context since 2000!

Monday, June 30, 2008

Google Earth it!

Using GeoJavascript, you can very easily collect a pair of coordinates and launch Google Earth to view the location. This is in addition to the functionality that is already in place called, "Google Map it!". Here's what you do...

1. Create a folder-level .js file in your ACROBAT_INSTALL/JavaScripts folder and copy the following code in to it. Download the file from here.

2. Open up your GeoPDF file and select the GeoTool, then right-click and select the TerraGo context menu.
3. Choose the newly created Google Earth it! option.

If the stars are aligned properly, Google Earth should open and it should zoom to the location you had selected with the GeoTool.

** Please note, if Google Earth is not your default 'KML' viewer on your Windows system, it will open the app that is associated with 'KML' files.

Please refer to this earlier article with more information on how to do this and thanks again to JB Freels for putting all this together. There is a LOT of cool stuff we can do with GeoJavascript. More to come!

Labels: , ,

Friday, June 27, 2008

Choosing a GIS that is right for you (Part 2)

This April I posted something entitled, "Choosing a GIS that is right for you". I would think that most advanced GIS users out there would agree that a GIS is all about finding a solution to a problem. Each vertical market has a similar problem they are trying to solve, which is basically, "how can I get my spatial information in to the hands of those who need it?" For example:
  • DoD/Intel - The DOD/Intel community has a tremendous amount of spatial data that is needed to support the wartime effort, OR a Homeland Security initiative that effects millions of people. How do they get this data distributed to the field? A web application? A specific file format?
  • Utilities - Utilities is a generalized category that includes Electric, Gas Distribution, Oil/Gas Pipeline, Telecom and Water Management. Utilities have tons of geospatial data especially the pipeline operators who have thousands of miles of do they maintain all their data? The more data to work with, the more sophisticated the GIS requirement. If there is a gas leak in a residential area, how can the operator get the GIS data out in to the hands of those who need it?
  • Public Sector (State and Local Government) - As your local road network changes and as population increases, so does the landscape. This leads to tons and tons of updated spatial information...A good example of this here in Atlanta is the 14th street Bridge in Midtown. It is completely torn down for the next year and someone now has to update the road network in the Fulton County GIS.
These are the types of GIS-related scenarios that we as geographers concern ourselves with every day. What is the best all-encompassing solution? Is there one? Even if you buy a great big COTS GIS application, chances are that you will still need to buy plug-ins and extentions or create some kind of custom code to make it do exactly what you want it to. Take your accounting system for example...SAP and a GIS marry together perfectly, but it is a royal pain in the a$$ to make it work correctly! There is nothing more valuable than a man/hour and it takes quite a few of those to get to this kind of solution.

The USGS did a great job recently with getting their Topographic maps out online in an EASY and understandable search mechanism, and it just so happens that they were all converted to GeoPDF files which means that ANYONE with Adobe Acrobat Reader can view them. As I mentioned earlier, you must download the GeoPDF Toolbar in order to view the geospatial information. I would really encourage everyone to browse to the USGS Store and download a couple GeoPDF files just to try it out! They are 100% free to download and free to view!

If you want instant access to all the spatial data as well as GPS support, markups, KML/SHP integration, etc...please download the GeoPDF Toolbar from the link below.

Thanks to all of you who provided feedback at! I enjoy reading everyones comments and I completely understand that TerraGo feeback is due. All I can say is there are a lot of things to look forward to in the near future! Cheers...

Labels: , , ,

Thursday, June 26, 2008

Quick Interactive Flash Map!

I have been experimenting with FLEX and MXML and have come up with a pretty quick way to compile an Actionscript or other javascript to be placed in any website or blog.
  1. Download the FLEX SDK
  2. Create your MXML File. I copied some code from the Yahoo Maps! website and pasted it in to the CDATA tags in my MXML file. Don't forget to download the swc file from Yahoo to link against in your build!
  3. Compile your SWF and plug it in to a website or PDF (Now available with Acrobat 9.0). To learn more about compiling the code, check out this link.

Now that I have my swf file, I can plug this in to a website or blog, I can embed it in to a document to use as a quick reference, or convert it to an AIR app and deploy it to run on my desktop. All of this was done in less than 10 minutes!

Labels: , , ,

Monday, June 23, 2008

Hyperspectral GeoPDF

Hyperspectral Imagery has been an interest of mine for some time now and I think I've found a pretty good way to display it in a map. I used Map2PDF for Raster and quickly added the first 54 bands (out of 224). I assigned each band an arbitrary color of my choosing for this example but a more qualified Remote Sensing Scientist could assign any color they want to as many bands as they want. There is NO LIMIT on the amount of bands a user can display. This image is NOT geo-referenced so please don't look for any spatial information in there but I would encourage you to download the data from here or from the Menu option in this flash viewer.

Again, this is AVIRIS data that I quickly converted to GeoPDF and uploaded to so that anyone can download and view it. When you do download the entire file, open the Layers tab to gain access to all 54 bands. I think a qualified eye will be able to see the possibilities with this one! Enjoy...

Labels: , , ,

Friday, June 20, 2008

Why GeoPDF?

The question "Why GeoPDF?" has come up a lot lately primarily because Adobe released their GeoSpatial PDF format. I would like to share what I know about this format and possibly clear the air about the question at hand...

What is GeoPDF? GeoPDF is a geospatial extension to the Adobe PDF file format, from TerraGo Technologies. It is used to present GIS and mapping data in a standard Adobe Systems PDF. This extension adds a coordinate transformation matrix and other metadata to allow transformation of PDF coordinates to a projected Cartesian coordinate system. GeoPDFs often include other advanced PDF features such as layers and object data which can add significant GIS functionality to the file, particularly when used with the TerraGo Technologies plugin to Adobe Reader.

GeoPDF is still a PDF which means that ANYONE with Adobe Acrobat Reader can view your map data (look in the link to see that whoever added the Adobe Acrobat definition in Wikipedia, chose to display a graphic of a map!). It's true that you must download the GeoPDF Toolbar to gain access to the GIS functionality but wouldn't you expect to do this in most applications to access the intended functionality? I often write about Google Earth, Photosynth, and a variety of other GIS/Visualization Tools all of which require a download of some kind! A key benefit of the GeoPDF Toolbar is that you get GPS Tracking functionality.

What information can I include in my GeoPDF? There is quite a bit of data that can be added! For example, let's say that I am using Map2PDF for ArcGIS and in my map layout I have a raster image as a background, a shapefile for my streets data, an ArcSDE layer for parcel data and finally I create custom symbology and labels for each layer. I can export each one of these features to GeoPDF (with hyperlinks and annotations) in a separate layer in the final map. How is attribute data maintained? The GeoPDF export creates the equivalent for attribute data which is called Object Data. By creating object data in your output map, which is optional by the way, you can search for all the attribute data just as if it were in its original form in ArcGIS. With the ability to Zoom To a selected feature, you have a pretty powerful geo-search tool.

Map2PDF for Acrobat add-ons included GeoMark tools that allow users to add shapes and standard or custom stamps with comments. MapAssembler lets users combine maps and grids to create Map Books. Map2PDF for Acrobat lets users turn any PDF-based map into a georegistered map - a GeoPDF file - simply by entering two coordinates. But, there's much more to Map2PDF for Acrobat than that.

Map Book, Map Book, Map Book!!! What the heck is a Map Book? A Map Book is a a set of GeoPDFs that are indexed together to create a seamless interaction between the end user and the data. Check out the Map Book that I posted earlier this year! I called it Fun with Hyperlinked Data. I did go a little overboard with the Lightbox2 javascript but it does a great job in helping to tell the story! In a Map Book series, there is also the ability to search for features stored in an external database and create custom functionality through GeoJavascript.

Map2PDF for Raster: I have seen 6 gigabytes of raster data compressed down to a 400 megabyte GeoPDF. Wow! That is an impressive compression ratio! I mentioned earlier that we can create layered PDFs which means that with our raster data, we can see a base layer as an RGB image but then we can add additional bands to be turned on and off as needed. For Landsat ETM+ data we can create a base map with bands 1, 2 and 3 then add additional bands and assign a particular color to each one. Because they are treated as seperate layers, you have the ability to turn them on and off dynamically. Imagine what you can do with low-resolution multispectral data like AVHRR? MODIS/ASTER? Click here to download some example data.

Things to look forward to: Mobile apps, Enhanced GeoJavascript, Advanced GPS Track Manager, leveraging Acrobat 9.0 functionality like Adobe AIR and much more...

Labels: , , , , ,

Thursday, June 12, 2008

Geocode with Flash

A good mapping application was sent to me this morning and I had to post it! Click here to read the full article entitled "Learn how to geocode with Papervision3D and Adobe Flash". This is a really good and apparently easy way to create a quick and useable mashup that can be deployed on any platform. I look forward to seeing many more quick mapping solutions like this one!

Like Finding Nemo? Check out the Papervision3D website to see what they have done with their ocean scene...VERY cool! Could we view VRML in this environment?

Labels: , ,

Wednesday, June 11, 2008

AIR (Adobe Integration Runtime)

What exactly is AIR?

Adobe AIR is a cross-operating system runtime that lets developers combine HTML, Ajax, Flash, and Flex to deploy RIAs (Rich Internet Applications) to the desktop. AIR applications are available virtually anywhere at any time, providing convenient desktop capabilities and working with local or server data. They are developed using modern, efficient programming methods.

Adobe AIR allows developers to use familiar tools such as Adobe Dreamweaver, Flex Builder, Flash CS3 Professional, and even Notepad to build their applications. Applications built for AIR are deployed with a single application installer that works across multiple operating systems. These applications work with Adobe's servers and services to deliver rich experiences on the desktop. Click on the icon below to install AIR.

There are SDK's available too!

Flex SDK~

What does this mean to GeoSpatial Developers? It means that we take our GeoPDF's and create dynamic mapping applications that everyone can access and use. Adobe has also started allowing folks to store their data at which is REALLY cool!!! 5 gigs of free storage space for starters! Click here to see a previous post that highlights this functionality.

Labels: , ,

Tuesday, June 10, 2008

Integration through GeoJavascript

There is a little known piece of technology that TerraGo created a few years ago called GeoJavascript. This javascript API extends the functionality of Adobe's client-side scripting API to work with the GeoPDF. There are several methods that are currently supported which will allow the end user to get coordinate information, zoom to a specific location, draw routes, connect to a database through ODBC, etc...I will include the full list at the end of this post.

I took the opportunity to post an example GeoPDF with GeoJavascript to my account at This has proven to be an excellent way to disseminate this map of the Atlanta area. Please download the map from this Flash plug-in and open the bookmark section to gain access to all the pre-defined functionality.

Select the "Menu" option in at the top of the embedded viewer and download the full GeoPDF. The full user guide for GeoJavascript can be found by clicking here!

Labels: , , ,

Monday, June 09, 2008

Map2PDF Software Integration

Can I customize my export to GeoPDF from ArcGIS? Of course you can!!! TerraGo has included a series of COM interfaces and objects which allows each user to customize their workflow. To get more information on this, please check out the compiled help that installs with the software. I included a little VBA routine that anyone can cut and paste in to the VBA compiler that installs with ArcGIS.

Sub ExportToGeoPDF()

' simple sample code presumes a specific, known MXD and uses a hardcoded output name

Dim fileName As String
fileName = "C:\temp\engine_geopdf2.pdf"

Dim pMxDocument As IMxDocument
Set pMxDocument = ThisDocument

Dim pPageLayout As IPageLayout
Set pPageLayout = pMxDocument.PageLayout

Dim pActiveView As IActiveView
Set pActiveView = pPageLayout

Dim pMap As IMap
Set pMap = pMxDocument.Maps.Item(0)
If pMap Is Nothing Then Exit Sub

Dim pLayer As ILayer
Set pLayer = pMap.Layer(0)
If pLayer Is Nothing Then Exit Sub

' cocreate the exporter
Dim pExport As IExport
Set pExport = New ExportGeoPDF
Dim pExport2 As IExportGeoPDF2
Set pExport2 = pExport

Dim pConfig As IGeoPDFConfig
Set pConfig = pExport

' set global options: PDF layering and PDF annotation type
pConfig.Layering = True
Config.Compatibility = geoPDFAnnotType.geoPDFAnnotTypeObjectData

' set the layer to receive PDF annotations
pConfig.PutAnnotate pLayer, True

' the rest is like any other exporter - except that IActiveView.Output is unnecessary

pExport.ExportFileName = fileName
pExport.Resolution = 300

Dim tmpDC As Long
tmpDC = GetDC(0)
Dim screenResolution As Integer
screenResolution = GetDeviceCaps(tmpDC, 88)
ReleaseDC 0, tmpDC

Dim scaleFactor As Double
scaleFactor = pExport.Resolution / screenResolution

Dim exportRECT As tagRECT
With exportRECT
.Left = pActiveView.ExportFrame.Left * scaleFactor
.Top = pActiveView.ExportFrame.Top * scaleFactor
.Right = pActiveView.ExportFrame.Right * scaleFactor
.bottom = pActiveView.ExportFrame.bottom * scaleFactor
End With

Dim pPixelBoundsEnv As IEnvelope
Set pPixelBoundsEnv = New Envelope
pPixelBoundsEnv.PutCoords exportRECT.Left, exportRECT.Top, exportRECT.Right, exportRECT.bottom

pExport.PixelBounds = pPixelBoundsEnv

Dim hdc As Long
hdc = pExport.StartExporting

' the usual call to IActiveView.Output at this point that is required by other exporters is not needed


End Sub

Labels: , ,

Friday, June 06, 2008 Announcement

This has been a big week for TerraGo Technologies! ESRI announced that they are supporting Adobe's spatially registered PDF format, several GeoPDF beta programs were released and TerraGo has finally lauched!

The initial release of this website is meant for our beta testers to chat about beta testing GeoPDF's and also allow them to upload their own GeoPDFs to the gallery. A formal announcement will be released when the website if officially launched.

The available beta programs are GeoPDF Mobile, Map2PDF for Raster, AutoCAD Map 3D, and Map2PDF for ArcGIS. TerraGo is also beefing up the licensing mechanism so look forward to concurrent licensing in all products to come!!! Enjoy and have a great weekend...

Labels: , , ,

Monday, June 02, 2008

Acrobat 9.0's Geospatial Extension to PDF

Today, Adobe announced that the latest version of Acrobat (Professional 9.0 Extended) includes a geospatial extension to the PDF format. This has been a much anticipated addition to Adobe's suite of products and we look forward to working with this new addition to the PDF standard...

The default tools for this new feature will allow the user to search, measure, and mark up geospatially enabled PDF maps as well as find the latitude and longitude by placing their cursor over a specific point on the map. This release of Acrobat will definitely help to push georegistered PDF's to the masses and we look forward to adding functional and flexible software to work with them.

Labels: , ,