def tooCloseToOtherTowers(surface, sectionMid, towerSections):
    for towerSection in towerSections:
        towerSectionMid = Point(towerSection.xMid, towerSection.zMid)
        distance = getEuclideanDistance(surface, towerSectionMid, sectionMid)
        if distance < 100:
            return True
    return False
def tooCloseToBiggerHigherSections(surface, sectionMid, averageSectionHeight,
                                   bigLandSections, mediumLandSections):
    biggerSections = []
    biggerSections.extend(bigLandSections)
    biggerSections.extend(mediumLandSections)
    for s in biggerSections:
        if s.averageHeight < averageSectionHeight + 10:
            continue
        for p in s.points:
            if surface.surfaceMap[p.x][p.z].layer != 0:
                continue
            distance = getEuclideanDistance(surface, p, sectionMid)
            if distance < 30:
                return True
    return False