def getAreaOfGML(poly, height=True):
    exteriorarea = 0.0
    interiorarea = 0.0
    #-- Decompose the exterior and interior boundary
    e, i = markup3dmodule.polydecomposer(poly)
    #-- Extract points in the <gml:LinearRing> of <gml:exterior>
    epoints =  markup3dmodule.GMLpoints(e[0])
    if isPolyValid(epoints):
        if height:
            exteriorarea += get3DArea(epoints)
        else:
            exteriorarea += get2DArea(epoints)
    for idx, iring in enumerate(i):
        #-- Extract points in the <gml:LinearRing> of <gml:interior>
        ipoints = markup3dmodule.GMLpoints(iring)
        if isPolyValid(ipoints):
            if height:
                interiorarea += get3DArea(ipoints)
            else:
                interiorarea += get2DArea(ipoints)
    #-- Account for the interior
    area = exteriorarea - interiorarea
    #-- Area in dimensionless units (coordinate units)
    return area

#-- Validity of a polygon ---------
Update existing translations with updated pot files.
dataset/ETHPy150Open tudelft3d/CityGML2OBJs/polygon3dmodule.py/getAreaOfGML--crossover with--dataset/ETHPy150Open IanLewis/kay/kay/management/update_translations.py/do_update_translations