mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-04-22 21:56:39 +00:00
19 lines
798 B
SQL
19 lines
798 B
SQL
ALTER TABLE tiles RENAME COLUMN zoom_level TO tile_zoom;
|
|
|
|
ALTER TABLE tiles ADD COLUMN tile_x INT;
|
|
ALTER TABLE tiles ADD COLUMN tile_y INT;
|
|
|
|
UPDATE tiles SET
|
|
tile_x = FLOOR((longitude + 180.0) / 360.0 * POWER(2, tile_zoom))::INT,
|
|
tile_y = FLOOR((1.0 - LN(TAN(RADIANS(latitude)) + 1.0 / COS(RADIANS(latitude))) / PI()) / 2.0 * POWER(2, tile_zoom))::INT;
|
|
|
|
ALTER TABLE tiles ALTER COLUMN tile_x SET NOT NULL;
|
|
ALTER TABLE tiles ALTER COLUMN tile_y SET NOT NULL;
|
|
|
|
DROP INDEX IF EXISTS idx_tiles_zoom;
|
|
DROP INDEX IF EXISTS idx_tiles_unique_location;
|
|
|
|
CREATE INDEX idx_tiles_zoom ON tiles(tile_zoom);
|
|
CREATE UNIQUE INDEX idx_tiles_unique_location ON tiles(latitude, longitude, tile_zoom, tile_size_meters, version);
|
|
CREATE INDEX idx_tiles_coordinates ON tiles(tile_zoom, tile_x, tile_y, version);
|