forked from MapComplete/MapComplete
		
	BBox bounds can not be bigger then the entire world anymore, fixes performance issues
This commit is contained in:
		
							parent
							
								
									24f0089e57
								
							
						
					
					
						commit
						c31a50b139
					
				
					 1 changed files with 11 additions and 4 deletions
				
			
		|  | @ -22,6 +22,13 @@ export class BBox { | ||||||
|             this.minLon = Math.min(this.minLon, coordinate[0]); |             this.minLon = Math.min(this.minLon, coordinate[0]); | ||||||
|             this.minLat = Math.min(this.minLat, coordinate[1]); |             this.minLat = Math.min(this.minLat, coordinate[1]); | ||||||
|         } |         } | ||||||
|  |          | ||||||
|  |         this.maxLon = Math.min(this.maxLon, 180) | ||||||
|  |         this.maxLat = Math.min(this.maxLat, 90) | ||||||
|  |         this.minLon = Math.max(this.minLon, -180) | ||||||
|  |         this.minLat = Math.max(this.minLat, -90) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|         this.check(); |         this.check(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -41,10 +48,10 @@ export class BBox { | ||||||
|      * Constructs a tilerange which fully contains this bbox (thus might be a bit larger) |      * Constructs a tilerange which fully contains this bbox (thus might be a bit larger) | ||||||
|      * @param zoomlevel |      * @param zoomlevel | ||||||
|      */ |      */ | ||||||
|     public containingTileRange(zoomlevel): TileRange{ |     public containingTileRange(zoomlevel): TileRange { | ||||||
|      return   Tiles.TileRangeBetween(zoomlevel, this.minLat, this.minLon, this.maxLat, this.maxLon) |         return Tiles.TileRangeBetween(zoomlevel, this.minLat, this.minLon, this.maxLat, this.maxLon) | ||||||
|     } |     } | ||||||
|      | 
 | ||||||
|     public overlapsWith(other: BBox) { |     public overlapsWith(other: BBox) { | ||||||
|         if (this.maxLon < other.minLon) { |         if (this.maxLon < other.minLon) { | ||||||
|             return false; |             return false; | ||||||
|  | @ -148,7 +155,7 @@ export class BBox { | ||||||
|      * Expands the BBOx so that it contains complete tiles for the given zoomlevel |      * Expands the BBOx so that it contains complete tiles for the given zoomlevel | ||||||
|      * @param zoomlevel |      * @param zoomlevel | ||||||
|      */ |      */ | ||||||
|     expandToTileBounds(zoomlevel: number) : BBox{ |     expandToTileBounds(zoomlevel: number): BBox { | ||||||
|         const ul = Tiles.embedded_tile(this.minLat, this.minLon, zoomlevel) |         const ul = Tiles.embedded_tile(this.minLat, this.minLon, zoomlevel) | ||||||
|         const lr = Tiles.embedded_tile(this.maxLat, this.maxLon, zoomlevel) |         const lr = Tiles.embedded_tile(this.maxLat, this.maxLon, zoomlevel) | ||||||
|         const boundsul = Tiles.tile_bounds_lon_lat(ul.z, ul.x, ul.y) |         const boundsul = Tiles.tile_bounds_lon_lat(ul.z, ul.x, ul.y) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue