= Bringing pyModis to the web through ZOO-Project = {{{#!table class="listing" ||=Student Name =||Chingchai Humhong || ||=Organization =||[http://www.osgeo.org OSGeo - Open Source Geospatial Foundation]|| ||=Mentors =||Gerald Fenoy, Luca Delucchi || ||=Title =||Bringing pyModis to the web through ZOO-Project || ||=Sources =||[http://zoo-project.org ZOO-Project],[http://www.pymodis.org pyModis] || }}} == Brief description of your idea == The pyModis project has been developed and used to work with MODIS data, it provides wxPython user interfaces which are able to download and process data using [http://www.pymodis.org/scripts/software.html pyModis scripts]. pyModis depends on a desktop graphical user interface which does not make it directly usable from a web application. The idea of this GSoC proposal is to bring pyModis to the web by publishing Python Web Processing Services using the ZOO-Project technology accessible through a minimal web application. {{{ An idea which can be implemented for the future, based on this initial work, include the creation of new services by combining pyModis, GRASS, OTB and SAGA-GIS services. }}} == State of the software before GSoC == Currently pyModis is able to run on a local computer but cannot be directly remotely invoked on-demand. ZOO-Project is able to handle services implemented in the Python language but do not offer any pyModis capabilities. == State of the software after GSoC == pyModis capabilities will be directly available online, a minimal User Interfaces will be provided and pyModis services would be able to be remotely invoked through ZOO-Project using the WPS protocol, so from any client application providing the WPS capabilities, such as QGIS for instance. == Schedule == Prior to the start of the GSoC period, I will learn in more details every of the involved technologies, starting with ZOO-Project and pyModis. First, by learning how to write zcfg and Python service should be implemented for ZOO-Project, then services that use specific pyModis capabilities. To finish, I will have a deep look in the Hogan templating system used by the ZOO-Client (part of the ZOO-Project). Having learnt pyModis scripts in details, I should be able to evaluate the commonly used data types to be taken into account during the User Interface design and anticipate the HTML elements to use. {{{#!table class="listing" ||= Timeline =||= TODO =||= Status =|| || 23 – 31 May 2016 || - Starting with ZOO-Project and pyModis by learning how to write ZOO Service Configuration File (ZCFG) and Implementing the Python Service. || --- || || 1 – 25 June 2016 || - Implementation of pyModis WPS services corresponding to an available script.[[br]] - Development made in the ZOO-Project (GRASS, OTB and SAGA processing support) by bringing MODIS data to the web. || --- || || 26 June – 10 July 2016 || - Creation of the first version of the template used by the web application to automatically generate the HTML form for accessing pyModis WPS services. || --- || || 11 – 25 July 2016 || - Testing template and design user interfaces of web mapping application. || --- || || 26 July – 2 August 2016 || - Update the template for the web application to take into account potential new type of input. || --- || || 3 – 5 August 2016 || - Usability testing template system and web mapping application. || --- || || 6 – 9 August 2016 || - Stringent testing and bug fixes full system. || --- || || 10 – 17 August 2016 || - Documenting the web application and publication on the ZOO-Project web site as an example application. || --- || }}} On the last day of each week, I will write a blog post reporting all the work done during the past week. == Reports == === Week 1 === ==== During Bounding period ==== * I have been contacted with my mentors. We discuss to proceed with the work to develop something into pyModis and Implementation ZOO-Services. I learning introduction to the ZOO-Project and pyModis. ==== 1. What did you get done this week? ==== * I installed Ubuntu 14.04.4 LTS on my laptop. * I installed pyModis branch 2.0 support also Python 3 follow on mentors to recommend. * I installed ZOO-Project on web server and ZOO-Kernel linked against Python 3. * I Starting with ZOO-Project and pyModis by learning how to write ZOO Service Configuration File (ZCFG) and Implementing the Python Service as images shown below. ==== 2. What do you plan on doing next week? ==== * Next Week I plan to Implement pyModis WPS services corresponding to an available script and made in the ZOO-Project by bringing MODIS data to the web. ==== 3. Are you blocked on anything? ==== * Right now, I am not blocked on anything, but I think my work is quite slow because I do not have experience in using Python. Although, I had several difficulties on setting some environments, I had solved that. I would like to thanks my mentors (Gérald Fenoy and Luca Delucchi) and my advisor Sittichai Choosumrong who helped me to solve my problems. {{{ #!html

Test HelloPy Service with Python 3

Test HelloPy Service with Python 2

}}} === Week 2=== Not reported yet. == Student's Biography == === Programming and GIS === I am a 28 year-old 2rd year student at the Naresuan University in Thailand. I am pursuing my Bachelors in Geography and Masters by research in Geographic Information Science. GIS is my specialization for research in my Masters. I am looking forward to pursue a career in the fields with GIS as a core concept. I am interested in open source development as it is extremely helpful to developers everywhere to create new and improved programs to solve real world problems. I have been working on WPS services implementation as a part of my research in the field of Spatial Informatics and started learning about the ZOO-Project WPS. After discussing my idea with the ZOO-Project WPS team, their feedback helped me a lot in refining and redesigning my idea. === Computing experience === I am quite used to various GIS related softwares like ZOO-Project WPS, GRASS, QGIS, PostgreSQL/PostGIS, pgRouting, OpenLayers and OpenStreetMap. * '''OpenSource GIS:''' QGIS, GRASS GIS, gvSIG, uDig, MapWindow GIS, Marble, FWTools, GDAL/OGR, GeoServer, MapServer, GeoMoose, GeoNode, OpenLayers, PostgreSQL/PostGIS, pgRouting, OSGeo Live, OpenGeoSuite, GeoExt and Heron MC. * '''Operating Systems:''' Microsoft Windows and Linux * '''Programming languages:''' HTML, XML, CSS, PHP, JavaScript, Python, C++ and SQL Good Knowledge of Web Mapping Application Development, working knowledge of computers using spreadsheets and Geospatial Databases system. === Research experience === * Comparisons of Drainage Network Delineation from Different Thresholds of Digital Elevation Models. Geoinfotech 2016, 3-5 February 2016, Queen Sirikit National Convention Center (QSNCC), Bangkok, Thailand. * Real-time rainfall Interpolation based on Web Processing Service Using FOSS4G and Open Data. FOSS4G-Asia 2014, 2-5 December 2014, Asian Institute of Technology, Pathumthani, Thailand. * Developing Web-Enabled Considering Decision Support System for Staff Dormitory Service in Naresuan University using pgRouting. The 4th Conference Geoinformatics Naresuan, 31 October 2014, Naresuan University, Phitsanulok, Thailand. * A Cloud-Based Platform for Geological Data Acquisition via Mobile Device. The 35th Asian Conference on Remote Sensing (ACRS 2014), 27- 31 October 2014, Nay Pyi Taw, Myanmar. * Fall Biomass Assessment in Mea Hong Son Province by Using MODIS Data. The 1st Conference Geoinformatics Naresuan, 21 September 2010, Naresuan University, Phitsanulok, Thailand. * Wild Fire Risk Analysis from Hotspots and Environmental Factors in Mae Hong Son Province. GEOINFOTECH 2010 Conference, 15-17 December 2010, IMPACT Exhibition and Convention Center, Nonthaburi, Thailand. [https://wiki.osgeo.org/wiki/Bringing_pyModis_to_the_web_through_ZOO-Project_GSoC_2016 OSGeo wiki] [https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2016_Accepted Google Summer of Code 2016 Accepted]