Summer of Code 2006 Ideas

From World Wind Wiki

Revision as of 00:07, 24 April 2006 by Adamhill (Talk | contribs)
Jump to: navigation, search

Google Summer of Code discussion...

Requirements:

License - NASA Open Source

Language - C# prefered, but any .NET supported language would be acceptable. This does not apply to any external modules like GDAL/OGR/Proj.4/JTS/GEOS/Mapserver you need to use.

Contents

Ideas

OpenGL port

Port World Wind to use OpenGL instead of Managed DirectX

Mono Port

Get World Wind running in Mono then hook into the OGL port above or replace with a 2D window. Possibly 2 student could collaborate on these two items.

Student-Teacher Interaction System

It would be great if a 'teacher' could right click on a layer and click Share, or click on the globe to add a shared icon for everyone to see. Of course this doesn't have to be limited to schools, it would also be nice for presentations for example. Lots of extra features could be added, for example the host could ask clients to all move to a certain location ("find the Eiffel tower, kids!") and a list would indicate who passed and who failed. Of course the view could be locked or free, could disable toolbars and menu items, turns layers on and off, activate plugins, etc etc.

ConferenceXP already has the infrastructure to handle the networking/multiplexing.

Easy Data Addition

An interface with which users (even beginners) could prepare any maps/imagery/data they might have (ideally without the need to know anything about map projections) and get it into WW, in a format which could be distributed easily....ome way for individual large images to be manipulated (think Image Overlay with handles), then tiled in WW format with the ability to rejoin as a properly geo-referenced image with a world file or header info like geotif (think Tile Render with more control), as well as a way to easily substitute different map scales at different zoom levels (like USGS TopoMaps). On top of wanting all this, I think WFS/other vector data support is really important to shoot for, and Tiger data should be easily added.

A similar idea from another message:

A streamlined process for getting more data into WW. A stand alone program that can load data from a variety of formats -- terrain models, lines & polyons from shapefiles, points from a geodatabase, ortho images from tiff's in the filesystem, geocoded street network from a WFS server -- and package it all up into distributable WW cache pack. For the bonus round the cache pack can be wrapped up nicely in an installer and plonk an icon down on the tool dock.

Integrated browser

The disconnect between clicking on a point of interest which links to web page is a little disconcerting. Often the user can be easily fooled into thinking nothing is happening if the browser opens behind WW, which happens readily when the user clicks the mouse again, refocussing on the WW window, before the browser has a chance to fire up and load the page.

I'm not thinking of a full blown browser, more like what you would see on a PDA or mobile phone. Text and simple pictures, like the Sage RSS extension for Firefox, but in a single column and no menus side or tool bars. Perhaps in a translucent popup window like the layer manager.

GDAL/OGR and Proj.4 Integration

Add the infrastructure necessary to enable World Wind to handle all the formats that bitmap and vector formats GDAL and OGR can read (rasterizing the vector formats as needed) and enabling WMS and WW native tiled formats to be in any projection that Proj.4 can handle.

Scene Graph/3D Support

World Wind currently has no scene graph for support of efficient rendering of 3D objects. (outside of the sphere of the earth) Modify the World Wind rendering engine to use a scenegraph (Open Scene Graph is a good candidate) and allow larger numbers of 3D objects to be rendered and manipulated. Other solutions to efficiently render many 3D objects are also acceptable.

Vector Support - Shapefiles/OGR/GML/GEOS/NTS

Rendering vectors is a current deficiency in the World Wind engine. Shapefiles are currently rasterized before rendering as a texture. Implement a renderer for vector objects and implement the ability to support parsing of various vector file types. Optionally use NTS or GEOS to allow spatial operations on the data. Demonstrate that it works by rendering at least 2 vector types Using OGR/Shapelib to read the formats is acceptable (and preferable)There is no scene graph to support efficient vector rendering, so an inventive solution might need to be implemented.

Vector Styling/Attribute Filtering GUI

We have Shapefile support in World Wind, but no GUI to help style the data or build expressions to filter the data. Implement a user freindly GUI to allow the end user to style Shapefiles and to filter the data they desire. Preview of the styling visuals and use of good UI design is required.

Personal tools