Collaborating in geospatial context since 2000!

Monday, September 15, 2008

Mapping with Adobe PDF Bookmarks (Part 1)

There are quite a few very useful tasks that can be accomplished using Javascripts in a PDF file but not everyone is familiar with how to go about implementing them.  The two most popular ways are: 
  1. The folder-level script that will work with any PDF file open on your desktop and
  2. An embedded script that is distributed with each individual PDF file
It is my preference work with the folder-level scripts because they tend to be easier to edit in my favorite text editor (rather than in Adobe's) but if I were going to create a mapping application to send to a wide audience, I would definitely embed my scripts in the the PDF itself.  The following example is a script that parses the contents of a form and then updates a database through ODBC.  This particular example looks for a web service flag in a form field and if one is not available, it will insert the contents to a SQLite database.  

var geo = TGO.PDFPointGetGeo(gti.mapFrame, gti.pdfPoint);
var lAppName = this.getField("app.name").value;
var lAppTask = this.getField("app.task").value;
var lAppLat = this.getField("app.lat").value;
var lAppLong = this.getField("app.long").value;

var lWeb = this.getField("web").value;

if (lWeb == "Yes") // we are submitting via a web server
{
var fieldsToSubmit = new Array ("app.name","app.task","gti.lat","gti.long");
this.submitForm("http://127.0.0.1/jobs.asp#FDF",true,false,fieldsToSubmit);
}
else
{
var con = ADBC.newConnection("fieldform");
var statement = con.newStatement();
var query = "INSERT INTO jobs ( name, task, lat, long) values ('" + lAppName + "','" + lAppTask + "','" + lAppLat + "','" + lAppLong + "');";

statement.execute(query);
}

Keep in mind that this example does use GeoJavascript which is installed with the free TerraGo Toolbar.  This allows us to get map information from the GeoPDF file for use in the form...

What about implementing this as a custom Bookmark?  Look in the Bookmarks tab in the Acrobat Navigation Panel.  Create a new Bookmark and then choose the option to "Run a Javascript".  
 

When you select the "Add" option, you will be prompted to copy and paste your script in to the Adobe Javascript Editor.  Select to "Save" the file and then test your changes.  You can debug your script by selecting "ctrl J".

This functionality is incredibally useful for working with forms like in this example but you can also use it to send and recieve information to web services like Google Maps and Yahoo.  Download the Javascript example GeoPDF from here and test the Bookmarks for yourself. To access Adobe's Guide to Javascripting click here.  Happy programming!

Labels: ,

Wednesday, September 03, 2008

Intelligence Operations with LiveCycle and GeoPDF

Adobe on Intelligence gathering with the GeoPDF...
Department of Defense and Intelligence

Nowhere is the accurate and timely sharing of information more important than within the agencies that run defense and intelligence operations. From military strategic plans to training programs for deployed troops to top secret dossiers on potential threats, information is the cornerstone of citizen protection. With lives literally at stake, these agencies need to collect, analyze, and disseminate information as quickly as possible, while preventing it from falling into the wrong hands.
Bobby Caudill, a solution architect from Adobe, has created an excellent example of how the GeoPDF can be used as part of a powerful intelligence-gathering “GeoApp.” His demo includes several different applications that are just now catching on in the geospatial community. Click here to view Bobby’s short video description of how Adobe applications work in harmony as a stream-lined geospatial mashup.  The technology used here is as follows...
  • GeoPDF
  • Flex / Flash ( time-line scrubber bar tool & patrol activity report)
  • Adobe Connect for real-time collaboration
  • LiveCycle Reader Extension
  • LiveCycle Rights Management 
  • Flex & Adobe AIR ( Document Search & Report builder )
How do you envision an Adobe/TerraGo solution working in your organization?

Labels: , ,

Thursday, July 10, 2008

On GeoPDF

GeoPDF is, always has been, and always will be PDF. It has its roots in publishing utility drawings in different to utilities operations and maintenance field workers to PDF file sets augmented with feature data and convenient navigational features derived from different databases and other data stores. In order to place things like hyperlinks to detail drawings on a map, we had to derive the relationship between the real world location of some item of plant and the corresponding location on the PDF page.

Once this association can be made, it's relatively straight forward to generalize it. There a bunch of ways to skin that cat, we chose a georegistration technique that relates the PDF coordinate system to a projected coordinate system similar to the way it's done in GeoTIFF. Just as GeoTIFF uses TIFF constructs to embed georegistration metadata, GeoPDF uses PDF constructs to embed georegistration metadata. Emacs and a GeoPDF file reveals all. Just as GeoTIFF *is* TIFF, GeoPDF *is* PDF.

Our georegistration technique was designed for internal use and compatibility with internally-developed tools and libraries -- not with standardization in mind. As things happen, our customers liked the tools we made for our projects and the powers-that-be declared we'd be commercializing our tool set.

GeoPDF remained proprietary for pragmatic reasons -- it wasn't praticable for standardization and we didn't have the bandwidth to drive the standardization process. Moreover, it's obvious to anyone in the space -- including us! ;) -- that the days of proprietary formats have passed and at some point a well-documented standard would be promulgated. Although the PDF specification is now "owned" by ISO as ISO 32000, Adobe is still the primary shepherd of PDF, and has promulgated an open 2.0 version of our georegistration technique. Adobe is the right company to drive the standardization process -- not TerraGo -- but we're going to help in any way we can. They've done a great job with it and have done some clever things and I'll review the technique in detail when I get back from floating down the Green River in a couple of weeks. We are ecstatic that Adobe has validated our vision of ubiquitous access to geospatial information with their extensions to ISO 32000 and are working hard on having all of our products support it. Moreover, we are thrilled that ESRI has validated in the marketplace what we've been saying all along -- people other than GIS users need access to geospatial information.

Georegistration is enabling technology -- not an end in itself. Adobe is providing a platform for the development of geospatial applications on top of their technology. We've been building such "GeoApps" for almost a decade and working closely and collaboratively with Adobe [PDF] for a long time.

To get overly hung up on GeoPDF as some sort of file format is to miss what it's all about: letting professionals who don't grok GIS use geospatial information effortlessly to get their jobs done. If people don't know that they're using geospatial information on their way to making the right decision then we're doing our job.

Labels: , , ,

Monday, July 07, 2008

TerraGo + Adobe = GeoPDF

TerraGo Technologies and Adobe announce their partnership today! The following is directly from the press release...

TerraGo Technologies Announces Geospatial Alliance Agreement with Adobe ATLANTA, GA – July 7, 2008 – TerraGo® Technologies, the visionary provider of tools, technology and know-how for building collaborative geospatial applications (GeoApps), announced today that it has signed an Alliance Agreement with Adobe Systems Incorporated. As part of the agreement, Adobe will provide support for TerraGo’s GeoPDF® in the new Adobe Acrobat® 9 software. In addition, TerraGo will fully support consumption of geo-enabled PDF files from Adobe and other vendors, allowing customers to easily build and deliver GeoApps for use by anyone, anywhere, regardless of data format or application source. “Our expanded relationship comes at an exciting time when the demand for geo-enabled PDFs and GeoApps is increasing significantly,” said Richard M. Cobb, president and CEO of TerraGo Technologies. “In working with a global leader such as Adobe, who provides the best platform for geospatial documents, we are confident customers will benefit greatly through the development of innovative new geospatial tools and technology. This alliance further demonstrates TerraGo’s commitment to providing collaborative solutions that meet the unique needs of geospatial data users who are often not GIS experts.”

“As long-time developers of solutions on the Acrobat platform, TerraGo has for several years delivered value to customers who need to consume geospatially-enabled documents in a widely available format,” said Rick Brown, director of Acrobat product management, Business Productivity Business Unit, Adobe. “With support for consuming GIS attributes in PDF now natively available in Acrobat 9 and Adobe Reader 9, TerraGo’s solutions will be even more broadly accessed by existing and new customers alike.”

TerraGo, now a Gold Level Adobe Partner and Adobe LiveCycle™ reseller, expects to further expand its geospatially enabled offerings through close integration with the rich capabilities of the LiveCycle suite of server products.


Click here for full details...

Labels: , , ,

Wednesday, July 02, 2008

Acrobat Reader 9.0 Released!

Install the latest and greatest Acrobat Reader today! To view the feature comparison chart click here.

This marks the beginning of some really innovative mapping technology! More to come...

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: , , , , ,

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 acrobat.com. 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 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: , ,