Welcome to blog.chinoy.com Sign in | Join
Cache usage
http://forum.worldwindcentral.com/showthread.php?t=9507&page=2

The single-use cache is only one of the several places image/data files are cached or drawn from. It's not even the default preferred place. See config/DataFileCache.xml for the list of cache locations and the documentation. New locations can be added there, location priorities rearranged, or locations deleted. In practice, users want to draw cached imagery and data from several places simultaneously, both local, remote, and on removable media.

Currently the cache configuration file is drawn from worldind.jar. If you want to change the configuration, make your own cache config file. Then clone config/worldwind.properties, where the config file name is specified. Change the config file location/name in that new file to the name of your new cache configuration file, and specify the new worldwind.properties file as an argument to the JVM: -Dgov.nasa.worldwind.config.file=myworldw ind.properties. It can also be set by the application by setting the DATA_FILE_CACHE_CONFIGURATION_FILE_NAME property on Configuration immediately upon the start of the application.


GLPanel

http://forum.worldwindcentral.com/showthread.php?t=9627

GLJPanel doesn't work. Don't even try. There are still several issues with using JOGL in a JPanel cross-platform. We're working with Sun on them.
0 Comments
I've begun two documents about integrating the NASA World Wind Java SDK into the Eclipse framework - Creating Plug-Ins out of World Wind and Hello, Globe! (basic integration).  They're in process, so I wouldn't mind any feedback. They're a bit light on justifications of the Eclipse framework, so they're more suited to people familiar with Eclipse.
0 Comments

From the forums regarding the future plans for the Java SDK
There is no feature roadmap written down.
What's troubling me today is not that NASA isn't elaborating on their goals for the WWJ SDK other than what they've already said ("The goal is 100s of World Winds, not one. That's why NASA created WWJ as a Java component. NASA has no plans to create a World Wind Java client similar to World Wind .Net. They plan only to continue to develop and expand the SDK." - WWJ FAQ) though that statement is a bit ominous (open source, vague/unstated patch & development process), but the minor technical discoveries I'm making as I use the SDK.  There's a real overuse of static members and methods that is complicating the process of trying to douse how NASA intends the use of this SDK.  For example, layer classes have a construtor that requires a LayerSet or PlacenameSet to have already been created.  That means a static method. This makes it appear that almost all their AbstractLayer derived code isn't designed for extension or reuse but as an example of how to create a Layer - and that means a lot of redundancy.  The options are to change the source and allow for a constructor that doesn't require LevelSet/PlaceNameSet (cons: changing the code means changing their SDK code) or copy wholesale and reproduce what appear to be core SDK classes, such as. TiledImageLayer and PlaceNameLayer.

The other thing that irks me and irks me bad is the variety of OGL implementations on various video cards.  Though this appears to be a case of "it's the video card manufacturer's issue, not NASA's" it becomes a very large barrier to adoption when an example works perfectly on one machine (ATi X1500), partially on another (ATi FireGL 5200), and is an abysmal failure on a third (Intel Extreme).  To me, this is a massive user acceptance issue.  I see a lot of people (primarily through failed demos or inability to see their own houses with ease) discounting a WWJ-derived app due to driver issues.
0 Comments
Unbeknownst to me, NASA had a proposal to develop a MMO (massively multiplayer online) environment a la SecondLife or World of Warcraft with a budget of $3M that was cancelled or tabled before it was reviewed.  Word got out enough for John Carmack to propose assistance.

(from the Proposal)
Intramural Call for Proposal Ideas (ICPI)
Fiscal Year 2007
Internal Call for Proposal Ideas
NASA Learning Technologies
ICPI Schedule
Release of ICPI: March 20, 2007
Notices of Intent Due: April 20, 2007
Notices of Intent Decisions: April 30, 2007
Final Proposals Due: June 29, 2007
Selection: July 31, 2007
Announcement of Awards: September 1, 2007

Massively multiplayer online games (MMOG) have characteristics that set them apart from other games. They are shared spaces where hundreds, thousands and even millions of players can experience the same game. They are persistent and evolving online environments. For example, with a stand-alone game, the game environment turns on and off at the user's whim and is essentially loaded with all of its potential states when it is shipped from the factory. If there is a sequel, the new game comes with a brand new, though probably familiar, game environment. MMOGs, in contrast, run continuously. Actions by players can alter the game world and the game creators can change features of the world through expansions or patches. The persistent and evolving nature of MMOGs makes them more like the real world and less like the static, intermittent nature of stand-alone games. The game setting in MMOGs, is thus a synthetic world, while the game setting of a stand-alone game is not.

