OpenStreetMap logo OpenStreetMap

tassia's Diary

Recent diary entries

CubaConf & FOSS4G NA & !DebConf

Posted by tassia on 26 July 2016 in English. Last updated on 28 July 2016.

This summer I missed DebConf16 in Cape Town and, being completely offline, not even the videos I followed this time. I hope I can meet many of my old Debian friends next year in Montreal, and I’ll try to slowly catch up with what happened during those days in Africa.

Luckily I had attended CubaConf and FOSS4G NA that fulfilled my needed dose of conference days and brought me many other friends and projects that I hope to keep up when I go back to real life. After almost 3 months of comings and goings of all kinds of trips, between conferences and family commitments, now I’m finally packing to go back home. It seems more than time to publish some late reports.

CubaConf took place in Havana from April 25th to 27th. It was the first international free software conference in the Island, with people from 17 countries, mainly from Latin America. All sessions in the main room were simultaneously translated to/from English/Spanish. The conference had a colorful and diverse environment, above the average of all the other tech meetings I’ve already attended.

CubaConf was an eye-opening experience for me with respect to:

See full entry

OAM-QGIS-plugin: Outreachy wrap-up

Posted by tassia on 22 December 2015 in English.

This is my last post of the series, which is also my last pending task of the Outreachy internship. I’m late with this wrap-up, sorry if you were waiting for that, but during the school year I had a hard time to keep up with my activities related to the plugin. Now that I’m on vacations I’m closing the cycle.

On the 1st of October 2015 we presented to the community the work accomplished by HOT Outreachy interns. My intervention can be seen through the HOT Youtube page, and I’ll try to summarize it here.

Looking back at the experience with Outreachy, I realized that my journey was not very typical. I have a background with computers and I’m currently studying environment, but I’ve been a free software enthusiast for many years now. I’ve started contributing to HOT as a remote mapper in early 2015, then I’ve chosen Outreachy as my summer project. With HOT I had the chance to use my technical skills for something that I was already interested by other means (its humanitarian aspect).

Since many of the projects proposed by HOT interested me, I’d say my first challenge was the choice of the topic I would be working on during my whole vacations. HOT as an organization had proposed 17 ideas, from which I selected the following 3: creation of moodle courses, translation workflow for LearnOSM and OAM QGIS plugin. The last one was a good opportunity to connect both of my areas of studies, and that was the main reasoning of my choice.

After that, my next challenge was to produce a Hello World QGIS plugin as a prove of concept, also to serve as my first contribution to OAM. Since I had very few experience with GUI programming, this was not a very easy task, specially considering that the application deadline was at my exam period for the spring term. The successful application came only 2 days before the HOT Summit, where I had the change to meet the international HOT community, specially Cristiano and Drazen who were my mentors.

See full entry

OAM-QGIS-plugin: development update #5

Posted by tassia on 2 September 2015 in English.

For 2 weeks in August I was “abducted” by DebConf and that slowed down the development of the plugin from my side. Fortunately we have a new coding contributor in the team who kept the ball rolling while I was busy, thanks @yojiyojiyoji!

At DebConf I had the chance to show the plugin to some folks who gave us some good ideas of how to make it more user-friendly. I also managed to gather some potential translator contributors, who I’ll poke as soon as we have the strings file ready to be translated.

As a result of that, we decided to change the design of the uploader from tabs to wizard, due to its step-by-step nature. Apparently users expect an unrelated and non sequencial flow with tabs, which I was unaware of, but it makes a lot of sense indeed. With the help of yojiyojiyoji I migrated all the uploader code to this wizard design.

Here is how the new design looks like for the final wizard page:

Uploader wizard

See full entry

If you are a drone mapper tired to see your imagery sitting in your own hard drive, stay tuned on OAM, it is coming to make sharing a much easier task!

OAM stands for OpenAerialMap. It is a collection of services related to sharing open imagery: uploading, hosting, indexing, searching, and using tile map services. Not only drone mappers, but also government agencies and satelitte imagery provider are expected to join the network, enriching the pool of available resources to be easily searchable by users.

HOT currently leads the development of OAM aiming to provide a simple solution to host and share imagery for humanitarian response and disaster preparedness. But it is worth noting that the final products won’t be restricted to humanitarian use. All the available imagery will be released freely under a Creative Common license, so one could use it for a variety of purposes. For instance, students and researchers will greatly benefit from OAM when looking for open imagery of specific areas.

