0

For a project, we have the following layers:

  • Multiple layers representing the 4G network coverage for the whole Switzerland
  • Multiple layers representing different geographic areas of the country.
  • One point layer with about 300 000 points representing the population at these points with the format X_Coord, Y_Coord, population

I have to compute the following calculation:

  1. Intersect the 4G coverage layers with all the geographic areas layers to compute the percentage of area covered
  2. Intersect the population layer with the result of 1. to compute the percentage of the population covered

To do this task I use MapInfo Pro V16 with a Map Basic script with the folowing function:

  • Object intersects into target (for the coverage layer)
  • Select sum(population) From CovLayer,Poplayer where CovLayer.obj Intersects PopLayer.obj into selection (For the population layer)

This procedure works but it takes a huge amount of time to compute (about 4 weeks for all the layers). Is there a way to do it faster?

I also tried with QGIS. It seems to be faster to compute the intersection with the geoprocessing Tools > Intersection but it's then much slower to execute the SQL query for the population.

3
  • Welcome to Geographic Information Systems! Welcome to GIS SE! We're a little different from other sites; this isn't a discussion forum but a Q&A site. Your questions should as much as possible describe not just what you want to do, but precisely what you have tried and where you are stuck trying that. Please check out our short tour for more about how the site works
    – Ian Turton
    Commented Jul 28, 2021 at 8:23
  • 2
    Have you considered putting the data into two tables in PostGIS and doing the intersection there?
    – Ian Turton
    Commented Jul 28, 2021 at 12:50
  • We see longer response times if you are working with very complex polygon dataset overlapping another complex polygon dataset. Network Coverage files typically get quite complex. Have you considered using the raster version of your network coverage? And converting your geographic area to raster too? This would make a comparison very quick and can be done using the Raster Calculator in MapInfo Pro Advanced. Afterwards you c an update your population data with an attribute telling you whether these is coverage or not. Happy to describe this in more details if required Commented Aug 2, 2021 at 10:54

1 Answer 1

0

Thank you for you replies. The way to convert the polygon layers to raster seems to be the best solution. We lose a little bit of exactitude due to the rasterization but it's much faster.

To do the rasterization, I used the python library Geocube and numpy and xarray to compute the data.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.