Replies: 1 comment
-
Hey, this is a non-trivial issue. We currently don't have any documentation on that front but I am just starting a research project which includes part aiming at scalability but it is a huge task spanning across many packages. So far, I can point you to our recent research project where we did morphometrics of the whole Great Britain. There are two types of functions, one easy to parallelise with Dask and the other one hard. Unfortunately, most of momepy's functions belong to the latter. The easy characters are those that measure individual objects, like import momepy
import dask_geopandas
import geopandas
blg = geopandas.read_file(momepy.datasets.get_path('bubenec'), layer='buildings')
ddf = dask_geopandas.from_geopandas(blg, npartitions=4)
def dask_eri(gdf):
return momepy.EquivalentRectangularIndex(gdf).series
ddf['eri'] = ddf.map_partitions(dask_eri) The other type, when we need to know the spatial relationship of individual objects is currently not easy to parallelise and you need to do some custom logic like in that linked project above. |
Beta Was this translation helpful? Give feedback.
-
I hope I haven't missed anything, but I'm interested in ways to speed up the momepy calculations for the project I'm working on.
My goal is to calculate all metrics (and some more) done in the basic classification example for all municipalities in Germany. It is working, but rather slow taking much more than a week for all. I have building and street data available on our server.
Is there any documentation on ways to speed up the calculations or could you give any hints on what to look out for?
Great library!
Beta Was this translation helpful? Give feedback.
All reactions