DOC PREVIEW
Columbia COMS W4115 - Programming Languages and Translators

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

COMS W4115Programming Languages and TranslatorsGECLGoogle Earth Customization LanguageWhite Paper09/26/2006Carlos [email protected] [email protected] Chung [email protected] allows users access to capabilities of Google Earth that normally cost money or are too difficult to implement. These have mostly to do with creating 2D and 3D polygons on Google Earth maps, tasks that so far have been done through the rather expensive Google Earth Plus, or the tedious task of coding KML (Keyhole Markup Language – derived from the XML standard) files, which, like all XML, require the use of an extremely verbose tag-based language. Letting the compiler deal with the conversion of absolute dimensions into geographical points, the user can focus on designing the most complex polygonal structures or using predefined ones, and creating large collections of these in the Google Earth environment through algorithms. The user can also choose from a number of already specified perspectives for looking at these objects. These capabilities, together with quicker creation and manipulation of geographical place points, overlays and other Google Earth options, permit the user to produce a customized KML file for many uses in the shortest time possible – so making the powerful, and already-platform independent KML language a more useful tool for manipulating the Google Earth environment.1. IntroductionGoogle Earth is a 3D interface to the geography of planet Earth, a browser that allows users to view all kinds of data that can be represented on a map, going from important census data on the income of certain counties, to trivial journal-like notes on places people have been to. All of this data, from the most basic – location of cities, borders – to the most complex – detailed elevation reliefs and geo-coded satellite photos- are stored on Google's servers, saving the user the huge trouble and expense of installing and manipulating a huge database. The Google Earth browser is also able to render basic polygonal structures, going from simple squarish buildings to complex renderings of the skyscrapers of downtown Manhattan, and to paste pictures (any kind, from a satellite photo to a cartoon) into its maps, rendering them according to the elevation data stored on its databases. It also allows users to create place-points, which, when clicked, bring up customized data that can include any kind of URL, and also pictures.But many of these capabilities are beyond the reach of most users, as they require either buying the more expensive commercial versions of the Google Earth browser, or taking the trouble of joining and maintaining a membership in the Google Earth Community, which keeps control over the data that is put on Google Earth's publicly available maps. The KML (Keyhole Markup Language, based on the XML standard; Keyhole refers to the CIA's famous photo-reconnaissance satellites) gets around this limitation by letting users load their own customized geo-coded data directly onto the browser, so that it doesn't have to go through the Google Earth servers. This data can consist of place-points, customized and animated icons, overlays, and yes, polygonal structures. But KML, like all tag-based languages, is verbose, and, in its emphasis on customization, requires a lot of work on the user's part if he or she wants to use its most attractive features, like the design of polygonal structures.GECL saves the user much of this work by generating a KML file from simple statements, computing distances in metric or Imperial measures into coordinates; saving him or her the tedious browsing of an atlas by retrieving the coordinates of relatively well known cities and towns all around the world; searching DEM (Data Elevation Model) databases in the Internet for the correct altitude of a determined point, allowing for better design of structures; and creating simple polygonal structures by inputting just the most basic details, like length, width and height. GECL will also allow the user to select predefined viewpoints from which to look at a point or object, and, to permit the creation of more complex structures and groups of them through algorithms, will implement the necessary statements for control flow (conditionals, loops). 2. GoalsSince the creation of overlays and place points for Google Earth is a rather simple task, our focus will be on the implementation of a script-like language that will allow users to navigate inside the Google Earth environment through the creation of way points, to help them locate the place on which they wish to place a determined Google Earth object - from a place point to a polygonal structure; and to produce complex instances of those structures en masse – as much and as far as KML and the Google Earth browser application will permit – through the algorithms thatour language will make possible. In short, our language will let the user create complex collections of structures (i.e.: towns, cities) on the Google Earth virtual world. Ease of Use & SimplicityGECL saves the user the tiring tasks of converting distances and building dimensions into coordinates, through the use of functions with easy to remember keywords like squareBuilding, and the use of well known operators like add and assign (=+) for modifying way points.PortabilityAs the compiler will be built in Java, it will allow users in almost all existent OS platforms to use the language.3. Possible ApplicationsTechnical and Business PresentationsGECL will permit the quick creation of place points, paths and buildings that could help in making certain project presentations (i.e.: for civil engineering, retailing, telecommunications) more interesting and comprehensive in the data they represent. Urban planningUrban planners and architects could quickly create a draft of their projects before going through all the trouble and expense of putting the smallest details of their buildings into AutoCAD.4. Sample Code//Finding the coordinates of a city and making a new way point out//of them.coord myCity;myCity = CityCoords(Sydney, Australia);//Creating new way points based on the coordinates of already //existing ones, or by a simple arithmetic based on navigation.//Example "x + (distance(measure),


View Full Document

Columbia COMS W4115 - Programming Languages and Translators

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Download Programming Languages and Translators
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Programming Languages and Translators and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Programming Languages and Translators 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?