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

Add support for vector tiles in GeoJSON format #8778

Open
Zero3 opened this issue Oct 29, 2021 · 4 comments
Open

Add support for vector tiles in GeoJSON format #8778

Zero3 opened this issue Oct 29, 2021 · 4 comments
Labels
considering Not Actionable - still considering if this is something we want

Comments

@Zero3
Copy link

Zero3 commented Oct 29, 2021

Description

It would be great if the Custom Map Data functionality supported vector tiles in GeoJSON format.

iD already supports importing a GeoJSON file from an URL. iD also supports vector tile URL templates using the {zoom}, {x}, {y}, ... placeholders, but seemingly only for the "mvt" and "pbf" formats. These formats are more difficult to work with than GeoJSON, and are not widely supported by software, libraries, frameworks, ...

Since the two major halves of this feature already exist, it seems like support for the combination of these could be added relatively easy.

This would make it much easier to provide custom overlays for use in iD. In my particular use case, I would like to overlay official street data to make mapping easier, and to catch mistakes in the existing mapping. But the dataset is ~1 GB in size, and thus not reasonable to import as a single file. It is trivial for me to slice this data into "slippy map" GeoJSON tiles and host them, so it would thus be awesome if iD was able to consume them.

Related: #5252, #8327 //edit: #3742

Screenshots

No response

@tyrasd
Copy link
Member

tyrasd commented Nov 3, 2021

My understanding from #5252 (comment) is that tiled geojson vector data is rather niche and not a common standard. Or is that incorrect? Can you point to some examples where such data is provided?

Couldn't you change your workflow slightly to produce MVT instead of tiled GeoJSON?

@tyrasd tyrasd added the considering Not Actionable - still considering if this is something we want label Nov 3, 2021
@Zero3
Copy link
Author

Zero3 commented Nov 3, 2021

@tyrasd I am afraid I am not qualified to answer that question. I am pretty new to the field :).

In my particular use case, I want to integrate official street data for Denmark into iD to assist in mapping. This data is available as a ~1 GB dataset, but not as vector tiles. As I mentioned above, slicing this data into "slippy map" GeoJSON tiles on-the-fly, and hosting it as a web service, is pretty trivial for me as a software engineer. My language of choice is C#, for which there are good libraries available for both reading the input format and outputting GeoJSON. But there does not appear to be any suitable libraries for generating MVT tiles. I checked out the MVT specification, but found it to be too complex to invest my time into implementing myself (unlike GeoJSON, which looks to be straightforward to generate as JSON even without a library that supports GeoJSON).

The debugging and tooling story for MVT also seems a lot worse because of Protocol Buffers and the special way coordinates are represented in MVT. So for "hobby projects" like this, I find MVT to be an annoying barrier, and wish iD would just eat my GeoJSON, which is much simpler to work with.

@bryceco
Copy link
Contributor

bryceco commented Nov 3, 2021

Is this what you want?
https://gis.stackexchange.com/questions/209398/create-vector-tiles-from-local-geojson

I don't know which specification you are asking iD to implement for "vector tiles in GeoJSON format"

@Zero3
Copy link
Author

Zero3 commented Nov 6, 2021

@bryceco I do not know if there is a relevant standard, or a need for such. I would just like iD to support overlaying GeoJSON vector tiles just like it supports overlaying a single GeoJSON file. There are probably a few implementation details to think about when it comes to features that cross tile borders, but besides that, I believe it should be pretty obvious how it should work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
considering Not Actionable - still considering if this is something we want
Projects
None yet
Development

No branches or pull requests

3 participants