A massively multiplayer online NASA game can be built with the primary goal of engaging young people in NASA’s mission. The power of games as educational tools is rapidly gaining recognition (Gee, 2003). NASA is in a position to develop an online game that functions as a persistent, synthetic environment supporting education as a laboratory, a massive visualization tools and collaborative workspace while simultaneously drawing users into a challenging, game-play immersion. Innovative university faculty are already holding classes and taking fieldtrips to synthetic worlds like Star Wars Galaxies and Second Life (Thomas, 2005). A NASA game built on a game engine that includes full physics capabilities will support accurate in-game experimentation and research. It will present real NASA engineering and science missions in a medium that is comfortable and familiar to the overwhelming majority of students in the United States today. A NASA-inspired game will provide opportunities for students to investigate Science, Technology, Engineering and Technology (STEM) career paths. A NASA game can contribute to the development of the critical skills and capabilities needed to build a pipeline of qualified scientific and technical employees required to fulfill the Vision for Space Exploration. Recently, both Time and Fortune have recognized synthetic environments and robust and significant technology entering mainstream society. The MacArthur Foundation, the Federation of American Scientists and National Science Foundation have all identified computer games as significant educational tools. A Horizons of Technology report marked massively multiplayer online games as one of the technologies with the greatest potential to impact education in the next decade.

A game-quality synthetic environment will be a vital element of NASA's cyberstructure. The synthetic world will be a collaborative work and meeting space of a kind familiar to increasing numbers of Americans. Games and challenges in the synthetic environment will engage students in a way that is both familiar and comfortable for them. In turn, success in the games will build increased student awareness of STEM fields. The synthetic environment will allow immersive career exploration opportunities in a much deeper way than reading alone would permit and at a fraction of the time and cost of an internship.
0 Comments
I'm following some threads on the World Wind forums and whenever an official NASA WWJ Developer (Tom Gaskins or Dave Collins) responds, it's worth noting.  For me, that means here.  Hopefully I'll use it later.  Nothing to see here, move along.

On use of InterpolatorTimer.ViewProperties:
"What is it you're trying to do?

We decided that InterpolatorTimer was not the appropriate class for app control of viewing. It's really an internal class. We're modifying the View interface to handle many of the cases we saw people using InterpolaterTime for. Let us know what you're intent is so we can be sure to support it in the changes."

On Eclipse Public License compatability with NOSA:
"The intent is that World Wind can be distributed with RCP (or other) applications. We haven't studied the EPL, however, so I can't give you a legal answer. Clearly we'll have to come up with one, though. Consider it "on the list.""

On JOGL versions:
"The old JOGL libraries are almost certainly the problem. You must remove them from the classpath. Then please see the "Having Problems" section at http://worldwind.arc.nasa.gov/java and follow the instructions there."

On RPF and RPF Layers:
"That's right, the RPF converters are not yet in the release."

On flying to a Lat/Lon:
My apologies for this, it's a known issue with the current View implementation. We do have a workaround, but it's not intuitive.

(1) Set the View's latitude and longitude coordinates.
(2) Set the View's zoom to your desired altitude.

This workaround is appropriate only when the View's pitch is equal to zero (see like 4 in the code below).


Code:

1 gov.nasa.worldwind.geom.LatLon myLatLon = ...;
2 double myAltitude = ...;
3 View myView = ...;
4 myView.setPitch(gov.nasa.worldwind.geom.Angle.ZERO);
5 myView.goToLatLon(myLatLon);
6 myView.setZoom(myAltitude);

If this works for you, please let me know. I'd like to post this in the official WWJ space if it's useful for anyone.
0 Comments
Here's an Eclipse View with NASA's World Wind from the Java SDK 0.2.





