World Wind Forums

Go Back   World Wind Forums > WorldWind JAVA forums > Development Help

Development Help Help for building applications or diagnosing problems with WWJ

Reply
 
Thread Tools Display Modes
Old 09-04-2007, 08:10 PM   #1
J-O-N
Junior Member
 
Join Date: Sep 2007
Posts: 3
J-O-N is on a distinguished road
Unhappy GeoServer and WorldWind Integration

Hello everyone.


I am currently attempting to integrate GeoServer 1.5.3 and the Java version of WorldWind. When I say WorldWind I don't mean "WorldWind" application that you can download and execute. I have written an entirely different GIS application with the Java WorldWind API. My application only runs offline, i.e., no internet connectivity and it will never have internet access. The application itself runs fine, I have one (1) level of BlueMarble that gets loaded from the distro worldwind.jar, but thats pretty much it. I have added serveral of my own layers but they are not data cache related so they are all doing fine as well.

I now need to add other flavors of cache data, most importantly more detail levels of the BlueMarble, SRTM & LandSat7, and of course Political Boundaries/Place names(shapefiles). I discovered after some reading that WMS servers such as GeoServer can be used to provide this geospatial data to a WMS compliant client like my already mentioned application above.

With that said, I installed and ran the GeoServer successfully and managed to get an overlay outlining the US state boundaries to render onto one of my WW layers client side. This was great and served as a good test. My real goal is to provide multiple BlueMarble resolutions and ultimantly SRTM & LandSat 7 projections. GeoServer allows you to install, for a lack of a better word various datasets so they can be made available to requesting WMS clients. With that in mind I downloaded a large SRTM dataset which extracts to hundreds of XYZ.bil files. I then downloaded a large blue marble dataset which extracted to hundreds of XYZ.dds files.

Now that all my files are extracted and ready to be loaded into the GeoServer I realized that GeoServer has no idea what a .bil and a .dds is and absolutely no idea how to serve them out to anyone asking. So, I read some more and some more and found that GeoServer wants its BlueMarble files in a .tiff format and provides a tutorial on converting BlueMarble .ecw files into .tiff. I have no idea why my BlueMarble files I downloaded from the WorldWind data provider website is in a .dds format, but it is and I can't seem to find anything clever to do with them as far as converting goes. For the extracted .bill files I have, I have not yet found anyway to install them or some converted format of them into the GeoServer.


Here's my questions:


1) Whats up with all the file formats?
2) How to convert .bil files into something GeoServer can serve up?
3) How to get the BlueMarble dataset in its .ecw format?
4) Is it really necessary to have on hand one thousand different file format
converters utilities to deal with this stuff, or is there some uber utility
out there the does them all?
5) General instructions from anyone that has attempted this?

Sorry for the rant, I'm a long winded typer

-Take care,
J-O-N
J-O-N is offline   Reply With Quote
Old 09-05-2007, 12:56 AM   #2
patmurris
WWJ Consultant
 
patmurris's Avatar
 
Join Date: Jun 2005
Location: Saint-Paul de Vence, Alpes Maritimes, France
Posts: 3,412
patmurris is an unknown quantity at this point
Default

1. What you downloaded is probably cache packs for WW (most probably the .net version). Thoses files are not intended to be served but to be used right away by WW. They have to be placed in the cache - no serving needed either. Note that WWJ and WW.Net do not have the same naming conventions for cache files. The .Net version uses zero padding on four digits where WWJ does not (0001.dds vs 1.dds).

4. AFAIK each file format has its advantages and history that make them unique and usefull in some context. Whether you like it or not, you always have to deal with a variety of formats... and tools.

I may have misunderstood the logic in your application, but if you say it will never be online, then why not just feed the cache with pretiled layers instead of accessing a local WMS server ?
__________________
My World Wind Java Blog & WW.net Plugins page
patmurris is offline   Reply With Quote
Old 09-05-2007, 02:13 AM   #3
Chiss
Senior Member
 
Join Date: Jul 2007
Location: Mirabel, Quebec, Canada
Posts: 225
Chiss is on a distinguished road
Default

Quote:
Originally Posted by patmurris View Post
I may have misunderstood the logic in your application, but if you say it will never be online, then why not just feed the cache with pretiled layers instead of accessing a local WMS server ?

+1 on Pat's comment here . Why not use those pre-chewed chunks of imagery and place them in the cache instead of forcing your application to connect to your GeoServer only so it can convert the data into its own favorite format (.dds) ? If I'm not mistaken, WorldWind will populate its cache and never go back more than once to your GeoServer (per region/sector/whatever the term is), unless there is an expiry date on your data. Just skip that step and populate your cache ahead of time, things will be snappier.

I intend to do something very similar to what your describe, and GeoServer will only be used to serve data that the WorldWind component doesn't understand (yet?), such as shapefiles and similar data that GeoServer can handle.

Thinking a bit more, I can see a few reasons to do what you want. Are you looking for a small distribution package? Or maybe your users will not be looking at the same region and you don't want to pre-load excess data with your app and want your users to come and get only what they need from your GeoServer?

Good luck with what you're doing!

