Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PointMaterial elevationRange non pris en compte #2492

Open
Shypster opened this issue Jan 27, 2025 · 3 comments
Open

PointMaterial elevationRange non pris en compte #2492

Shypster opened this issue Jan 27, 2025 · 3 comments
Assignees
Labels

Comments

@Shypster
Copy link

Shypster commented Jan 27, 2025

Bonjour,

Sur un objet planarView, je charge un objet copclayer en spécifiant des valeurs manuelles pour la valeur elevationRange du pointMaterial :
material: {
elevationRange: new itowns.THREE.Vector2(0,5000);
}
Or, quand j’ajoute copclayer à mon objet planarview, les valeurs d’elevationRange ne sont pas prises en compte. Les valeurs utilisées pour coloriser le nuage de points par ELEVATION sont celles correspondant aux valeurs min/max de l’attribut Z du nuage de points.

Merci

@Shypster Shypster changed the title PointMaterial elevationRange don’t work PointMaterial elevationRange non pris en compte Jan 27, 2025
@Desplandis Desplandis self-assigned this Jan 30, 2025
@ftoromanoff
Copy link
Contributor

ftoromanoff commented Jan 30, 2025

Bonjour,
Merci pour cette issue !

Pour des raisons de stabilité il faudrait mieux passer cette option via le layer, en utilisant

const options = {
            minElevationRange = 0,
            maxElevationRange = 5000,
};
const copcLayer = new itowns.CopcLayer('COPC', options );

Par contre j'ai pu remarquer qu'il y avait un bug pour l'elevationRange (et pas pour l'intensity Range et l'angleRange) car on fixe les valeurs en se basant sur les metadonnées du copc meme lorsque l'utilisateur à entré lui même ses valeurs.
Ce qui est corrigé dans la PR #2494

@Shypster
Copy link
Author

Shypster commented Jan 31, 2025

Bonjour,

Meci pour votre retour. Toutefois, dans mon cas, je n'arrive pas à définir les valeurs elevationRange même avec la PreRelease.
Extrait de code :
function set_dalle_lidar (url, nom)
{
const copcSource = new itowns.CopcSource({
url: url,
crs: 'EPSG:2154',
});

	const copcLayer = new itowns.CopcLayer('COPC_'+nom, {
		source: copcSource,
		minElevationRange: 0,
                    maxElevationRange: 5000,
		material: new itowns.PointsMaterial({
			mode: itowns.PNTS_MODE.ELEVATION,
			sizeMode: itowns.PNTS_SIZE_MODE.VALUE,
			size: 3.0,
			// elevationRange: new itowns.THREE.Vector2(0, 5000),
			// minAttenuatedSize: 2.0,
			// maxAttenuatedSize: 8.0,
		}),
		pointBudget: 5000000, // valeur par défaut 2000000
		sseThreshold: 3.0, // valeur par défaut 2
	});
	**itowns.View.prototype.addLayer.call(view, copcLayer).then(debugMenu.addLayerGUI.bind(debugMenu));**
}

L'utilisation de la ligne avec ** est ambigu car si je fais view.addLayer(...);, view étant mon objet PlanarView, j'obtiens une erreur dans camera.js.

@ftoromanoff
Copy link
Contributor

Bonjour,
La PR (Pull Request) dont je parle #2494 n'avait pas encore été mergée, du coup je ne pense pas qu'elle soit accessible via une PreRelease. Ce qui devrait maintenant être le cas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants