<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><br></div><div><div>Hi All,</div><div><br></div><div> i'm Massimo Di Stefano, working on the Ossimplanet integration with Grass and Qgis.</div><div><br></div><div>here for my first report, a description about the project, its timeline etc .. is on</div><div><br></div><div>my wiky page for the project is hosted here:</div><div><br></div><div><a href="http://trac.osgeo.org/ossim/wiki/GoogleSummerOfCode">http://trac.osgeo.org/ossim/wiki/GoogleSummerOfCode</a></div><div><br></div><div><div>The code is under svn you can browse it here :</div><div><br></div><div><a href="http://svn.osgeo.org/ossim/trunk/gsoc/">http://svn.osgeo.org/ossim/trunk/gsoc/</a></div></div><div><br></div><div>I'll store the summary reports for each week here :</div><div><br></div><div><a href="http://trac.osgeo.org/ossim/wiki/WeekReport?action=edit">http://trac.osgeo.org/ossim/wiki/WeekReport?action=edit</a></div><div><br></div><div><br></div><div>-- Report --</div><div><br></div><div>i start to wrote code .... my first time using svn (cool!) </div><div><br></div><div>i'll try to describe it here ...</div><div><br></div><div><br></div><div><br></div><div>what is done :</div><div><br></div><div>- code to use ossim TCP capabilities to set a position and a point of view based on (lon, lat, altitude, roll, pitch, gain) (finished)</div><div>- code for reading the gps data from dgps and display the nmeadata in the gui (include a map view using qtwebkit), it will use a fixed position (gps) and a modificable view setting (roll,pitch,gain) (finished)</div><div>- code to change the position using a joystic (needs some implementation yet, but is ready for test) </div><div><br></div><div>so the position message can be sended using gui, gps, joystick</div><div><br></div><div>- code to read the grass environment and retrieve a list for vector, raster and regions in the running mapset </div><div> so it is possible to syncronize the posiotion in ossimplanet on the center of the active grass region or change the region to a speciphic layer or saved region</div><div><br></div><div>- code to export grass elevation data to ossimplanet (g.ossim) the code is usable from the pyqt gui or directly from grass (finished)</div><div>- code to read vector layer in grass and export it to kml (it is to have a custom kml settings, like color, label etc...) (needs testing, not finished)</div><div><br></div><div><br></div><div>next steps :</div><div><br></div><div>- finish the code i described first</div><div>- initial work on a table widjet (it will contain the avayable layer in the mapset and a checkbox for each layer i'll try to realize a "query system" connected to the gui )</div><div>- reorganize the code in a clean way, ranaming function give them a better position in the code and create comment </div><div>- starts a depth immersion in the ossim-gdal code </div><div><br></div><div><br></div><div>known problems that can block me :</div><div><br></div><div>using the gdal-ossim plug-in we can read grass raster layer but there are problems to reneder images with more than 255 entries in the colortable.</div><div><br></div><div>i had a chat with FrankW where we discuss a bit the problem, i stored the irc log here :</div><div><br></div><div><a href="http://trac.osgeo.org/ossim/attachment/wiki/GdalOssimPlugin/frankw_irclog.txt">http://trac.osgeo.org/ossim/attachment/wiki/GdalOssimPlugin/frankw_irclog.txt</a></div><div><br></div><div>tring to summarize it :</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">the code needs to be modified to handle three cases - 8bit, 16bit and 32bit integers and to error out gracefully if it isn't one of those cases...</div></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">... and "the s[sample] value it fetched from the input buffer this would need to be altered to fetch it based on the type of the buffer." in function loadIndexTo3BandTile</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">what i learn .. : </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">theSingleBandTile ---> point to a byte array (that isn't every true)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">theGdalBuffer.resize(theSingleBandTile->getSizePerBandInBytes()*2); ---> the band is readed correctly but is is "casted" to 8bit</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">i think gdal-grass should read correctly the grass data, so maybe the problem is in the colortable rendering in the GDAL OSSIM driver.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">i'm tring to documenting myself reading :</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><a href="http://www.gdal.org/gdal_datamodel.html">http://www.gdal.org/gdal_datamodel.html</a> </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">and :</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">ossimGdalTileSource::loadIndexTo3BandTile()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">... seems it accepts only raster files with 3band or with indexcolor , need i a function to port in rgb mode a grass color table ?</div><div><br></div><div><div>i'm reading the grass colortable structure to learn more</div></div><div><br></div></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">any suggestion, lines of code, examples ... that can help me to know how to work on the gdal-ossim code .. can make me happy</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">... i know it is not a simple task.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><br></div></div><div>thanks to Osgeo, All the Dev-Team and Google for this cool experience!</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><br><div apple-content-edited="true"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Massimo Di Stefano</div><div><a href="mailto:massimodisasha@yahoo.it">massimodisasha@yahoo.it</a></div><div><br></div><div>epifanio on irc.freenode.net /join gfoss</div><div><br></div></div></div></div></div></div></div></div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><br></div><div><br></div></div></span></div></span></div></span></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></body></html>