Chiss!
Chiss is offline   Reply With Quote
Old 09-05-2007, 03:17 AM   #4
freespy
Junior Member
 
Join Date: Mar 2007
Posts: 7
freespy is on a distinguished road
Default

Maybe you can use GeoServer as fileserver. place your cache datasets(dds,bil) on GeoServer, then write a small jsp file to handle WWJ request, like WW.Net Client visit
online datasets through http://worldwind25.arc.nasa.gov/tile/tile.aspx.
freespy is offline   Reply With Quote
Old 09-05-2007, 03:07 PM   #5
J-O-N
Junior Member
 
Join Date: Sep 2007
Posts: 3
J-O-N is on a distinguished road
Default

Thanks for the replies.

I quess the only reason I haven't staged the .bil and all the .dds files maybe some level of ignorance, but the application that I have written is a client/server architecture. My server is going to be running on a host somewhere remote to the client, so I was thinking that having something like a GeoServer running on that remote host would perhaps serve up the data into a more bandwidth friendly format for the remote clients. Also, the GIS data I plan on providing with the applicaton will not be installed on the client machine, I have no access to pre-install these cache packs on it. I do however have access to install the software and any GIS data files on the server machines.

Again, maybe its me simply not understanding all the resources I have through the WWJ API. It certainly won't the first time I have ventured down the wrong road

For now, until I get a better understanding of the options I have available to me I'm going to stage the data files locally in thier native formats since as it is now all my demos and dog & pony shows are run as a standalone application both sides contained within the same JVM. Which unfortunately I have to bother you all at least one more time

To do this I was simply going to extract the SRTM .bil files straight into my WorldWindData directory and hack up a custom layer to that will render the tiles. Anything technicaly wrong with that approach?

Thanks again, and if everyone is lucky hopefully I can leave you all alone to handle more important issues.

Take care.
J-O-N
J-O-N is offline   Reply With Quote
Old 09-05-2007, 09:18 PM   #6
patmurris
WWJ Consultant
 
patmurris's Avatar
 
Join Date: Jun 2005
Location: Saint-Paul de Vence, Alpes Maritimes, France
Posts: 3,412
patmurris is an unknown quantity at this point
Default

Make sure the files and folders you add to the WWJ cache are properly named - without zero padding.
__________________
My World Wind Java Blog & WW.net Plugins page
patmurris is offline   Reply With Quote
Old 09-06-2007, 05:20 PM   #7
J-O-N
Junior Member
 
Join Date: Sep 2007
Posts: 3
J-O-N is on a distinguished road
Default

The file names were a problem, I just wrote a little utility that renames them all to the WWJ convention. I have managed to get multiple levels of Blue Marble detail to do the right thing, so that's cool. The only thing I'm sort of struggling on is doing the same type of preload for the SRTM .bil data files. There really isn't muh information at all out there on the topic, so I'm pretty much at a loss for new ideas. To date all I have done is extracted them all, removed all the leading zeros from all the .bil filenames(just in case it maters) and created a new TiledImageLayer and set all the AVKey.XYZ properties to the best of my ability/knowledge, needless to say there isn't much going on in that layer, so *shrug* I dunno, my head hurts....

One thing I will do when this is all figured out is start a new thread going over step by step instructions detailing everything I had to do to get this application to function offline to include the GeoServer intergration. Maybe if its adequate enough someone will make it a sticky, hopefully saving the next person some time.

-Cya

J-O-N
J-O-N is offline   Reply With Quote
Old 09-09-2007, 04:50 AM   #8
patmurris
WWJ Consultant
 
patmurris's Avatar
 
Join Date: Jun 2005
Location: Saint-Paul de Vence, Alpes Maritimes, France
Posts: 3,412
patmurris is an unknown quantity at this point
Default

I dont think you need any new layer for the SRTM .bil cache files since they are already expected by the basic model.
__________________
My World Wind Java Blog & WW.net Plugins page
patmurris is offline   Reply With Quote
Old 01-07-2008, 09:01 PM   #9
doublegdev
Junior Member
 
Join Date: Jan 2008
Posts: 2
doublegdev is on a distinguished road
Default

J-O-N have you been successful to view your elevation data from the srtm 90 cache pack? Did removing the bil file zero padding work for WWJ?

I'm assuming that to use srtm 90 cache pack you need to 1) have it in the right directory for WWJ to find and 2) have right bil file naming convention? Anything else (ie config or properties file)??

Thanks

doubleg
doublegdev is offline   Reply With Quote
Old 01-08-2008, 01:33 AM   #10
doublegdev
Junior Member
 
Join Date: Jan 2008
Posts: 2
doublegdev is on a distinguished road
Default

Well I was successful at viewing SRTM 90 elevation data using my assumptions, but I also had to use the WWJ default name for the root directory, srtm30pluszip.
doublegdev is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
WorldWind and GeoServer 1.3 beaker Image Serving & GIS 5 04-15-2009 01:02 AM
Problems oin adding layers from WMS GEOserver asbayomie Developers' Corner 2 12-27-2008 12:20 PM
I can't see WMS data with Worldwind 2.1 and Local Geoserver WMS vash Development Help 15 07-10-2007 06:25 PM


All times are GMT +1. The time now is 03:12 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.