iTowns / itowns

A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data
http://www.itowns-project.org
Other
1.07k stars 290 forks source link

[PROPOSAL] Add possibility to change the sizeTextureTile for the GlobeLayer #2309

Open AnthonyGlt opened 3 months ago

AnthonyGlt commented 3 months ago

I've noticed that the tiles' size used for the calculus of the subdivision is fixed at 256. It could be useful to be able to able to give a different value when creating the globe.

Context

The value is stored in the constants SIZE_TEXTURE_TILE & SIZE_DIAGONAL_TEXTURE. We could define a parameter, for example sizeTextureTile, in the layer to change it. In my case, I'm using some MVT layer and I wish to use a different size, 512x512, because the size has an impact on the zoom level at which we do our tile request.

As you can see below, I've opened 2 instances of iTowns, the paramaters are the same except for the SIZE_TEXTURE_TILE. On the left, it's the default size 256 and on the right, it's at 512. As you can see, I need to zoom more on the right to reach the "more details" tile.

globe256-512.webm

AnthonyGlt commented 3 months ago

I'm using the IGN mvt : https://data.geopf.fr/annexes/ressources/vectorTiles/styles/PLAN.IGN/standard.json

   const mvtSource = new itowns.VectorTilesSource({
                style: 'https://data.geopf.fr/annexes/ressources/vectorTiles/styles/PLAN.IGN/standard.json',
                crs: 'EPSG:3857',

            });

            var mvtLayer = new itowns.ColorLayer('mvtLayer',{
                source: mvtSource,
                addLabelLayer: true,
            });