How to use proportionoverlap to aggregate data from underlying geographies in Mapinfo Pro

Product Affected: MapInfo Pro™

Using a table of polygons ("polygon_overlap") and table of map objects containing data (pop_1980) it is desired to aggregate ("states"). The end result it to find the total pop_1980 for each polygon, based on the proportion of each state that each polygon covers.

User-added image

User-added image

The query to run is as follows:

User-added image

This generates a table showing the sum of the pop_1980 data from each state that was covered by any portion of the polygons:
User-added image



1. It is required to type in "proportionoverlap"; it is not selectable from a drop-down in the SQL dialog.

2. This procedures assumes that the data is spread evenly throughout the underlying table holding the data. For large geographies, this is most likely NOT the case. (i.e. NY City has a greater population than upstate NY).

For smaller geographies, i.e. Blocks, etc., this procedure is much more accurate.

ProportionOverlap() function:


Returns a number that indicates what percentage of one object is covered by another object.


ProportionOverlap ( object1, object2 )
object1 is the bottom object (not text or points), i.e. the object whose proportion of overlap is being calculated.
object2 is the top object (not text or points), i.e. the object that does the overlapping.
** The order in which the objects are listed is critical. If the order is switched, a different value will be returned.**

Return Value

A Float value equal to Area(Overlap(object1,object2) ) / Area(object1).
** The value that is returned is not the area of overlap, it is the percentage of area overlapped. To get the area of overlap, multiply the ProportionOverlap value by the Area of object1. **

In recent versions of MapInfo Pro, there is a ProportionOverlap tool that allows users to easily update a field in the overlapping polygon with a sum based on the proportion of overlap with underlying geographies with data.

UPDATED:  March 18, 2020