<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-SamuelLapointe</id>
	<title>OSGeo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-SamuelLapointe"/>
	<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/wiki/Special:Contributions/Wiki-SamuelLapointe"/>
	<updated>2026-04-12T14:30:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=102121</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=102121"/>
		<updated>2016-08-12T19:26:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:GSoC2016 OL3GM Slide.png|thumbnail|Slide for OL3-Google-Maps]]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I integrated the project with Travis CI. Now, every new commit and new pull request will be automatically linted and built to look for errors.&lt;br /&gt;
&lt;br /&gt;
I added support for writing and running tests. They are ran automatically with Travis CI as well. I used Mocha and Chai for this.&lt;br /&gt;
&lt;br /&gt;
I wrote a few tests. This took longer than expected, as I had never touched unit tests before. A lot of the work I’ve done today turned out to be wrong, as I learned testing private methods and variables was bad practice after I had written the tests. However, I understand better now what the tests are actually for. This will be very useful in the future.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will work on an issue with the library: to synchronise OpenLayers layers with GoogleMaps layers, we make the OpenLayers layers invisible, but requests are still sent to the server for new tiles. This is by design in OL3, so that when the layer is made visible again, the map is already loaded. However, we want to disable that for the library. I sent a message on the mailing list asking for potential solutions, but no-one was able to bring one. I will work on finding one next week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I was going to work on the issue where both OpenLayers and Google Maps would do requests for tiles when Google Maps is active. However, when I started working on it monday morning, I couldn’t reproduce the issue. Whenever Google Maps is active, only Google Maps sends requests, and the same goes for OpenLayers.&lt;br /&gt;
&lt;br /&gt;
I implemented a feature requested by a user: support for ol.style.RegularShape. This was possible by using the attributes of the OpenLayers RegularShape class to create a SVG path to be used as a marker in Google Maps.&lt;br /&gt;
&lt;br /&gt;
I worked on implementing OL3-Google-Maps in an existing project using OpenLayers. This allowed me to discover multiple issues with the ImageWMS class I created earlier this summer. These issues have been fixed.&lt;br /&gt;
&lt;br /&gt;
I created a new release of the library, as well as documentation on the procedure to follow when releasing a new version.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will investigate two requests from the community: map rotation (#100) and minResolution/maxResolution (#105). If they are small enough for me to do, I will work on these issues.&lt;br /&gt;
&lt;br /&gt;
I will continue working on the integration test with ol3gm, possibly uncovering new bugs to fix.&lt;br /&gt;
&lt;br /&gt;
If there is enough time after it, I will add an example for unmanaged vector layers (#68).&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
Added support for map rotation. It’s not perfect as the window resize event doesn’t work when the map is rotated, but the controls work correctly. There isn’t a “good” way to implement it since Google Maps doesn’t support rotating maps.&lt;br /&gt;
&lt;br /&gt;
Added support for minResolution and maxResolution. Layers now stop displaying when the current zoom level is outside the ranges set for that layer.&lt;br /&gt;
&lt;br /&gt;
I added options to disable the replication of image and tile layers to Google Maps. I also made an example demonstrating these, as well as unmanaged vector layers.&lt;br /&gt;
&lt;br /&gt;
I worked on my integration test of OL3-Google-Maps into an existing project. I found another bug that I solved in the library, but there’s still 2-3 issues that I haven’t solved yet.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will add some cool examples such as maps using an overview map or Google StreetView.&lt;br /&gt;
&lt;br /&gt;
In my integration test, tiled WMS layers appear at the wrong place on the map. It has something to do with the way I translate coordinates from OpenLayers 3 to the Google Maps API. I will work on this problem next week.&lt;br /&gt;
&lt;br /&gt;
ImageWMS layers don’t refresh themselves after being modified. I will implement a way to notify the layers that the image they rendered is no longer valid and needs to be refreshed.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
As planned, I added an example featuring an overview map. However, I did not do the StreetView example, as it would have required more development, and I decided bug-fixing was a higher priority.&lt;br /&gt;
&lt;br /&gt;
I found and solved the issue with some tiled WMS layers not displaying correctly. The problem was that OL3 supports setting a custom origin point for tile layer, while Google Maps doesn’t. The fix involves moving the tile coordinates to the right place before sending them to the Google Maps API.&lt;br /&gt;
&lt;br /&gt;
I added a function to refresh ImageWMS layers. &lt;br /&gt;
&lt;br /&gt;
Added support for transparency on tiled layers. Before, changing transparency on them would make the OL3 layer visible, now the opacity is properly carried over to the Google Maps API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is the last week for GSoC, I will spend it doing various bugfixes as I continue my integration test on the side.&lt;br /&gt;
&lt;br /&gt;
I will release a new version of the library at the end of the week. That version will be the one I send for the final evaluation.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
=== Week 12 ===&lt;br /&gt;
&lt;br /&gt;
Hi all, here’s my last report for the OL3-Google-Maps project.&lt;br /&gt;
First of all, here’s a link to all my commits on the project, as requested by Google: https://github.com/mapgears/ol3-google-maps/commits/master?author=samuellapointe&lt;br /&gt;
&lt;br /&gt;
The goal for the project was to add support for new types of layers in the OL3-Google-Maps library. This meant that the layers using the WMS, XYZ and TMS protocols would be rendered using the Google Maps API.&lt;br /&gt;
&lt;br /&gt;
Before the beginning of the summer, these layers would be rendered using OpenLayers 3 and placed above the Google Maps layer. There was a visible desynchronisation when panning and zooming in the map, as OL3 and Google Maps don’t animate these actions the same way.&lt;br /&gt;
&lt;br /&gt;
With the additions of this summer, most tile protocols are supported in the library, as well as the ImageWMS layer type. These layers are rendered by Google Maps itself, so there’s no possible desynchronisation. Moreover, there is now a website to showcase the library and its features, as well as automatic code checks and tests on new pull requests and commits.&lt;br /&gt;
&lt;br /&gt;
To get started, you can find a link to download the latest version of the library, and instructions on how to use it here: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
If you want to try some of the features without installing the library on your machine, you can go to the examples page: http://mapgears.github.io/ol3-google-maps/examples/&lt;br /&gt;
&lt;br /&gt;
Link to the slide, as requested by OSGeo: https://wiki.osgeo.org/wiki/File:GSoC2016_OL3GM_Slide.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=File:GSoC2016_OL3GM_Slide.png&amp;diff=102118</id>
		<title>File:GSoC2016 OL3GM Slide.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=File:GSoC2016_OL3GM_Slide.png&amp;diff=102118"/>
		<updated>2016-08-12T19:21:48Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=102006</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=102006"/>
		<updated>2016-08-05T19:15:20Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I integrated the project with Travis CI. Now, every new commit and new pull request will be automatically linted and built to look for errors.&lt;br /&gt;
&lt;br /&gt;
I added support for writing and running tests. They are ran automatically with Travis CI as well. I used Mocha and Chai for this.&lt;br /&gt;
&lt;br /&gt;
I wrote a few tests. This took longer than expected, as I had never touched unit tests before. A lot of the work I’ve done today turned out to be wrong, as I learned testing private methods and variables was bad practice after I had written the tests. However, I understand better now what the tests are actually for. This will be very useful in the future.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will work on an issue with the library: to synchronise OpenLayers layers with GoogleMaps layers, we make the OpenLayers layers invisible, but requests are still sent to the server for new tiles. This is by design in OL3, so that when the layer is made visible again, the map is already loaded. However, we want to disable that for the library. I sent a message on the mailing list asking for potential solutions, but no-one was able to bring one. I will work on finding one next week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I was going to work on the issue where both OpenLayers and Google Maps would do requests for tiles when Google Maps is active. However, when I started working on it monday morning, I couldn’t reproduce the issue. Whenever Google Maps is active, only Google Maps sends requests, and the same goes for OpenLayers.&lt;br /&gt;
&lt;br /&gt;
I implemented a feature requested by a user: support for ol.style.RegularShape. This was possible by using the attributes of the OpenLayers RegularShape class to create a SVG path to be used as a marker in Google Maps.&lt;br /&gt;
&lt;br /&gt;
I worked on implementing OL3-Google-Maps in an existing project using OpenLayers. This allowed me to discover multiple issues with the ImageWMS class I created earlier this summer. These issues have been fixed.&lt;br /&gt;
&lt;br /&gt;
I created a new release of the library, as well as documentation on the procedure to follow when releasing a new version.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will investigate two requests from the community: map rotation (#100) and minResolution/maxResolution (#105). If they are small enough for me to do, I will work on these issues.&lt;br /&gt;
&lt;br /&gt;
I will continue working on the integration test with ol3gm, possibly uncovering new bugs to fix.&lt;br /&gt;
&lt;br /&gt;
If there is enough time after it, I will add an example for unmanaged vector layers (#68).&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
Added support for map rotation. It’s not perfect as the window resize event doesn’t work when the map is rotated, but the controls work correctly. There isn’t a “good” way to implement it since Google Maps doesn’t support rotating maps.&lt;br /&gt;
&lt;br /&gt;
Added support for minResolution and maxResolution. Layers now stop displaying when the current zoom level is outside the ranges set for that layer.&lt;br /&gt;
&lt;br /&gt;
I added options to disable the replication of image and tile layers to Google Maps. I also made an example demonstrating these, as well as unmanaged vector layers.&lt;br /&gt;
&lt;br /&gt;
I worked on my integration test of OL3-Google-Maps into an existing project. I found another bug that I solved in the library, but there’s still 2-3 issues that I haven’t solved yet.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will add some cool examples such as maps using an overview map or Google StreetView.&lt;br /&gt;
&lt;br /&gt;
In my integration test, tiled WMS layers appear at the wrong place on the map. It has something to do with the way I translate coordinates from OpenLayers 3 to the Google Maps API. I will work on this problem next week.&lt;br /&gt;
&lt;br /&gt;
ImageWMS layers don’t refresh themselves after being modified. I will implement a way to notify the layers that the image they rendered is no longer valid and needs to be refreshed.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
As planned, I added an example featuring an overview map. However, I did not do the StreetView example, as it would have required more development, and I decided bug-fixing was a higher priority.&lt;br /&gt;
&lt;br /&gt;
I found and solved the issue with some tiled WMS layers not displaying correctly. The problem was that OL3 supports setting a custom origin point for tile layer, while Google Maps doesn’t. The fix involves moving the tile coordinates to the right place before sending them to the Google Maps API.&lt;br /&gt;
&lt;br /&gt;
I added a function to refresh ImageWMS layers. &lt;br /&gt;
&lt;br /&gt;
Added support for transparency on tiled layers. Before, changing transparency on them would make the OL3 layer visible, now the opacity is properly carried over to the Google Maps API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is the last week for GSoC, I will spend it doing various bugfixes as I continue my integration test on the side.&lt;br /&gt;
&lt;br /&gt;
I will release a new version of the library at the end of the week. That version will be the one I send for the final evaluation.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=101491</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=101491"/>
		<updated>2016-07-29T20:06:10Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I integrated the project with Travis CI. Now, every new commit and new pull request will be automatically linted and built to look for errors.&lt;br /&gt;
&lt;br /&gt;
I added support for writing and running tests. They are ran automatically with Travis CI as well. I used Mocha and Chai for this.&lt;br /&gt;
&lt;br /&gt;
I wrote a few tests. This took longer than expected, as I had never touched unit tests before. A lot of the work I’ve done today turned out to be wrong, as I learned testing private methods and variables was bad practice after I had written the tests. However, I understand better now what the tests are actually for. This will be very useful in the future.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will work on an issue with the library: to synchronise OpenLayers layers with GoogleMaps layers, we make the OpenLayers layers invisible, but requests are still sent to the server for new tiles. This is by design in OL3, so that when the layer is made visible again, the map is already loaded. However, we want to disable that for the library. I sent a message on the mailing list asking for potential solutions, but no-one was able to bring one. I will work on finding one next week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I was going to work on the issue where both OpenLayers and Google Maps would do requests for tiles when Google Maps is active. However, when I started working on it monday morning, I couldn’t reproduce the issue. Whenever Google Maps is active, only Google Maps sends requests, and the same goes for OpenLayers.&lt;br /&gt;
&lt;br /&gt;
I implemented a feature requested by a user: support for ol.style.RegularShape. This was possible by using the attributes of the OpenLayers RegularShape class to create a SVG path to be used as a marker in Google Maps.&lt;br /&gt;
&lt;br /&gt;
I worked on implementing OL3-Google-Maps in an existing project using OpenLayers. This allowed me to discover multiple issues with the ImageWMS class I created earlier this summer. These issues have been fixed.&lt;br /&gt;
&lt;br /&gt;
I created a new release of the library, as well as documentation on the procedure to follow when releasing a new version.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will investigate two requests from the community: map rotation (#100) and minResolution/maxResolution (#105). If they are small enough for me to do, I will work on these issues.&lt;br /&gt;
&lt;br /&gt;
I will continue working on the integration test with ol3gm, possibly uncovering new bugs to fix.&lt;br /&gt;
&lt;br /&gt;
If there is enough time after it, I will add an example for unmanaged vector layers (#68).&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
Added support for map rotation. It’s not perfect as the window resize event doesn’t work when the map is rotated, but the controls work correctly. There isn’t a “good” way to implement it since Google Maps doesn’t support rotating maps.&lt;br /&gt;
&lt;br /&gt;
Added support for minResolution and maxResolution. Layers now stop displaying when the current zoom level is outside the ranges set for that layer.&lt;br /&gt;
&lt;br /&gt;
I added options to disable the replication of image and tile layers to Google Maps. I also made an example demonstrating these, as well as unmanaged vector layers.&lt;br /&gt;
&lt;br /&gt;
I worked on my integration test of OL3-Google-Maps into an existing project. I found another bug that I solved in the library, but there’s still 2-3 issues that I haven’t solved yet.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will add some cool examples such as maps using an overview map or Google StreetView.&lt;br /&gt;
&lt;br /&gt;
In my integration test, tiled WMS layers appear at the wrong place on the map. It has something to do with the way I translate coordinates from OpenLayers 3 to the Google Maps API. I will work on this problem next week.&lt;br /&gt;
&lt;br /&gt;
ImageWMS layers don’t refresh themselves after being modified. I will implement a way to notify the layers that the image they rendered is no longer valid and needs to be refreshed.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=101162</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=101162"/>
		<updated>2016-07-22T19:43:44Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I integrated the project with Travis CI. Now, every new commit and new pull request will be automatically linted and built to look for errors.&lt;br /&gt;
&lt;br /&gt;
I added support for writing and running tests. They are ran automatically with Travis CI as well. I used Mocha and Chai for this.&lt;br /&gt;
&lt;br /&gt;
I wrote a few tests. This took longer than expected, as I had never touched unit tests before. A lot of the work I’ve done today turned out to be wrong, as I learned testing private methods and variables was bad practice after I had written the tests. However, I understand better now what the tests are actually for. This will be very useful in the future.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will work on an issue with the library: to synchronise OpenLayers layers with GoogleMaps layers, we make the OpenLayers layers invisible, but requests are still sent to the server for new tiles. This is by design in OL3, so that when the layer is made visible again, the map is already loaded. However, we want to disable that for the library. I sent a message on the mailing list asking for potential solutions, but no-one was able to bring one. I will work on finding one next week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I was going to work on the issue where both OpenLayers and Google Maps would do requests for tiles when Google Maps is active. However, when I started working on it monday morning, I couldn’t reproduce the issue. Whenever Google Maps is active, only Google Maps sends requests, and the same goes for OpenLayers.&lt;br /&gt;
&lt;br /&gt;
I implemented a feature requested by a user: support for ol.style.RegularShape. This was possible by using the attributes of the OpenLayers RegularShape class to create a SVG path to be used as a marker in Google Maps.&lt;br /&gt;
&lt;br /&gt;
I worked on implementing OL3-Google-Maps in an existing project using OpenLayers. This allowed me to discover multiple issues with the ImageWMS class I created earlier this summer. These issues have been fixed.&lt;br /&gt;
&lt;br /&gt;
I created a new release of the library, as well as documentation on the procedure to follow when releasing a new version.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will investigate two requests from the community: map rotation (#100) and minResolution/maxResolution (#105). If they are small enough for me to do, I will work on these issues.&lt;br /&gt;
&lt;br /&gt;
I will continue working on the integration test with ol3gm, possibly uncovering new bugs to fix.&lt;br /&gt;
&lt;br /&gt;
If there is enough time after it, I will add an example for unmanaged vector layers (#68).&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100680</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100680"/>
		<updated>2016-07-15T19:38:02Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I integrated the project with Travis CI. Now, every new commit and new pull request will be automatically linted and built to look for errors.&lt;br /&gt;
&lt;br /&gt;
I added support for writing and running tests. They are ran automatically with Travis CI as well. I used Mocha and Chai for this.&lt;br /&gt;
&lt;br /&gt;
I wrote a few tests. This took longer than expected, as I had never touched unit tests before. A lot of the work I’ve done today turned out to be wrong, as I learned testing private methods and variables was bad practice after I had written the tests. However, I understand better now what the tests are actually for. This will be very useful in the future.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I will work on an issue with the library: to synchronise OpenLayers layers with GoogleMaps layers, we make the OpenLayers layers invisible, but requests are still sent to the server for new tiles. This is by design in OL3, so that when the layer is made visible again, the map is already loaded. However, we want to disable that for the library. I sent a message on the mailing list asking for potential solutions, but no-one was able to bring one. I will work on finding one next week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100281</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100281"/>
		<updated>2016-07-08T19:31:04Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I worked on a bug where text labels would overlap markers in Google Maps. This happens because Google Maps doesn’t support text labels using its default API, so we use a small library that adds support for these labels by drawing them into canvases onto the Google Maps map.&lt;br /&gt;
&lt;br /&gt;
However, markers are still rendered on tiles, which means text labels are always in front of every marker. To fix this, I made the markers render the same way text labels do, on canvases. It also allows new options such as opacity. It still needs to be reviewed before it’s released though.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is mostly dedicated to automatic testing. I will learn how to use Travis CI and use it to automatically do small tests on new pull requests. This will make it easier for us to test fixes from the community.&lt;br /&gt;
&lt;br /&gt;
I also plan to upgrade OpenLayers 3 to the latest version, and release a new version if everything goes well.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100093</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=100093"/>
		<updated>2016-07-01T20:24:55Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I learned how to use NPM to publish libraries, and I published ol3-google-maps on it. I had to do a minor release to fix something I had forgotten on the first version I published.&lt;br /&gt;
&lt;br /&gt;
Switched from JSHint to ESLint. This is because Openlayers 3 made the change, and the library is an add-on to Openlayers, so it makes sense we’d follow the same code standards.&lt;br /&gt;
&lt;br /&gt;
I started working on a task that was planned for later this summer: fixing text labels overlapping each other. We decided it had a higher priority over the tasks I was supposed to do next.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
I plan to work all week on finding a solution for text labels overlapping on markers in Google Maps. This bug happens because Google Maps places the text labels at a different layer than the markers, so setting the zIndex as we would do in OpenLayers is not an option.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99753</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99753"/>
		<updated>2016-06-24T20:03:30Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I created a website for the library, including instructions to get started and a list of examples: http://mapgears.github.io/ol3-google-maps/&lt;br /&gt;
&lt;br /&gt;
I fixed the issue where some layers would send invalid requests&lt;br /&gt;
&lt;br /&gt;
I released and announced version 0.7 of the library&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Next week is dedicated to learn about the Node Package Manager (npm), and to put the library on it. The objective is to be able to install the library with npm by the end of the week.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Nope&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99465</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99465"/>
		<updated>2016-06-17T20:00:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for several types of tile layers: TileJSON, TMS, WMTS and XYZ. This came with a refactor of the TileWMS herald, which is now more generic and supports these five source types.&lt;br /&gt;
&lt;br /&gt;
I added new examples for these new layer types&lt;br /&gt;
&lt;br /&gt;
There wasn’t a working automatic script to deploy examples for production, so I fixed the existing one.&lt;br /&gt;
&lt;br /&gt;
I started working on the website for the library. &lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Finish the website for the library&lt;br /&gt;
&lt;br /&gt;
Solve the issue where the layers’ extent is not respected by Google Maps (requests are sent in invalid coordinates)&lt;br /&gt;
&lt;br /&gt;
Release a new version of OL3GM and announce it on the ol3-dev mailing list&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I worked a bit on the issue with the invalid requests this week, but I was not able to find a solution yet.&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99294</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99294"/>
		<updated>2016-06-10T19:58:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I refactored the LayersHerald class, it’s now split in several classes. This will make my work for next week easier.&lt;br /&gt;
&lt;br /&gt;
The library now compiles with OpenLayers 3. This fixed the vector layer issue I talked about in my first report.&lt;br /&gt;
&lt;br /&gt;
Upgrade OpenLayers to version 3.16.0.&lt;br /&gt;
&lt;br /&gt;
Publish and announce a new release&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
Add support for TMS and XYZ layers.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I had a hard time compiling the library with OL3, but I’m not blocked on it anymore.&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=99253</id>
		<title>Google Summer of Code 2016 Accepted</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=99253"/>
		<updated>2016-06-08T19:12:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GSoC2016Logo.jpg|500px|link=https://summerofcode.withgoogle.com/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Back to the main OSGeo [[Google Summer of Code 2016]] @ OSGeo wiki page.&lt;br /&gt;
&lt;br /&gt;
== Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
This year OSGeo accepted 22 students working on the following projects.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#D7E3D1; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''Community'''&lt;br /&gt;
|'''Project'''&lt;br /&gt;
|'''Student'''&lt;br /&gt;
|'''1st mentor'''&lt;br /&gt;
|'''2nd mentor'''&lt;br /&gt;
|'''Wiki page'''&lt;br /&gt;
|'''Repository'''&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL &lt;br /&gt;
|Avyav Kumar Singh&lt;br /&gt;
|Rob Emanuele &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|[https://github.com/avyavkumar/gdal/wiki Github]&lt;br /&gt;
|[https://github.com/avyavkumar/gdal Github]&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|GDAL DWG support &lt;br /&gt;
|Alexandr Borzykh&lt;br /&gt;
|Dmitry Baryshnikov &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GDALDWG_SoC_2016 Wiki]&lt;br /&gt;
|[https://github.com/sandyre/libopencad Github]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|Complete basic cartography suite in GRASS GIS wxGUI Map Display &lt;br /&gt;
|Adam Laža&lt;br /&gt;
|Anna Petrasova &lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/BasicCartographySuiteInGRASS Trac]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - Additional segmentation algorithms for i.segment &lt;br /&gt;
|Bo Yang&lt;br /&gt;
|Moritz Lennert &lt;br /&gt;
|Markus Neteler&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/Additional_segmentation_algorithms Trac]&lt;br /&gt;
|[https://trac.osgeo.org/grass/browser/sandbox/bo/i.segment.gsoc2016 Sandbox]&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - PyQt implementation of GUI forms generated automatically from XML &lt;br /&gt;
|Ondřej Pešek&lt;br /&gt;
|Vaclav Petras &lt;br /&gt;
|Anna Petrasova&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2016/PyQtGUI Trac]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - WEBGRASS &lt;br /&gt;
|Mayank Agrawal&lt;br /&gt;
|Rashad Kanavath &lt;br /&gt;
|Massimo Di Stefano&lt;br /&gt;
|[https://github.com/mayank33/webgrass/wiki Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Add tests and educational games support to gvSIG Educa.&lt;br /&gt;
|Carlos I. Colombana&lt;br /&gt;
|Óscar Martínez&lt;br /&gt;
|Joaquín del Cerro&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GvSIG-Educational-Games_GSoC_2016#Project Wiki]&lt;br /&gt;
|[https://github.com/nacho0605/GSoC2016 GitHub]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Development of a model for woody debris flooding hazard in gvSIG&lt;br /&gt;
|Silvia Franceschi&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|Riccardo Rigon&lt;br /&gt;
|[https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2016 github]&lt;br /&gt;
|[https://github.com/silviafranceschi/jgrasstools github]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|Android istSOS client&lt;br /&gt;
|Florin-Daniel Cioloboc&lt;br /&gt;
|Mirko Cardoso&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Android_istSOS Wiki]&lt;br /&gt;
|[https://github.com/istSOS/java-core Github] [https://github.com/masterflorin/java-core Fork]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|istSOS Web API&lt;br /&gt;
|Luka Glušica&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/IstSOS_Web_API Wiki]&lt;br /&gt;
|[https://github.com/istSOS/javascript-core GitHub] [https://github.com/WebPractice-LukaG/javascript-core Fork]&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|VistSOS: the istSOS Data Visualization Framework&lt;br /&gt;
|Felipe Poveda&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/VistSOS_Data_Visualization_Framework Wiki]&lt;br /&gt;
|[https://github.com/felipe07/vistsos GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|NASA World Wind&lt;br /&gt;
|NASA Web World Wind - Multidimensional Visualization Tool for Environmental Variables&lt;br /&gt;
|Gabriele Prestifilippo&lt;br /&gt;
|Jakub Balhar&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
|[[NASA Web WorldWind Multidimension Visualization Tool GSoC 2016|Wiki]]&lt;br /&gt;
|[https://github.com/GabrielePrestifilippo/EST-WA-Javascript GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|OpenLayers3 - Google maps&lt;br /&gt;
|OGC protocols support within OL3-Google-Maps&lt;br /&gt;
|Samuel Lapointe&lt;br /&gt;
|Alexandre Dube&lt;br /&gt;
|Jessica Lapointe&lt;br /&gt;
|[[OL3-GoogleMaps_GSoC_2016|Wiki]]&lt;br /&gt;
|[https://github.com/mapgears/ol3-google-maps GitHub] [https://github.com/samuellapointe/ol3-google-maps Fork]&lt;br /&gt;
|-&lt;br /&gt;
|OneBusAway/Transitime&lt;br /&gt;
|Tansitime Quickstart application &lt;br /&gt;
|Brendan Egan&lt;br /&gt;
|Og Crudden&lt;br /&gt;
|Stefan Steiner&lt;br /&gt;
|[https://github.com/Egan109/core/wiki/Transitime-QuickStart-Gsoc-2016 Github Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OSSIM&lt;br /&gt;
|A complete photogrammetric OSSIM tool for automatic DSMs generation using multi-view optical and SAR images&lt;br /&gt;
|Martina Di Rita&lt;br /&gt;
|Oscar Kramer&lt;br /&gt;
|Dave Burken&lt;br /&gt;
|[https://trac.osgeo.org/ossim/wiki/GSoC_2016  Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Flow Algorithms for pgRouting&lt;br /&gt;
|Andrea Nardelli&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|[https://github.com/Illedran/pgrouting/wiki/GSoC-2016-Flow Github Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Implementation of a framework which supports addition of contraction techniques for pgRouting&lt;br /&gt;
|Sankepally Rohith Reddy&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|[https://github.com/sankepallyrohithreddy/pgrouting/wiki/GSoc-2016-Contraction Github Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Remote Output Storage for PyWPS&lt;br /&gt;
|Vikas Mishra&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Vikasmishra95 Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Web-based administration &amp;amp; process management for PyWPS&lt;br /&gt;
|Jan Rudolf&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GSoC_2016_Web_administration_and_process_management_for_PyWPS Wiki]&lt;br /&gt;
|[https://github.com/jan-rudolf/pywps Forked PyWPS] [https://github.com/jan-rudolf/gsoc-python-process-control Support app 1] [https://github.com/jan-rudolf/gsoc-pywps-app Support app 2]&lt;br /&gt;
|-&lt;br /&gt;
|QGIS&lt;br /&gt;
|QGIS Styles, Symbols, and SVG Markers Sharing Repository&lt;br /&gt;
|Akbar Gumbira&lt;br /&gt;
|Alessandro Pasotti&lt;br /&gt;
|Anita Graser&lt;br /&gt;
|[[QGIS Sharing Repository|Wiki]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Bringing pyModis to the web through ZOO-Project&lt;br /&gt;
|Chingchai Humhong&lt;br /&gt;
|Luca Delucchi&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/Bringing_pyModis_to_the_web_through_ZOO-Project_GSoC_2016 Wiki]&lt;br /&gt;
|[https://github.com/chingchai/pyModis/tree/gsoc-2016/zoo-pymodis/ Github]&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Implementing WPS for Geopaparazzi field data collection tool using ZOO-Project: Simplifying integration of field data and GIS&lt;br /&gt;
|Niroshan Sanjaya&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|[http://zoo-project.org/trac/wiki/IMPLEMENTING_WPS_FOR_GEOPAPARAZZI_FIELD_DATA_COLLECTION_TOOL_USING_ZOO-PROJECT%3ASIMPLIFYING_INTEGRATION_OF_FIELD_DATA_AND_GIS Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [https://summerofcode.withgoogle.com/organizations/6273632556810240/ accepted projects on Google's platform].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99097</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=99097"/>
		<updated>2016-06-03T20:15:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I added support for Image WMS layers. This means users can now add ImageWMS or TileWMS sources to their OL3 map and display them on a Google Maps layer if they choose to. Since the library uses Google Maps’ own API to render them, there’s no synchronisation issues.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
With all the new code added, the LayersHerald class, which manages the link between OL3 layers and their Google Maps version, is getting very large. I want to split it into a different file and class for each layer type.&lt;br /&gt;
Many different test cases need to be tested for WMS layers, to make sure they work with all WMS servers.&lt;br /&gt;
Update the library to use OpenLayers v3.16 and fix any issues that might arise when that happens.&lt;br /&gt;
Release a new version of the library&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
Not this week.&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=98996</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=98996"/>
		<updated>2016-05-27T20:13:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
&lt;br /&gt;
'''What did you get done this week?'''&lt;br /&gt;
&lt;br /&gt;
I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it.&lt;br /&gt;
The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing next week?'''&lt;br /&gt;
&lt;br /&gt;
The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.&lt;br /&gt;
&lt;br /&gt;
'''Are you blocked on anything?'''&lt;br /&gt;
&lt;br /&gt;
I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=98357</id>
		<title>Google Summer of Code 2016 Accepted</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2016_Accepted&amp;diff=98357"/>
		<updated>2016-04-27T23:15:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: Add OL3-GoogleMaps wiki page link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GSoC2016Logo.jpg|500px|link=https://summerofcode.withgoogle.com/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Back to the main OSGeo [[Google Summer of Code 2016]] @ OSGeo wiki page.&lt;br /&gt;
&lt;br /&gt;
== Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
This year OSGeo accepted 22 students working on the following projects.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#D7E3D1; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''Community'''&lt;br /&gt;
|'''Project'''&lt;br /&gt;
|'''Student'''&lt;br /&gt;
|'''1st mentor'''&lt;br /&gt;
|'''2nd mentor'''&lt;br /&gt;
|'''Links'''&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL &lt;br /&gt;
|Avyav Kumar Singh&lt;br /&gt;
|Rob Emanuele &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GDAL&lt;br /&gt;
|GDAL DWG support &lt;br /&gt;
|Alexandr Borzykh&lt;br /&gt;
|Dmitry Baryshnikov &lt;br /&gt;
|Even Rouault&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|Complete basic cartography suite in GRASS GIS wxGUI Map Display &lt;br /&gt;
|Adam Laža&lt;br /&gt;
|Anna Petrasova &lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - Additional segmentation algorithms for i.segment &lt;br /&gt;
|Bo Yang&lt;br /&gt;
|Moritz Lennert &lt;br /&gt;
|Markus Neteler&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - PyQt implementation of GUI forms generated automatically from XML &lt;br /&gt;
|Ondřej Pešek&lt;br /&gt;
|Vaclav Petras &lt;br /&gt;
|Anna Petrasova&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS - WEBGRASS &lt;br /&gt;
|Mayank Agrawal&lt;br /&gt;
|Rashad Kanavath &lt;br /&gt;
|Massimo Di Stefano&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Add tests and educational games support to gvSIG Educa.&lt;br /&gt;
|Carlos I. Colombana&lt;br /&gt;
|Oscar Martinez&lt;br /&gt;
|Joaquin del Cerro&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Development of a model for woody debris flooding hazard in gvSIG&lt;br /&gt;
|Silvia Franceschi&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|Riccardo Rigon&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|Android istSOS client&lt;br /&gt;
|Cioloboc FlorinDaniel&lt;br /&gt;
|Mirko Cardoso&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|istSOS Web API&lt;br /&gt;
|Luka Glušica&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|VistSOS: the istSOS Data Visualization Framework&lt;br /&gt;
|Felipe Poveda&lt;br /&gt;
|Milan Antonovic&lt;br /&gt;
|Massimiliano Cannata&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|NASA World Wind&lt;br /&gt;
|NASA Web World Wind - Multidimensional Visualization Tool for Environmental Variables&lt;br /&gt;
|Gabriele Prestifilippo&lt;br /&gt;
|Jakub Balhar&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|OpenLayers3 - Google maps&lt;br /&gt;
|OGC protocols support within OL3-Google-Maps&lt;br /&gt;
|Samuel Lapointe&lt;br /&gt;
|Alexandre Dube&lt;br /&gt;
|Jessica Lapointe&lt;br /&gt;
| [[OL3-GoogleMaps_GSoC_2016|Wiki]]&lt;br /&gt;
|-&lt;br /&gt;
|One bus Away&lt;br /&gt;
|One bus Away Quick start&lt;br /&gt;
|Brendan Egan&lt;br /&gt;
|Og Crudden&lt;br /&gt;
|Stefan Steiner&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|OSSIM&lt;br /&gt;
|A complete photogrammetric OSSIM tool for automatic DSMs generation using multi-view optical and SAR images&lt;br /&gt;
|Martina Di Rita&lt;br /&gt;
|Oscar Kramer&lt;br /&gt;
|Dave Burken&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Flow Algorithms for pgRouting&lt;br /&gt;
|Andrea Nardelli&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Implementation of a framework which supports addition of contraction techniques for pgRouting&lt;br /&gt;
|Sankepally Rohith Reddy&lt;br /&gt;
|Vicky Vergara&lt;br /&gt;
|Daniel Kastl&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Remote Output Storage for PyWPS&lt;br /&gt;
|Vikas Mishra&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|PyWPS&lt;br /&gt;
|Web-based administration &amp;amp; process management for PyWPS&lt;br /&gt;
|Jan Rudolf&lt;br /&gt;
|Jonas Eberle&lt;br /&gt;
|Jachym Cepicky&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|QGIS&lt;br /&gt;
|QGIS Styles, Symbols, and SVG Markers Sharing Repository&lt;br /&gt;
|Akbar Gumbira&lt;br /&gt;
|Alessandro Pasotti&lt;br /&gt;
|Anita Graser&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Bringing pyModis to the web through ZOO-Project&lt;br /&gt;
|Chingchai Humhong&lt;br /&gt;
|Luca Delucchi&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|ZOO-Project&lt;br /&gt;
|Implementing WPS for Geopaparazzi field data collection tool using ZOO-Project: Simplifying integration of field data and GIS&lt;br /&gt;
|Niroshan Sanjaya&lt;br /&gt;
|Gerald Fenoy&lt;br /&gt;
|Andrea Antonello&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [https://summerofcode.withgoogle.com/organizations/6273632556810240/ accepted projects on Google's platform].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=98356</id>
		<title>OL3-GoogleMaps GSoC 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=OL3-GoogleMaps_GSoC_2016&amp;diff=98356"/>
		<updated>2016-04-27T23:13:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: Created page with &amp;quot;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library repl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/mapgears/ol3-google-maps Link to OL3-GoogleMaps]. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.&lt;br /&gt;
&lt;br /&gt;
The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Header text !! Header text&lt;br /&gt;
|-&lt;br /&gt;
| 23 May - 10 June || &lt;br /&gt;
* Add support for WMS layers&lt;br /&gt;
|-&lt;br /&gt;
| 13 June - 17 June || &lt;br /&gt;
* Add support for TMS/WMTS layers&lt;br /&gt;
* Add support for XYZ layers&lt;br /&gt;
* Start working on a website for the project&lt;br /&gt;
|-&lt;br /&gt;
| 20 June - 24 June || &lt;br /&gt;
* Complete the website for the library&lt;br /&gt;
|-&lt;br /&gt;
| 27 June - 1 July || &lt;br /&gt;
* Learn packaging using the node package manager&lt;br /&gt;
* Use it to create a package for the library&lt;br /&gt;
|-&lt;br /&gt;
| 4 July - 8 July || &lt;br /&gt;
* Learn how to use Travis CI and integrate it to the project&lt;br /&gt;
|-&lt;br /&gt;
| 11 July - 15 July || &lt;br /&gt;
* Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)&lt;br /&gt;
|-&lt;br /&gt;
| 18 July - 29 July || &lt;br /&gt;
* Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue. &lt;br /&gt;
|-&lt;br /&gt;
| 1 August - 5 August || &lt;br /&gt;
* Various enhancements (example with a working overview map, Google StreetView) &lt;br /&gt;
|-&lt;br /&gt;
| 8 August - 12 August || &lt;br /&gt;
* Write a wiki page for deployment&lt;br /&gt;
* Deploy a new release&lt;br /&gt;
* Announce the release on the OL3-dev list&lt;br /&gt;
|-&lt;br /&gt;
| 15 August - 19 August || &lt;br /&gt;
* Final week: Tidy up code, improve documentation&lt;br /&gt;
* Submit code sample&lt;br /&gt;
* Submit final mentor evaluation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
No reports yet.&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
=== Computing experience ===&lt;br /&gt;
I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.&lt;br /&gt;
=== GIS experience as a user ===&lt;br /&gt;
I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.&lt;br /&gt;
=== GIS programming ===&lt;br /&gt;
My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2015_Results&amp;diff=88290</id>
		<title>Google Summer of Code 2015 Results</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2015_Results&amp;diff=88290"/>
		<updated>2015-11-19T21:00:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: Add picture&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GoogleSummer_2015logo.jpg|200px|link=http://code.google.com/soc/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OSGeo participated in Google Summer of Code 2015 with 13 projects, all successful:&lt;br /&gt;
&lt;br /&gt;
* GDAL - Faza Mahamood: [https://github.com/fazam/gdal/tree/gdalinfo Integration of GDAL utilities into GDAL core library]&lt;br /&gt;
&lt;br /&gt;
* GRASS GIS - Matej Krejci: [https://trac.osgeo.org/grass/wiki/GSoC/2015/ImprovedMetadata Improved Metadata for GRASS GIS]&lt;br /&gt;
&lt;br /&gt;
* gvSIG - Eva Rodríguez: [https://redmine.gvsig.net/redmine/projects/gvsig-networkanalysis/wiki Port Network Analysis Extension to gvSIG 2.x branch]&lt;br /&gt;
&lt;br /&gt;
* istSOS - Luca Ambrosini: [http://sourceforge.net/p/istsos/wiki/GSoC_2015_scalability/ Scalability for Big data processing for istSOS]&lt;br /&gt;
&lt;br /&gt;
* JGRASSTOOLS - Silvia Franceschi: [https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2015 Development of a simple 1D hydraulic model for JGRASSTOOLS]&lt;br /&gt;
&lt;br /&gt;
* MapServer: Samuel Lapointe: [https://github.com/mapgears/scribeui/wiki/Google-Summer-of-Code-2015 Add productivity tools to MapServer's ScribeUI]&lt;br /&gt;
&lt;br /&gt;
* Opticks - Tom Van den Eynde: [http://drizzle-for-opticks-gsoc2015.blogspot.be/2015/08/last-week-hard-coding-deadline.html Image Enhancement/Background Suppression for Opticks]&lt;br /&gt;
&lt;br /&gt;
* OTP - Nipuna Gunathilake: [https://github.com/CUTR-at-USF/gtfs-realtime-validator/wiki GTFS-Realtime validation tool for Open Trip Planner]&lt;br /&gt;
&lt;br /&gt;
* OSGeo-Live - Massimo Di Stefano: [https://github.com/epifanio/IPython_notebooks/blob/master/OSGeo-live/osgeolive-gsoc-2015/Report/Weekly%20report%2013.ipynb Integration of geospatial OSS in educational notebooks]&lt;br /&gt;
&lt;br /&gt;
* OSSIM - Martina Di Rita: [https://trac.osgeo.org/ossim/wiki/OSSIMtoolForDSMgenerationFromTristereoAndSARimagery OSSIM tool for DSM generation using tri-stereo and SAR imagery]&lt;br /&gt;
&lt;br /&gt;
* pgRouting: Sarthak Agarwal: [https://github.com/pgRouting/pgrouting/wiki/GSoC-2015-Sarthak-Agarwal New osm2pgrouting import tool to import OpenStreetMap (OSM) data in pgRouting]&lt;br /&gt;
&lt;br /&gt;
* PyWPS - Calin Ciociu: [https://github.com/jachym/pywps-4/wiki/GSoC-2015 REST interface for PyWPS 4]&lt;br /&gt;
&lt;br /&gt;
* QGIS - Marcus Santos: [https://qgisgsoc2015.wordpress.com/ QGIS - Multithread support on QGIS Processing toolbox]&lt;br /&gt;
&lt;br /&gt;
== Description of the projects ==&lt;br /&gt;
&lt;br /&gt;
=== Example: software XYZ - title of my GSoC project ===&lt;br /&gt;
Student1&lt;br /&gt;
* Mentors: Mentor1; Mentor2; OtherMentors?&lt;br /&gt;
* Brief description of the idea. e.g. &amp;quot;[[link|My project]] focused on xxx&amp;quot;.&lt;br /&gt;
* The state of the project as it was BEFORE your GSoC. For example, if you made a GUI, you can say: &amp;quot;In the software XYZ, when I wanted to use the tool xxx, I had to manually edit the file yyy. &amp;quot;&lt;br /&gt;
* The addition that your project brought to the software. In the same example: &amp;quot;With the GUI that I created, now it is possible to use the tool xxx via graphical user interface&amp;quot;.&lt;br /&gt;
* Add all the links (hopefully permanent) to access the relevant code and documentation for the user to get started with testing your application. &amp;quot;Please test my [[code-repository|code]] following instructions [[some-link|here]]&amp;quot;. &lt;br /&gt;
* [[Link_to_image|Slide]] The slide / image should serve to show the main elements of your project. It could be a flow chart, a screenshot, both, or whatever you think could serve for the scope. Remember: the aim is to showcase your project to people that are not necessarily familiar with the software.&lt;br /&gt;
&lt;br /&gt;
=== ScribeUI - Add productivity tools to MapServer's ScribeUI ===&lt;br /&gt;
Samuel Lapointe (picture: https://goo.gl/photos/LbSwPeMrCG5V2K9t8)&lt;br /&gt;
* Mentors: Daniel Morissette; Jessica Lapointe&lt;br /&gt;
* Description: The goal of the project was to improve the error detection system, add the ability to export and import maps and add a way to generate a set of classes from data.&lt;br /&gt;
* State of the project before GSoC: When I wanted to debug a map that didn’t work, I had to check the generated Mapserver file to find the error. To create classes from a set of data, I had to analyse the data and create the classes using bounds I had manually calculated, and the only way to export a map was to use Git.&lt;br /&gt;
* Addition to the project: Now, I can see most syntax errors directly in the editor’s interface, I can use a menu to generate classes for a layer and I can export or import maps to share them with other users.&lt;br /&gt;
* Slide: https://drive.google.com/file/d/0B686XfUqwP1LMm5GaVV0ckZ1b2c/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* Project page: https://github.com/mapgears/scribeui&lt;br /&gt;
* Getting started: https://github.com/mapgears/scribeui/wiki/Getting-started-with-ScribeUI&lt;br /&gt;
* Demo: http://demo.scribeui.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2015_Results&amp;diff=88289</id>
		<title>Google Summer of Code 2015 Results</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2015_Results&amp;diff=88289"/>
		<updated>2015-11-19T20:59:41Z</updated>

		<summary type="html">&lt;p&gt;Wiki-SamuelLapointe: Added ScribeUI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GoogleSummer_2015logo.jpg|200px|link=http://code.google.com/soc/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo_300_127_pixel.png|200px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OSGeo participated in Google Summer of Code 2015 with 13 projects, all successful:&lt;br /&gt;
&lt;br /&gt;
* GDAL - Faza Mahamood: [https://github.com/fazam/gdal/tree/gdalinfo Integration of GDAL utilities into GDAL core library]&lt;br /&gt;
&lt;br /&gt;
* GRASS GIS - Matej Krejci: [https://trac.osgeo.org/grass/wiki/GSoC/2015/ImprovedMetadata Improved Metadata for GRASS GIS]&lt;br /&gt;
&lt;br /&gt;
* gvSIG - Eva Rodríguez: [https://redmine.gvsig.net/redmine/projects/gvsig-networkanalysis/wiki Port Network Analysis Extension to gvSIG 2.x branch]&lt;br /&gt;
&lt;br /&gt;
* istSOS - Luca Ambrosini: [http://sourceforge.net/p/istsos/wiki/GSoC_2015_scalability/ Scalability for Big data processing for istSOS]&lt;br /&gt;
&lt;br /&gt;
* JGRASSTOOLS - Silvia Franceschi: [https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2015 Development of a simple 1D hydraulic model for JGRASSTOOLS]&lt;br /&gt;
&lt;br /&gt;
* MapServer: Samuel Lapointe: [https://github.com/mapgears/scribeui/wiki/Google-Summer-of-Code-2015 Add productivity tools to MapServer's ScribeUI]&lt;br /&gt;
&lt;br /&gt;
* Opticks - Tom Van den Eynde: [http://drizzle-for-opticks-gsoc2015.blogspot.be/2015/08/last-week-hard-coding-deadline.html Image Enhancement/Background Suppression for Opticks]&lt;br /&gt;
&lt;br /&gt;
* OTP - Nipuna Gunathilake: [https://github.com/CUTR-at-USF/gtfs-realtime-validator/wiki GTFS-Realtime validation tool for Open Trip Planner]&lt;br /&gt;
&lt;br /&gt;
* OSGeo-Live - Massimo Di Stefano: [https://github.com/epifanio/IPython_notebooks/blob/master/OSGeo-live/osgeolive-gsoc-2015/Report/Weekly%20report%2013.ipynb Integration of geospatial OSS in educational notebooks]&lt;br /&gt;
&lt;br /&gt;
* OSSIM - Martina Di Rita: [https://trac.osgeo.org/ossim/wiki/OSSIMtoolForDSMgenerationFromTristereoAndSARimagery OSSIM tool for DSM generation using tri-stereo and SAR imagery]&lt;br /&gt;
&lt;br /&gt;
* pgRouting: Sarthak Agarwal: [https://github.com/pgRouting/pgrouting/wiki/GSoC-2015-Sarthak-Agarwal New osm2pgrouting import tool to import OpenStreetMap (OSM) data in pgRouting]&lt;br /&gt;
&lt;br /&gt;
* PyWPS - Calin Ciociu: [https://github.com/jachym/pywps-4/wiki/GSoC-2015 REST interface for PyWPS 4]&lt;br /&gt;
&lt;br /&gt;
* QGIS - Marcus Santos: [https://qgisgsoc2015.wordpress.com/ QGIS - Multithread support on QGIS Processing toolbox]&lt;br /&gt;
&lt;br /&gt;
== Description of the projects ==&lt;br /&gt;
&lt;br /&gt;
=== Example: software XYZ - title of my GSoC project ===&lt;br /&gt;
Student1&lt;br /&gt;
* Mentors: Mentor1; Mentor2; OtherMentors?&lt;br /&gt;
* Brief description of the idea. e.g. &amp;quot;[[link|My project]] focused on xxx&amp;quot;.&lt;br /&gt;
* The state of the project as it was BEFORE your GSoC. For example, if you made a GUI, you can say: &amp;quot;In the software XYZ, when I wanted to use the tool xxx, I had to manually edit the file yyy. &amp;quot;&lt;br /&gt;
* The addition that your project brought to the software. In the same example: &amp;quot;With the GUI that I created, now it is possible to use the tool xxx via graphical user interface&amp;quot;.&lt;br /&gt;
* Add all the links (hopefully permanent) to access the relevant code and documentation for the user to get started with testing your application. &amp;quot;Please test my [[code-repository|code]] following instructions [[some-link|here]]&amp;quot;. &lt;br /&gt;
* [[Link_to_image|Slide]] The slide / image should serve to show the main elements of your project. It could be a flow chart, a screenshot, both, or whatever you think could serve for the scope. Remember: the aim is to showcase your project to people that are not necessarily familiar with the software.&lt;br /&gt;
&lt;br /&gt;
=== ScribeUI - Add productivity tools to MapServer's ScribeUI ===&lt;br /&gt;
Samuel Lapointe&lt;br /&gt;
* Mentors: Daniel Morissette; Jessica Lapointe&lt;br /&gt;
* Description: The goal of the project was to improve the error detection system, add the ability to export and import maps and add a way to generate a set of classes from data.&lt;br /&gt;
* State of the project before GSoC: When I wanted to debug a map that didn’t work, I had to check the generated Mapserver file to find the error. To create classes from a set of data, I had to analyse the data and create the classes using bounds I had manually calculated, and the only way to export a map was to use Git.&lt;br /&gt;
* Addition to the project: Now, I can see most syntax errors directly in the editor’s interface, I can use a menu to generate classes for a layer and I can export or import maps to share them with other users.&lt;br /&gt;
* Slide: https://drive.google.com/file/d/0B686XfUqwP1LMm5GaVV0ckZ1b2c/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* Project page: https://github.com/mapgears/scribeui&lt;br /&gt;
* Getting started: https://github.com/mapgears/scribeui/wiki/Getting-started-with-ScribeUI&lt;br /&gt;
* Demo: http://demo.scribeui.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-SamuelLapointe</name></author>
	</entry>
</feed>