public bool intersects(LngBounds LngBounds)
 {
     if (this.isEmpty() || LngBounds.isEmpty())
     {
         return false;
     }
     else if (this._swLng > this._neLng)
     {
         return LngBounds.getSw() > LngBounds.getNe()
             || LngBounds.getSw() <= this._neLng
             || LngBounds.getNe() >= this._swLng;
     }
     else if (LngBounds.getSw() > LngBounds.getNe())
     {
         return LngBounds.getSw() <= this._neLng || LngBounds.getNe() >= this._swLng;
     }
     else
     {
         return LngBounds.getSw() <= this._neLng && LngBounds.getNe() >= this._swLng;
     }
 }
 public bool equals(LngBounds LngBounds)
 {
     return this.isEmpty ()
         ? LngBounds.isEmpty ()
             : (Math.Abs (LngBounds.getSw () - this._swLng) % 360.0f
                 + Math.Abs (LngBounds.getNe () - this._neLng) % 360.0f)
         <= SphericalGeometry.EQUALS_MARGIN_ERROR;
 }