Subscribe to this thread
Home - General / All posts - H3 Spatial Indexing?
radiowebst47 post(s)
#25-Mar-23 14:32

Has anyone implemented the H3 spatial indexing system within Manifold?

This is a hex gridding system created by Uber and released to the public. The H3 core library is written in c and has bindings to other languages.

I know nothing of coding so this quickly goes over my head. The US FCC broadband data is published using the H3 grids at various resolutions using the H3 hex grid ID's as the geometry.

In my limited understanding of what I have read so far I would think the speed of manifold would be an ideal fit to allow a lot of data analysis of large and complex data sets and to join disparate data. It being written in C does that mean that it can be implemented in Manifold and take advantage of GPU's?

There are some plug-ins in QGIS so others have made something work but I am interested in the possible speed that might be realized in Manifold with this.


3,412 post(s)
#25-Mar-23 15:33

I haven't used it. But, I worked on the last Broadband mapping project in Maryland, and helped some other states get their work done. We now have a rather large second contract for broadband in Maryland. Manifold works really well for this. Super fast, and you've got the full SQL and mapping capabilities all in one. If you have enormous point-in-polygon data then using PostGres on the backend with Manifold doing a lot of the visualization works really nicely.

Feel free to contact me offline if you'd like.

radiowebst47 post(s)
#25-Mar-23 16:25

Hey Art,

I have been helping a lot of ISP's file their BDC data as well. With the publicly released data not having any type of geometry information other the the H8 and H9 cell ID's the only way you can map the public data is by those cell ID fields. It looks like that is the wave of the future for them publishing data for public consumption. I am sure this use of the H3 hex grid system is going to become more commonplace.

It would be good for manifold to get ahead of this and implement it somehow. With QGIS having 3 different plug-ins available for use currently, it's not going to be obscure. Manifold and it's speed would be awesome to be able to use. Right now I am creating a master set of files (in QGIS) just to have a set of geometry data that I can link to the publicly released information, but it seems like an inefficient way to do this.


633 post(s)
#26-Mar-23 11:16

I have thought about it, but not really looked into it. Not sure what would it actually take.

There are many ways to approach this. There are couple of C# implementations that we could use.

For the API design (the functions that we might most want in Manifold) we should probably look at what's done for PostGIS

If you have access, or can spin up Postgresql, I think currently the most obvious way is to use h3-pg and PostGIS.

radiowebst47 post(s)
#26-Mar-23 19:48

Thanks for the heads up on the PostGIS integration. I will take a look at that.

633 post(s)
#27-Mar-23 17:38

I have always wanted to have some fun with a public database.

Now is the time!

I used local cloud provider and created a tiny virtual machine, installed postgresql-15, installed h3-pg extension and created a demo database that anyone can connect to. Yes, you heard that right!

Use the connection parameters from the attached picture to connect.

There are few sample H3 queries. I haven't learned much H3 yet. You can share your creations there.

Anyone can mess around in the guest schema. You can create tables in that schema. Don't worry if you get 'out of memory' error or similar. This is a sandbox on a tiny machine. Mistakes are allowed.

[For the first 24h, my pg instance ran on the default port 5432. Today I reviewed the logs and for sure there were bad guys trying to establish connections with common usernames like 'admin', 'db', 'myuser', 'pgsql', etc. Apparently they were unsuccessful. That's one reason I shared the secrets as an image.]


sknox79 post(s)
#30-Mar-23 10:00

Thanks for doing this, it's a good public service! Might have a play!

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.