#1 Fri 14 August 2009 20:18
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
ajouter la valeur y a cell value
Bonjour,
Je travail présentement sur la création d'un atlas solaire.
Toute les données dont j'ai besoin sont en format Raster (grid) sauf une information, la latitude des pixel.
En fait, pour trouver l'insolation solaire, il faut la déclinaison terrestre, angle horaire etc. Pour calculer ces valeur pour chacun des pixels il faut la latitude du pixel en question.
ex : angle horaire = -tan(latitude)*tan(déclinaison)
Ma question est la suivante. Est-il possible (j'en suis certain) de créer un raster format grid dont la valeur z du pixel est égal à sa coordonée Y. Si oui, comment? (y,x,y)
Cela faliciterait grandement mon travail
Merci.
Hors ligne
#2 Sat 15 August 2009 04:14
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: ajouter la valeur y a cell value
Bonjour,
Une façon de faire (sûrement pas la meilleure).
1- convertir un des vos rasters en un fichier de point (integer ou float)
2- ajouter les colonnes x et y dans la table d'attributs
3- reconvertir le fichier de point en raster en utilisant la colonne y comme valeur.
Voilà.
Vincent
Hors ligne
#3 Sat 15 August 2009 22:32
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: ajouter la valeur y a cell value
Merci Vincent,
J'ai essayer cette méthode auparavant mais avec 18 millions de pixel (points) sa la fait planter l'ordi au bureau.
J'ai trouver ce liens :
http://code.env.duke.edu/projects/mget/ … format=raw
Par contre je ne sais pas s'il s'agît d'un outil et commnet utiiliser cela, quelqu'un peut m'aider?
JF
Hors ligne
#4 Sun 16 August 2009 12:54
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: ajouter la valeur y a cell value
Bonjour,
Je suppose que le référencement de vos raster est une projection, probablement Lambert. Les coordonnées X et Y sont donc en mètres.
Par contre, la latitude est en unité angulaire, c'est à dire que ce n'est pas la valeur du Y qu'il faut mettre sur le pixel, mais la valeur de Lat.
Il me semble qu'il serait plus simple d'avoir une petit calcul qui permette d'obtenir la latitude du point considéré en même temps que le calcul de son éclairement.
" ... dont la valeur z du pixel est égal à sa coordonnée Y. " Autrement dit la valeur du pixel est égale à son ordonnée, je ne suis pas sûr que cela représente une information pertinente.
J'ai lu la page que vous référencez, si j'ai bien compris cela revient à créer un raster qui contient les numéros de ses lignes. Il y a probablement des applications qui ont besoin d'un tel raster, mais je n'ai pas l'impression que ça simplifiera votre calcul.
Cordialement.
Hors ligne
#5 Sun 16 August 2009 22:22
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: ajouter la valeur y a cell value
Vous avez raison Pierre,
Par contre j'ai besoin que mon pixel soit la valeur angulaire (latitude) degree décimal du pixel en question.
Merci!
Hors ligne
#6 Mon 17 August 2009 11:47
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: ajouter la valeur y a cell value
Bonjour,
Oui, naturellement vous avez besoin de la valeur de l'Y pour calculer la latitude.
Je ne connais pas Esri, mais pour le pixel traité, vous connaissez forcément son Y, dans l'hypothèse probable où le raster est orienté Nord-Sud, Y = TY + L * H
où TY est l'ordonnée de point en haut et à gauche, L le n° de ligne, H la hauteur d'un pixel en mètre.
Si le raster n'est pas orienté N-S on peut aussi le faire.
Et ensuite la latitude sera calculée à partir du Y, puis l'ensoleillement .
Hors ligne
#7 Tue 18 August 2009 13:29
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: ajouter la valeur y a cell value
Bonjour,
Mon fichier matriciel est en NAD83, donc la hauteur des pixel en degré décimaux, (0,0008 degrés de résolution) Je crois que la méthode de Pierre pourrait fonctionner mais je ne sais toujours pas comment avoir la valeur de ligne du Raster
Merci,
Hors ligne
#8 Tue 18 August 2009 13:52
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: ajouter la valeur y a cell value
Bonjour,
J'ignorais que la dimension des pixels était en degrés.
Donc, pour la calcul d'ensoleillement, c'est encore plus simple, la valeur de la latitude dont vous avez besoin s'obtient directement par multiplication de la résolution par un n° de ligne et addition de la latitude du haut du raster.
Les spécialistes d'Esri vous diront comment avoir le n° de ligne
Cordialement
Hors ligne
#9 Wed 19 August 2009 09:36
- vipere
- Participant actif
- Date d'inscription: 23 Jan 2008
- Messages: 100
Re: ajouter la valeur y a cell value
bonjour,
dans la calculatrice raster, les commandes
Code:
$$ROWMAP et $$COLMAP
renvoient respectivement un numéro de ligne et de colonne. Attention le compte commence par 0
de même
Code:
$$XMAP et $$YMAP
retournent respectivement les valeurs X et Y du centre de la cellule
Cordialement,
Vincent
Hors ligne
#10 Wed 19 August 2009 14:15
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: ajouter la valeur y a cell value
bonjour,
dans la calculatrice raster, les commandesCode:
$$ROWMAP et $$COLMAPrenvoient respectivement un numéro de ligne et de colonne. Attention le compte commence par 0
de mêmeCode:
$$XMAP et $$YMAPretournent respectivement les valeurs X et Y du centre de la cellule
Cordialement,
Vincent
Merci Vincent, c'est la réponse que j'ettendais.
Hors ligne
#11 Wed 19 August 2009 20:43
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: ajouter la valeur y a cell value
Bonjour
À la suite des cette étape, j'ai créer mon raster donc chaque pixel contient la valeur de sa latitude.
Or, dans le ''Raster Calculator'' quand je fait
Tan[yraster] yraster étand mon raster résultant $$YMAP
Il devrais en principe retourner la valeur tangente de la valeur du pixel
EX: si mon pixel est à la latitude 45, je devrais retrouver la valeur Tan[45] = 1 et ainsi de suite comme valeur
Par contre je n'arrive pas au valeurs attendues (trop grand ou négatives)
Apres vérification faite (avec un raster dont la valeur est 45 pour toute les cellules) la valeur obtenue est : 1,61978 ce qui est la valeur de Tan(45) en radians.
Existe-t-il une facon de passer une valeur en degrees pour les fonctions trigonométrique?
Merci
JF
Dernière modification par jean94 (Wed 19 August 2009 21:03)
Hors ligne
#12 Thu 20 August 2009 08:42
- vipere
- Participant actif
- Date d'inscription: 23 Jan 2008
- Messages: 100
Re: ajouter la valeur y a cell value
bonjour,
il faut convertir l'angle en radians avant
Code:
angle.rad = angle.deg * pi / 180
dans la calculatrice raster la commande est "div deg", soit
Code:
grid_sortie = tan([latitude] div deg)
Plus d'infos ici
Cordialement,
vincent
Hors ligne