-
Notifications
You must be signed in to change notification settings - Fork 9
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
Application: Maps + Geo Data on IPFS #43
Comments
Maybe this issue thread is worth mentioning here as a beginning: #25 ? (I know its more a demo, but came across it and thought it worth the mention) |
More notes on ipfs/notes#142 |
I'd like to dust off this topic for some high-bandwidth research and discussion at the upcoming 2018 Q4 Lab Week. If you know anyone using IPFS for serving map tiles or geo data, please add a comment! |
Ping @mikolalysenko & @substack o/ |
Also, ping @davidar ✨ |
As a proof of concept hawaii-navigator shows how to build a decentralized routing index. You'll still need a geocoder and tile server to make it work well enough. Might be fun to revisit this and try it out on some larger graphs to see how well it works. |
Finally there's a recording of the talk I gave at the global FOSS4G 2018: https://youtu.be/rpx3kmpUwQI It contains a demo of storing raster tiles in IPFS. |
https://wiki.openstreetmap.org/wiki/Planet.osm#IPFS:
|
Hi everyone, I am the co-founder of FOAM a blockchain project building a consensus driven Map of the World and Proof of Location services. Currently the FOAM Map is live map.foam.space. It operates as a Token Curated Registry for Point of Interest Data where tokens are staked when adding data, which could be challenged and open to a vote. All of the metadata for each point is currently stored on IPFS and wanted to share with this thread. Here is for example the transaction of a new point being added to the Map And the IPFS hash Only Point data is being curated at the moment and the base map being used is Mapbox/OSM. Having the tiles be served directly from IPFS is a next step |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
this is a good idea |
This comment has been minimized.
This comment has been minimized.
Hi, |
@am2222 If you want to store only points which are lat/lon then you could also look into https://en.wikipedia.org/wiki/Geohash. I personally prefer using R-trees for every geo related thing I do as they are more flexible as you can store any numeric data you want without defining any bounds up-front (it's about data vs. space partitioning data structures/algorithms) |
@vmx thanks so much, Actually currently I have some methods to convert geo data into geohash but fast data access is the main issue for me now. Since the geo data can be at least line,point and polygon, `{
], |
@am2222 So far I haven't spent much time thinking about how to store R-trees in IPFS/IPLD. Coming from the database world, I currently think that local secondary indexes would be needed for fast retrieval. Though this would kind of work against the whole point of having everything stored distributed. I would consider storing it in IPFS/IPLD an open problem :) |
@vmx Actually I want to work in this field so I am looking for possible methods which I can look at. One it to look at the data storage as distributed geographical objects over network. But it needs a kind of secondary DHT I guess to find the data based on location and not based on hash values. |
@am222 @vmx Im not really up to date with the whole IPFS debate, but I was wondering: is using an R-Tree or Quadtree or any dynamic spatial clustering system really suited for this type of data storage? Wouldnt predefined geo-hashes of some sort be more useful (albeit less flexible) here? I was thinking something along the lines of Googles S2 algorithm or Ubers H3 hexagonal spatial indexing system. Then it would make sense to predefined the resolution you think is adequate. And the system you use should already have spatial information in the hash. I dont quite understand why you would want to store adjacent cells for example, the spatial index should have this in its hash? An example: If I have the UberH3 hash of "891F83CAB6BFFFF" then this contains loads of information already: It contains the resolution, the centroid, the 6 edge vertecies (since its a hexagon) and all the neighbouring cells can be calculated quite easily (and not only direct neighbours but all neighbours in a distance of N rings). So you could have files with this index as its name and simple geojson within the file containing the exact feature information you need (e.g. coordinates, properties etc.). Maybe looking into how vector tiles works (e.g. MapBox) would give some new ideas here? Cheers |
@JoranBeaufort I agree that those predefined hashing could make sense. Though I don't really have much experience with those as they were too limited for the use cases I had. |
@JoranBeaufort @vmx About vector tiles They work, but I believe they are mostly aimed for the fast vector data transformation for visualization purposes . and accessing them over IPFS is pretty strait forward as we just need to upload the whole vectortile folder on ipfs and read them based on xyz location of each requested tiles. But in term of geographical data sets we don't have data for all the tiles and we must be able to support spatial query over such data. |
hello, is this question relevant here ? |
check this out https://github.com/chinanzio/ipfsmap , it is, maybe, useful here |
Note: Discussion on applications of IPFS are happening over in the IPFS Forums now ... please continue the discussion there! This issue is being moved over to the archived repo https://github.com/ipfs/apps/ for reference. |
Work in progress - please contribute. See #40.
The text was updated successfully, but these errors were encountered: