Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vector Tile Support #5376

Merged
merged 37 commits into from Mar 27, 2018
Merged

Vector Tile Support #5376

merged 37 commits into from Mar 27, 2018

Conversation

sdlime
Copy link
Member

@sdlime sdlime commented Jan 24, 2017

Based on Thomas' vector-tiles branch. Fixed an alignment issue, added integration with mode=tile and updated to version 2.1 or the spec - basically switched out the .proto file. Tested against a couple of the Leaflet mvt plugins. --Steve

TODO:

  • Fix buffering issues in tile mode
  • Add autotests
  • Create documentation page
  • Create RFC

mapmvt.c Outdated
VectorTile__Tile mvt_tile = VECTOR_TILE__TILE__INIT;
mvt_tile.layers = msSmallCalloc(map->numlayers,sizeof(VectorTile__Tile__Layer*));


Copy link
Member

@tbonfort tbonfort Jan 24, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sdlime, I see why you were getting alignment issues. This block of code needs to be kept, however the query.rect should be extended before the query, as is done in the WFS part: 032e5d3#diff-8b3f151aa0bfca8681cd277ced6c85cfR2619 . I know this isn't clean, but the buffering logic (similar to metabuffering when tiling) is essential IIRC for correct rendering.

@sdlime sdlime added this to the 7.2 Release milestone Jul 19, 2017
@sdlime
Copy link
Member Author

sdlime commented Jan 28, 2018

@rouault, @tbonfort, @jmckenna: the tests are failing because the protobuf output format is now appearing in a bunch of get capabilities output as a supported format (e.g. application/x-protobuf�). I can just fix all those results -- or should would make that an optional format?

@rouault
Copy link
Contributor

rouault commented Jan 28, 2018

I don't think there are more reasons to make it optional than the other formats

@itbeyond
Copy link

itbeyond commented Feb 15, 2018

I am really keen to get this running as soon as possible and have a project just waiting for this functionality. I am not sure if I can help but if there is something I can do to help get this functionality running I am happy to put in some time/effort.

@sdlime
Copy link
Member Author

sdlime commented Feb 21, 2018

@rouault where the integration tests are crapping out doesn't look to be failing because my pull request (it's generating a PNG), is there a way to examine the Travis or AppVeyor output files? --Steve

@rouault
Copy link
Contributor

rouault commented Feb 21, 2018

@sdlime I'm not aware of a way of extracting the files from Travis/AppVeyor. I'd just suggest that you run msautotest from Vagrant, which uses the same library version as Travis. That's what I do usually

@sdlime
Copy link
Member Author

sdlime commented Feb 21, 2018

@rouault what version of vagrant and virtual box are you using? Stefan's docs reference versions that are a tad old.

@rouault
Copy link
Contributor

rouault commented Feb 21, 2018

The ones of Ubuntu 16.04: vagrant 1.8.1 + virtualbox 5.0.40. But the versions of ubuntu 14.04 also worked

@sdlime
Copy link
Member Author

sdlime commented Feb 21, 2018

@rouault, a local vagrant up dies since it can't find protobufc yet Travis seems to have that installed. Do you know where to affect that? --Steve

@rouault
Copy link
Contributor

rouault commented Feb 21, 2018

@sdlime In scripts/vagrant/packages.sh, add libprotobuf-dev or whatever the package is named to the apt-get install final line

@sdlime sdlime merged commit 51416a6 into MapServer:master Mar 27, 2018
rouault added a commit to rouault/mapserver that referenced this pull request Mar 27, 2018
rouault added a commit that referenced this pull request Mar 27, 2018
Restore CMakeList.txt to its state before #5376 merge, and remerge select protobuf bits
rouault added a commit to rouault/mapserver that referenced this pull request Mar 27, 2018
@itbeyond
Copy link

itbeyond commented Mar 29, 2018

Compiled on Windows X64 platform and can confirm it is all working - there are some issues around Windows support for protobuf-c however I found a precompiled Windows binary that seems to work (See details here: protobuf-c/protobuf-c#168 - download provided at the end of the comments).

I have tested it with the mvt-demo published by @sdlime and will now start working on my data and looking at mapscript operation. Thanks guys great work and perfect timing for getting this running.

jmckenna added a commit to jmckenna/MapServer that referenced this pull request May 17, 2019
jmckenna added a commit to jmckenna/MapServer that referenced this pull request May 17, 2019
jmckenna added a commit that referenced this pull request May 17, 2019
set required syntax statement for protobuf 3 (#5376)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants