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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 05 November 2012 17:35

Lusitanio
Participant occasionnel
Date d'inscription: 1 Dec 2010
Messages: 22

MODEL BUILDER Ajouter enregistrement après création table dbase (.dbf)

Bonjour à tous,

Je me retrouve face à un problème bête, je le conçois mais impossible de trouver une issue. Je viens de chercher toute une après-midi, et je sollicite votre aide car j'ai des délais très courts.

Voilà ce que je doit faire (géoprocess model builder):

Je dois récupérer une valeur après import d'une couche dans une géodatabase, et avec cette valeur venir renseigner une table dbf préalablement créée.

- Récupérer la valeur pas de souci à priori (bien que je n'en sois pas encore là),
- Créer une table (bon ben là c'est la base donc pas de pb wink).
- Mais ajouter un enregistrement (vide ou en rapport avec ma valeur) en faisant tourner un model là y'a souci...


Merci par avance pour votre aide et n'hésitez surtout pas wink

Hors ligne

 

#2 Thu 15 November 2012 13:54

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: MODEL BUILDER Ajouter enregistrement après création table dbase (.dbf)

Bonjour,

J'arrive sans doute après la bataille, mais une solution consisterait à passer par un script Python. Pour cela :
1. Convertissez en script Python le Model Builder que vous avez déjà implémenté
2. Ouvrez le script avec l'IDLE (clic droit sur le script puis "Open with IDLE")
3. Compléter le script en utilisant un curseur d'insertion (InsertCursor) sur votre table.

Vous trouverez des explications complémentaires et exemple ici : http://help.arcgis.com/fr/arcgisdesktop … 0068000000

Code:

import arcpy
import time 

# Create insert cursor for table 
# 
cur = arcpy.InsertCursor("D:/St_Johns/data.gdb/roads_maint") 
x = 1000 

# Create 25 new rows. Set default values on distance and CFCC code 
# 
while x <= 1025: 
    row = cur.newRow() 
    row.rowid = x 
    row.distance = 100
    row.CFCC = "A10" 
    row.LastInsp = time.ctime() 
    cur.insertRow(row) 
    x += 1

# Delete cursor and row objects
#
del cur, row

Cordialement

Hors ligne

 

Pied de page des forums

Powered by FluxBB