Proposal to Contribute WMTS Feature Info Support – Questions About Testing and terriajs-cesium Setup #7603
|
I’m currently working with the United Nations Food and Agriculture Organization (UNFAO), where we rely heavily on TerriaJS for our geospatial platform development. As part of our ongoing migration from TerriaJS v7 to v8, I’ve observed that WMTS support isn’t yet as mature as WMS, particularly regarding dimensions and feature info. To address this, I’ve implemented enhancements that introduce support for dimensions and feature info in WMTS services. I’d like to contribute this work back to the community and have reviewed the contribution guidelines outlined in: Per your guidance, I intend to break the functionality into smaller, reviewable parts, beginning with a PR focused solely on WMTS Feature Info support. Before I do that, I’d appreciate your input on a few points: I’m happy to adapt my approach based on your feedback and look forward to contributing. Please let me know how best to proceed. |
Replies: 4 comments 6 replies
|
Delighted to hear that you are using Terria at FAO and thanks for offering to contribute. I think implementing feature info support to WMTS would be a great addition! I'm guessing this requires changes to both Cesium and Terria. Terria uses terriajs-cesium which is a light weight fork without any heavy modifications. So ideally the Cesium changes would go as a PR into the upstream Cesium repo. So at some point it will be good to create an issue in Cesium and work out a PR there. To start off and make testing with Terria easier you could work from the Another thing to note is that our terriajs-cesium version is slightly behind the upstream. I compared the changes to WebMapTileServiceImageryProvider in upstream and it looks reasonably fine (changes since As for test data, we do not maintain any WMTS endpoints ourselves. We would normally test against some publicly available ones. So In short, once you have a local set up, please raise a PR in terriajs and terriajs-cesium. We'll meanwhile try to merge the latest updates from Cesium into terriajs-cesium. Once that looks ready you could raise another issue/PR in Cesium upstream. Cheers, |
|
Hello, I apologize for the delay in finalizing this feature; we had some urgent internal priorities. My implementation that adds GetFeatureInfo support for WMTS items in terriajs-cesium is now ready. I attempted to push a branch to terriajs/cesium, but I don’t have the necessary credentials. Could you please advise on the correct path to contribute this change? I followed the Contribution Guide and believe the implementation aligns with your standards. I’m happy to submit the work via a fork and open a pull request, or follow any alternative process you recommend. Thank you for your guidance. |
|
@ShubhamSharmaFAO Thank you for your continued efforts to contribute to this feature. Usually, the pull requests to public repositories are created from forks. From where you are now, you can create your forks and set them as remotes in your local copies with your changes. After that, you will be able to push your changes to the remote, corresponding to your fork. When you open the GitHub page of your fork, you will see a prompt to create a PR at the top of the page. Please let us know if you need more detailed instructions. |
Hi @ShubhamSharmaFAO, here are the steps that should work for using local version of terriajs-cesium
It is important to clone terriajs cesium in a directory that is not named
cesiumsince our current default terriamap package.json expects the cesium directory. Otherwise, it will fail, resulting in incorrect linking and dependency issues between npm and Yarn. The above command will clone it in directoryterriajs-cesium.terriajs-cesiumon both TerriaMap and terriajs.