func (index *ClusteringIndex) Range(topLeft Point, bottomRight Point) []Point {
	dist := distance(topLeft, bottomRight)

	if dist < streetLevel {
		return index.streetLevel.Range(topLeft, bottomRight)
	} else if dist < cityLevel {
		return index.cityLevel.Range(topLeft, bottomRight)
	} else {
		return index.worldLevel.Range(topLeft, bottomRight)
	}
}
func (index *ClusteringIndex) Range(topLeft Point, bottomRight Point) []Point {
	dist := distance(topLeft, bottomRight)

	if dist < streetLevel {
		return index.streetLevel.Range(topLeft, bottomRight)
	} else if dist < cityLevel {
		return index.cityLevel.Range(topLeft, bottomRight)
	} else {
		return index.worldLevel.Range(topLeft, bottomRight)
	}
}
// Range returns points or count points depending on the size of the topLeft and bottomRight range.