Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Tue 10 June 2008 18:27

flory
Juste Inscrit !
Date d'inscription: 30 Apr 2008
Messages: 6

calcul d'un champ avec model builder

Bonjour
J'ai ajouté un champ à une couche dans lequel je voudrais calculer le cosinus d'un angle (entré par l'utilisateur auparavant) multiplié par un champ déjà existant, voici la ligne qui pose pb :

Code:

gp.CalculateField_management ma couche, "champ ajouté", cos(alpha)*[champX]+sin(alpha)*[champZ]

Le résultat dans la colonne ne correspond pas avec le calcul, est ce que je peux écrire les cosinus et sinus comme ça, Et sinon comment faire, Avec une requete sql en entrée?
Merci d'avance si vous avez des éléments de réponse
Bonne soirée

Hors ligne

 

#2 Fri 27 June 2008 18:33

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: calcul d'un champ avec model builder

Bonjour,

En python, cela donnerai quelquechose de ce genre (ArcGIS 9.2) :

Code:

# ---------------------------------------------------------------------------
# CalculChamp.py
# Created on: ven. juin 27 2008 06:18:25 
#   (generated by ArcGIS/ModelBuilder)
# Usage: CalculChamp <test> <Alpha> 
# ---------------------------------------------------------------------------

# Import system modules
import sys, string, os, arcgisscripting

# Create the Geoprocessor object
gp = arcgisscripting.create()

# Script arguments...
test = sys.argv[1]
Alpha = sys.argv[2]

# Process: CalculateField...
gp.CalculateField_management(test, "ChampAjou", "Cos (" + Alpha + ") * [ChampX]+ Sin (" + Alpha + ") * [ChampZ]", "VB", "")

L'équivalent en ModelBuilder est dans l'ArcToolBox attaché au message.

Bon WE


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Mon 30 June 2008 15:36

flory
Juste Inscrit !
Date d'inscription: 30 Apr 2008
Messages: 6

Re: calcul d'un champ avec model builder

Bonjour,
OK! Merci bcp, je vais essayer, en faite dans model builder ça marchait mais c'était le passage en VB qui coinçait. avoir...

Hors ligne

 

#4 Thu 31 July 2008 14:53

saisai
Juste Inscrit !
Lieu: Pau-Cádiz
Date d'inscription: 9 Apr 2007
Messages: 9

Re: calcul d'un champ avec model builder

Salut à vous,

Je cherche aussi à calculer un champs dans un modèle, mon problème est que ma couche participe dans une topologie:
Or, on ne peut pas faire un calculer sur un champs d'une couche qui participe dans une topologie sans au préalable ouvrir une session d'édition.

Donc j'ai pensé à 2 solutions pour mon modèle:
- Intégrer l'outil qui permet de mettre la couche en session d'édition (ça parait simple). Mais j'ai beau chercher, je ne trouve rien ....
Si quelqu'un sait comment ouvrir une session de mise à jour dans un modèle ???

- Eliminer la topologie > faire les calculs > re-créer la topologie (ça parait simple aussi). Mais il y a un problème (de rafraichissement ?), le modèle échoue avec comme erreur: "Le calcul ne peut être effectué en dehors d'une session de mise à jour".
Or, si je fais cela manuellement (effacer la topologie), ben j'ai aucun problème pour calculer mon champs hors d'une mise à jour !!!!!!

(NB: je voudrais préciser que je compact la GDB à chaque étape pour être sûr qu'elle se rafraichisse)

Si quelqu'un pouvait m'aider .....
Merci
+++

SAI

Dernière modification par saisai (Thu 31 July 2008 14:54)

Hors ligne

 

Pied de page des forums

Powered by FluxBB