wiki:GoogleSummerOfCode

Version 5 (modified by epifanio, 15 years ago) ( diff )

--

PlanetSasha : OssimPlanet integration in Grass and Qgis

Massimo Di Stefano's Google Summer of Code 2009 project, mentored by Mark Lucas

Aim of the project

Develop a plug-in for the ossimPlanet application for interface with other Open Source G.I.S software such as Grass and Qgis. This will allow export of elevation data from grass to OssimPlanet and add the ability to load Grass data (both raster and vector) in Ossim. The end result will be to synchronize the grass maps canvas extent with the Ossimplanet scene.

State of the art

Positioning

Using the ossimplanet tcp listner and a python socket i'm configuring a gui to modify position and view parameters (roll, pith,heading) in ossimplanet. I'm planning to add different "position" type :

1 - Grass : read the grass region, extract the center in lon-lat wgs84 and sen it to ossimplanet,

the region center will be the start point for the pan-action. i'm adding the capabilities to read data inside the current grass mapset and set the region according to : a) raster file b) vector file c) saved region

2 - Gps : read the position from a connected gps serial device, and use the gui to modify the view parameters.

in these case the gps (NMEA) data will be saved in a postgis layer, the NMEA data will be displaied in a specific gui tab (in the gui will be added the ability to save a kml using a template (maybe html template using pyqt-webkit object so in addition will be possible to add an openlayer

mapdisplay to display and interrogate the saved waypoints)

3 - Static Positioning : zomm to a point with know coordinates :

a) simple insert manually a lon-lat values and zoom to it b) soom to a sepciphic place (i'm storing geonames cities data in a db) in a combobox

i'll add a list with cities to zoom to.

4 - Joystic : The code will use pygame, it is an alternative pan-zooming mode, the joystick buttons will be cofigured

to make action like save point in db or make query to loaded data. For now the relative code will be based on a simple "increase/decrease - latitude/longitude values" it will no andle rotation like a flight simulator. I'm tring to develop code based on quathernion math, the function to implement are relative simple ... but its usage is no easy beacouse it is not so intuitive

Data managing :

Using grass.py to read avaiable layer (image, elevation, vector) from the mapset, put a list for each type in a relative combobox, For each type will be possible to run on the relative layer the ossim executable application, img2rr to make preview, cmm, orthoigen to produce elevation data, ossim_height to retrieve msl data, and others. The ossim executable will run on grass data or external files. To load data for now i've no clue if it will be possible to load it dinamically (using tcp or modifing source), so i'm studing a way to add layers ... the more simple way seems to be : generate an ossim.session file using python from a list of "added" layers. For ogr vectors will be possible to add capabilities to customize its rendering using a kwl files, i'm tring that option to create a dialog to select colors, line's width, point's size etc .. (rasterizing vecor object will be an option, i'll add it too)

Issue and question : where can i retrieve information on how to add a placemark using tcp

Planned Timeline

I begin to wrote the code for the project, actually i'm giving the firts attention to the positioning capabilities in ossimplanet.

ToDo

page - draft - i need to terminate it yet

Note: See TracWiki for help on using the wiki.