It's not terribly exciting at the moment, since it's just an SWT_AWT bridge with the JOGL component in it, but it's a start! Note the Swing->SWT status bar interaction.  More to come.
0 Comments
It's been in the works for over a year now, and NASA, today, is finally releasing a SDK of WorldWind for Java.  Patrick Hogan, the Project Manager for NASA's WorldWind which, up until now, has been a Microsoft .NET application, explains in a JavaOne session yesterday: CNet Video.
The .NET application, version 1.4, is still available as well as the source code.  There's much speculation on the WorldWind open source community about the future of the .NET version.  Hogan says that NASA will turn it's efforts back to the .NET codebase as interest in the Java version picks up, but that hasn't stopped the community's worries.  On the Microsoft platform, ESRI has dominated the GIS space, while most of the innovation in open source GIS has been in the C++ and Java languages, geared to either cross-platform or linux use.  That's a bit of a generalization, but it's useful to see why a successful open source globe viewer like WorldWind .NET could easily (and quickly) be overshadowed by a proliferation of WW Java SDK based apps.

I'm hoping to pop out an Eclipse RCP based one, but that's dependent on how good the AWT/JOGL wrangling goes into SWT.

Here are my first impressions.

Meanwhile, another, usually under the radar, government agency gets all paranoid: (I've blinded myself with bad puns!) Intel chief: Curbs on public satellite photos may be needed, Vice Adm. Robert Murrett, NGIA director, May 8, 2007

05/11/2007 Edit:  NASA reupped their Sourceforge and their zip includes two demo jars (worldwind.jar 4.5mb, BasicDemo.jar 10k)which don't run.  For all those people looking to download a SDK and double-click stuff, they'll be disappointed.  Granted, it'd be nice if they did have working demos for simple people, but download it anyway and build it yourself, you'll be pleased.

0 Comments

The one non-automated reader of this blog might be astute enough to note that every so often I dink around with spinny globe apps and that the one I use for screenshots, etc. of locations is NASA WorldWind.  It's an open source .NET (soon to be Java) application and that means I should be poking about in the code.  I try to, honestly, but when work's a soul-sucking morass, it doesn't make me want to play with my hobby.  Anyhow, back to the point you didn't see coming: I made some documentation.  (Said cute, like a child who's done something wrong and knows it).  At least I didn't say it like Michael Moore.

I used the vendor-neutral Doxygen and the vendor-specific (Microsoft) Sandcastle tools to create NASA WorldWind 1.4.0 API documentation on my WorldWind dev page.  Yay for default settings (and slight tweakings)! Sandcastle took about 17 minutes to run through the svn source and produce the HTML, etc. Not too bad.

I'm sure the NASA WorldWind community will be adding in doc generation into (at least) the nightly builds and will hopefully host the docs off their wiki, so whether (and god forbid) this is the permanent location, I don't know.  What I do know is that I'll be making tweaks to both the doxyfile and the shfb and changing the look & feel (and content) of what's placed in the API docs. I'm also going to try to automate (NAnt or MSBuild) the doc production, but no promises! 

0 Comments

A while back, I made some odd grumbles about Java vs. NET and, in doing some early spring cleaning of code, I realized I didn't really bother to explain.

I'd made a NASA WorldWind placename converter - it read in WorldWind placename files (which were generated by NET) and displayed them as text, as shown here:

Since then, the latest version of WorldWind, 1.4 (which is in beta right now) has switched to using WFS (streaming, from the network) for placename display instead of reading from local files, cutting down on 215 mb of installation size.

A year ago I was stabbing blindly at SWT and will probably update this code since I'm so smrater to JFace and/or an RCP editor, but if anyone wants to see the current code (and JUnit test case!), feel free to let me know.

0 Comments
That's Southhampton, UK's Bellemoor School for Boys where two prankish Year Eleven youths poured weed killer in the shape of a dongule on their school lawns.  Smart chaps killed the grass long enough for satellites to pick it up and propagate it.  Cheerio, lads!  That'll get you your A levels, indeed.

Microsoft's Virtual Earth has 2006 imagery which still shows it, Yahoo! maps with iCubed imagery doesn't get close enough, and Google Earth and maps has 2007 imagery, where the "dark mark" has been reseeded.
0 Comments

Matt Nolan posed a question to the panel that'd been hanging in the air since the first day of the Virtual Globes conference : What do data exchange formats look like for 3d globes? Hard core open source GIS users and standards advocates would immediately say OGC's GML. The popular wave, on the other hand, which has really enlightened people to the usefulness of geospatial data would back KML as a de facto universal standard.

My answer went something like this (although this entry's probably clearer): The analogy and history of HTML is probably quite instructive. Before HTML, prior to 1993/1994, there was this beautiful trainwreck called SGML that was used for document "exchange." HTML was widely adopted as a document markup language to the chagrin and much gnashing of teeth from the SGML crowd, but without HTML, there would've been no web or internet as the masses know it. Sorry, but gopher and wais do not Al Gore's internet make. Then, mutations happened. Netscape came along and introduced blasphemy: the IMG tag. Where would the web be without images? That didn't come from TBL. Microsoft, not to be outdone, introduced their "innovation:" the blink tag. Some mutations are good for evolution, some lead down a null path. C'est la innovation.

By 1998, the SGML crowd had not gone quietly into that good night and fought back with XML. Back then, I recall the years 1993 - 1998 to be eons. Crazy things were happening then that started with the word "Dot" and eventually ended with the word "Boom." Looking at it, that's a scant 5 years. Five years later, SGML had gone more or less by the wayside and we had a robust HTML 4 standard and XML, daddy of WebServices, SOA, and AJAX.

Geospatial interop? My prediction is by 2007, KML will be even more different than the neatness that's in KML 2.0 and probably a GML profile, while GML, itself, will also be something different.

So, if you're new to GML 3.1.1, take my advice from my experience with SGML & HTML - Learning EBNF might be fun for parties, but ya' ain't gonna use it - learn KML inside and out and why it needs to grow.

0 Comments

A while back I created a map mashup & backend to track visitors to my blog (all 3 of you) (Tracking my visitors ... with Maps, Nov 14, 2005). It just so happened it was the same day that Google put out their Analytics (nee urchin) product publicly. I’ve been quite happy using Analytics, since Google’s ability to track and resolve city locations is much better than mine, but the Analytics maps aren’t easily shareable.

Ian pointed me to this blog post and I just had to reproduce. Here’s a java jar that you can run at the command line to convert Google Analytics data to KML for use in Google Earth.

USAGE: java -jar UrchindataToKml input_report.xml [output.kml]

I used a different export method, their XML export method:

Logging into Google Analytics, go to All Reports and expand Marketing Optimization. From there, expand Visitor Segment Performance and then click on "Geo Map Overlay."

Then, select the little document-looking icon from the upper right hand corner. An xml document should open up. Save that somewhere on your filesystem.


Here’s the XSLT for urchindata xml to KML: UrchindataToKml.xsl ... and here're my latest results:

Some further thoughts:

Manually exporting and running a command-line program is, well, manual and annoying.

In order to automate retrieving urchindata map xml and converting it to KML, it’d need: a way of logging in a way of choosing a date range (would be nice) an api!
I’m sure Google’ll get around to making some sort of API for it. Knowing Google, I’m sure there’s already some unpublished API that just has to be ferreted out.

0 Comments

Bloomberg reports Saudi authorities killed 2 of their most wanted in a shootout in Riyadh as they hunt for the people who drove Aramco-labled cars up to the Abqaiq oil processing facility. Mohammed Saleh al-Ghaith, 23 years old, and Abdullah Abdulaziz al-Tuaijri, 21 years old, were killed along with 3 others.

Reuters reports that Al Qaeda issued a statement naming the two as martyrs and pledging to carry out more operations against oil facilities in Saudi Arabia:

The statement, signed by Al Qaeda in the Arabian Peninsula, said: "We renew our vow to crush the forces of the crusaders and the tyrants and to stop the theft of the wealth of the Muslims."

In Iran's Khuzestan province, a southwestern province which borders Iraq and the Persian Gulf and is a center of Iran's oil production (90% of their oil production), two percussion grenades went off in the bathrooms of the governor's offices in Abadan and Dezful within ten minutes of each other. (IRNA, BBC) No injuries were reported.

And, here's something I haven't been following - on January 24, in Ahvaz, the capital of the Khuzestan province, twin blasts hit a bank and a government building leaving six people dead and dozens injured. Responsibility for the Ahvaz blast was claimed by a group called "Arab Struggle Movement for the Liberation of Ahvaz."  That's not the latest or the only terror that's been going on there. On 02/20 a "noise bomb" exploded, blowing out windows, but injuring no one.  On 10/15/2005 two bombs exploded an IT center, killing 6, wounding 50.  06/12/2005 three bombs exploded concurrently near public facilities, killing 8, wounding dozens.  Seems like Iran's got it's own problems with retroactive Arabs going after oil-rich areas.  Coordinated explosions is an identifying hallmark of al Qaeda.  The Iranian government has implied that the British forces staged nearby in Iraq are harboring and possibly aiding the terrorists that attacked Ahvaz.  They're either playing politics, seeing that as having more traction than an al Qaeda link, the resistance group is al Qaeda copycats, or there is an al Qaeda presence in Iran.  The last speculation would cast some doubt on the Iran-AQ link.

Iranian cities of Dezful, Abadan, and Ahvaz of the Khuzestan province

0 Comments

CAIRO An Egyptian passenger ship carrying about 1,300 people sank in the Red Sea during bad weather, and rescue ships arriving at the scene pulled dozens of bodies from the water, an official said Friday. At least 30 people were rescued, some in lifeboats.

Ayman al-Kaffas, a spokesman for the Egyptian Embassy in London, told the British Broadcasting Corp. that "dozens of bodies of victims" had been pulled from the choppy waters between Saudi Arabia and Egypt.

The 35-year-old ship, Al-Salaam Boccaccio 98, went down 40 miles off the Egyptian port of Hurghada

The cause of the disaster was not immediately known, but there were high winds and a sandstorm overnight on Saudi Arabia's west coast, where the ship departed from. The ship sailed from Dubah, Saudi Arabia, at 7 p.m. Thursday and was scheduled to arrive eight hours later at Safaga, Egypt, about 190 kilometers, or 120 miles, away.

The ship disappeared from radar screens shortly after sailing, maritime officials in Suez said on condition of anonymity because they were not authorized to speak to the press.

The agent for the ship in Saudi Arabia, Farid al-Douadi, said the vessel was in good condition. The passengers were mostly Egyptians but included Saudis, Sudanese and others.

Marzouk said the ship - built in 1971 and renovated in 1990 in an Egyptian shipyard - was carrying 1,318 people, including a crew of 96. The ship is owned by an Egyptian firm, El-Salaam Maritime Transport.

Ship sinks in Red Sea; 1,300 passengers missing, IHT/AP
Egyptian ferry sinks in Red Sea, BBC

Google Earth Locations: ferry path, origin, destination, rescue launch locations.

NASA World Wind: Duba, Saudi Arabia, Safaga, Egypt

0 Comments

Here's the weekend story, with it's sad ending, too:

"How cool would it be if I could capture visitor IPs for a certain url and plot them on a map, like Google maps?," I thought to myself.  "Very cool," myself responded.  Grab the IP from, say, the IIS logs or whatever and do a lookup.  No problem, right?  Wrong.  Innumerable ips to look up, lots of DNS, stupid IIS permissions.  "How about a javascript that calls a simple page to record the host ip and the datetime?," I said to myself.  Slightly concerned that I was going crazy, I replied tentatively, "Sure, that sounds good."

I grabbed the raw delegation ranges text file that ARIN has mirrored for RIPE, LACNIC, and APNIC (RIPE has AFRINIC's mirrored) and stuck them in a db (there're only about 70,000, a lot less than the max amount of ipv4 ips), made an IP address to IP number conversion utility, a quick lookup utility to get the IP block of a particular IP number and, finally, a little whois'er that queries the block registries (not domain registrars) and grabbed city and country name.  The last little bit was manually adding geocoords (lat,lon) to each city in the city table, but that's easy.  (I'm thinking about how to automate that bit, too.)   Phew!  Technical mumbo-jumbo aside, I get the visitor's city and plot on map.


The final result looks sweet. (Petah Tiqwa, Israel?) For example, this blog's hits come from all over, see here.

This morning, as I'm perusing some news I see that Google's releasing their analytics product for free (Free Web site therapy, Reuters, 11/14/2005; Google Press Release).  Yay!  I like Google.  Then it hits me:  I've just been housed!  Granted, they've probably had the idea for a lot longer, more resources than just one guy and a weekend, and much, much more data, but check out the neat picture from their main page:

It's (of course) got a map to track visitors! (Their map is Flash, though.  Odd, I thought, when they have a map tool. Seems like this analytics suite was bought/enhanced from some company called 'Urchin5'?  May have to look into it, may not care so much, either).  It uses a simple little javascript to ping their servers. It has pie charts.  Everyone knows that pie charts are the end-all-be all of cool.  Google:1, Me: 0.

Of course, I'm not competing with their product or even into "analytics," I'm just experimenting.  I learned a whole bunch, too.  For instance, NET 1.1 (which I used instead of Java, for kicks, or 2.0, which looks pretty neat, too) is pretty straightforward, once you get used to its quirks.  I dislike how it reformats HTML and how it doesn't compile in the background like Eclipse.  Parsing registry data into a db's easy, lookup reconciliation's not too bad, and generating javascript for the Google maps is a snap.  I'll keep playing around with my app, trying to make it more efficient and automated, but I'm going to stick on the Google Analytics' javascript on a few urls.  Since they're (Google, collectively) smarter than I am (and have a patent on address geocoding), I'll be interested to see how well my data tracks.

[Edit: here's a story about how Google's liberation of the Urchin product effects analytics firms: WebSideStory Stock Falls on Google Plans, AP, 11/14/2005.
Urchin, also a San Deigo company, was acquired by Google in March 2005 and was, apparently, big news in the SEO community.  Urchin's service was a $199/mo.]

[Edit: replaced the link to the Google patent on USPTO with a link to Google's patent search on the patent. Neat!]

0 Comments

Perusing Ian's flickr, I saw UTM coords on some of the photos.  I couldn't resist.  Here's a page with a Google Maps plot of the points, with links to a Microsoft Virtual Earth plot, too.  And the obligatory Google Earth KML.  I won't go outside, but I damn sure will fiddle with bits.

Here's a screenshot of the route in Earth: ->

In all, it was a good experience learning about UTM coordinate systems, the Maps and VE APIs, and managing waypoints/coordinates. I'll probably end up making a database to store points and some more fully automated maps js, ve js, and kml generation. Tweakery is fun.

Update: 11/03/2005
Yahoo!'s come out with a map API, so now there're three different ajax/html + 1 kml generation thingies going on.  More updates when I get to a pause-point in kneading this maplication.

0 Comments

NASA takes periodic sat photos of the earth and every so often they get them all together and release them.  Blue Marble Next Generation is the latest collection of high resolution images from 2004, one for each month with cloud cover removed, and was released yesterday.  It's pretty neat to see the seasons changing all around the earth.  Even more dramatic when viewed using NASA's WorldWind app with the Blue Marble add on that dynamically grabs/adds data.  (Google Earth doesn't have this dataset (yet?)).  If you don't have either, use the web based version done up by the NASA scientist (Reto Stöckli) who headed up the project (or, this one, if you don't mind installing ActiveX thingies).

his image shows the Americas in twelve monthly panels with January 2004 in the upper left corner, and December 2004 in the lower right corner. Credit: NASA Earth Observatory

 

Satellite remote sensors provide the science community with high quality datasets to better understand and monitor Earth’s environment and climate system. When used in education, these datasets allow visual exploration of the planet at moderately high spatial and temporal resolutions. However, native data file formats and file sizes are not well suited for public distribution. To help circumvent these issues, the Blue Marble Next Generation (BMNG) is a new series of 12 monthly cloud-free, global-scale images. We created the BMNG using NASA Terra MODerate resolution Imaging Spectroradiometer (MODIS) science data collected in 2004. We temporally adjusted the data using a discrete Fourier technique. This correction method removed cloud disturbances, but snow reflectance remains a significant challenge. The BMNG visualizes seasonal changes of the land surface (spring greening, snowmelt, drought, etc.) as true-color images and Normalized Difference Vegetation Index (NDVI) maps in monthly steps at 500-m spatial resolution. The images are available at no cost from NASA.
- R. St¨o;ckli, E. Vermote, N. Saleous, R. Simmon and D. Herring (2005). The Blue Marble Next Generation - A true color earth dataset including seasonal dynamics from MODIS. Published by the NASA Earth Observatory. Corresponding author: rstockli@climate.gsfc.nasa.gov

[edit: 10/15/2005 1:28AM]
Looks like the WorldWindCentral.com guys put up a tileserver / kml generator for Google Earth.  Check out the post here.

0 Comments