I am working now on the development of a Quantum GIS (QGIS) plugin to communicate with OAM services. It will basically function as a desktop client for OAM. Using this plugin, GIS users wil be able to upload imagery to OAM, trigger the creation of web map services, search, browse and download imagery from the catalog.

This week I’ve just finished implementing the upload functions. Let’s have a tour in what we have so far.

Through the Imagery tab the user can select data to be uploaded. It is possible to select layers currently loaded on the QGIS map canvas or any file existing on the computer, either a single GeoTiff image or a collection of files also known as VRT. Multiple sources can be selected and added to the upload list. Reordering of sources is also possible using the up/down buttons, and the upload will be performed on the order provided.

See full entry

OAM-QGIS-plugin: development update

Posted by tassia on 8 July 2015 in English.

It’s been a while since my last post, so I just wanted to give a short update about the plugin development stage.

This week I’ve finally managed to have a working code for the upload feature ;-)

All signals and functions for the imagery tab are implemented:

  • Select files from file system
  • Load QGIS layers (getting the corresponding file system path)
  • Add/remove selected sources
  • Rearrange order of sources to upload (up/down buttons)

I still need to work on the package for QGIS which will include all the dependencies, and upload it to qgis repository with the tag experimental. In the meantime, you get get the code at our Github repository and follow the install instructions at the README file.

The interface has also evolved a bit since my last post, and an update on that will come in the short future.

As always, feedbacks are very very welcome, please don’t hesitate to play with the plugin and get in touch.

OAM-QGIS-plugin: Features and GUI design

Posted by tassia on 11 June 2015 in English. Last updated on 2 September 2015.

Plugin required features

We have listed the following features to be included in the plugin first version:

  • select input data (from individual files, a VRT or a loaded layer)
  • insert/load/change metadata
  • validate metadata
  • choose OIN upload destination
  • upload transaction
  • notify OAM of new OIN resource
  • trigger tile service on OAM
  • authenticate to OAM (if requesting tile service)
  • provide additional OAM metadata (if requesting tile service)
  • re-projecting to EPSG:3857 (optional)
  • convert format to GeoTIFF RGB (optional)

Regarding the metadata acquisition, we didn’t discuss yet about what can be extracted automatically from the GeoTIFF and what needs to be informed by the user.

GUI design

The list of features guided the plugin GUI design. I’ve first chosen Pencil as a GUI prototyping and sketching tool. It is a cross-platform tool based on mozilla firefox which can be installed as a Firefox extension, being accessible through its tools menu.

These quick tutorials demonstrate what can be done with pencil:

The draft mockups I’ve made with pencil are available in our repository. Here is the extracted png image:

See full entry

OAM-QGIS-plugin: Project setup and research

Posted by tassia on 5 June 2015 in English. Last updated on 26 June 2015.

Basic project setup

Coding guidelines:

  1. Use qtcreator for GUI layout/development and for defining most of the common signals/slots for the GUI components
  2. Do not change any generated code directly but create a subclass and then override/extend it, to keep our code and the automatically generated code separated
  3. Use QgisPluginCreator that has some basics setup (eg. internationalzation support)
  4. Package any external python modules as part of the plugin

Research summary

OpenAerialMap (OAM) is an open service that will provide storage and search within a collection of openly licensed satellite and unmanned aerial vehicle (UAV) imagery. OAM will facilitate the processing and provision of imagery for humanitarian response and disaster preparedness, making it easier to determine what imagery is available and where it is. [OAM Catalog] (https://github.com/hotosm/oam-catalog) will be used for indexing and OAM Browser for searching.

A blog post from DevSeed introduces the beta version of this service which is already available.

The Open Imagery Network (OIN) is a consortium and specification of imagery providers led by HOT and Planet [1]. Imagery indexes from all participating providers will be merged into the main OIN index through a GitHub repository. Providers will host an index of all their dataset and add the URI to the main OIN index in GitHub.

The OAM Server will be responsible for processing data directly from providers of aerial imagery or from existing Open Imagery Network (OIN) nodes [2]. Once a new imagery is uploaded, the Server will trigger a tile engine instance to create a tiled map service and save it to a specific storage (eg. S3 bucket). It will also create the needed metadata and submit it to the OAM catalog to be indexed and easily searcheable. Check specifications for OAM metadata and OIN metadata for more details. Each stored image will carry such metadata.

See full entry