Géomatique

[Données] Re: MobPro / accès fichier + export

Georezo.net - 27/06/2017 - 12:00
Nombre de message(s) précédent(s) : 7

Je rebondis sur ce sujet un peu vieux, mais toujours d'actualité. Le fichier txt peut être importé dans QGIS, mais ensuite pour le traitement et les recherches (notamment du coup pour sélectionner le flux dont la commune d'origine fait partie d'une liste de code INSEE) vaut-il mieux transformer le fichier sous un autre format? Cela peut il améliorer la vitesse de traitement?

Merci

Catégories: Géomatique

[QGIS] Re: QGIS 2.0.1: Limiter les choix d'une liste selon l'emprise

Georezo.net - 27/06/2017 - 11:29
Nombre de message(s) précédent(s) : 38

Pour SANTANNA : je n'ai pas de message d'erreur sad juste que dans le formulaire la liste est vide. je n'ai aucun retour de données.

Et lorsque la formule est saisie dans le constructeur d'expression, avant validation, qu'est-il indiqué en bas de la fenêtre?
Que renvoie $current_canvas_extent ou current_canvas_extent()? et serait-il possible d'avoir copie de sa définition (dans le présent fil, il m'a semblé en avoir vu au moins deux différentes, donc...)
Il n'y a pas de raison pour qu'une combinaison ne marche pas pour la 2.16; il faut juste la trouver :)

Catégories: Géomatique

[QGIS] Re: QGIS 2.0.1: Limiter les choix d'une liste selon l'emprise

Georezo.net - 27/06/2017 - 10:33
Nombre de message(s) précédent(s) : 37

MathieuB a écrit:

et moi ddtphilou ;-)

ddtphilou a écrit:

...
je ne peux pas changer de version pour le moment
...

Héhé ça m'apprendra à lire en diagonale :P

Catégories: Géomatique

[QGIS] Re: QGIS : Un style ensemble de règles avec deux conditions par pts?

Georezo.net - 27/06/2017 - 10:17
Nombre de message(s) précédent(s) : 2

Dans ce style là ?
http://imgur.com/a/oU58A
j'en suis là et Qgis ne cumule pas, il prend une des deux conditions pour un point et basta

Catégories: Géomatique

[Job] [FPT] - Technicien - Analyste / développeur - Carcassonne (11)

Georezo.net - 27/06/2017 - 10:04

Contexte:
Créé en 2011, le SYADEN, Syndicat Audois des Energies et du Numérique assure aujourd'hui diverses compétences:
    - Distribution publique d'électricité
    - Développement durable
    - Aménagement numérique
    - Bornes de recharge pour véhicules électriques.
Chaque service s'appuie sur de nombreuses données et la montée en charge du syndicat nécessite une structuration accrue de ses bases de données et de certains outils utilisés.
Dans ce cadre, le SYADEN recrute un Technicien - Analyste / Développeur, à temps plein, placé sous l'autorité administrative de la responsable du SIG.

CATEGORIE ET FILIERE     Catégorie B Filière Technique
LOCALISATION    Résidence Administrative Carcassonne

LES MISSIONS   
Garantir la fiabilité du cycle de vie de la donnée ; donnée géographique ou non associée aux diverses activités du SYADEN
Développer, optimiser et maintenir les solutions techniques nécessaires aux utilisateurs : outil transversal de gestion de dossier, applicatifs SIG orientés métiers
Répondre aux besoins des services du SYADEN en termes de production de cartographies et d’indicateurs divers
Assurer un premier niveau d’assistance informatique, une veille technologique

ACTIVITES   
Paramétrages, gestion, sécurisation du SGBD: structuration, triggers..
Mise à jour des données référentielles et transversales existantes
Intégration de données métiers et contrôles de données fournies par des prestataires
Rédaction de documentations techniques : cahiers des charge, cahiers de test pour les recettes, procédures diverses
Réalisation d’extractions, paramétrages d’indicateurs, automatisation des process.
Editions de cartographies
Accompagnement en matière informatique des collaborateurs du SYADEN : analyse des difficultés, relais avec les prestataires informatiques

LES SPECIFICITES DU POSTE    Transversalité des missions

COMPETENCES REQUISES     Maîtrise des SGBD : Oracle, SQL server
Maîtrise des langages SQL, PL/SQL. Connaissances Python appréciées
Connaissances d’autres langages de programmation : Java, C++, HTML…
Connaissances logiciel SIG QGIS, Autocad Map
Connaissance Suite office (excel en particulier)

Très bonne écoute
Bon rédactionnel
Sens de l’organisation, du travail transversal et du relationnel
Capacités d’initiatives et autonomie

Merci d'envoyer CV et LM aux adresses suivantes:
nathalie.gieules AT syaden.fr
caroline.lamour AT syaden.fr

Date limite de réception des candidatures le 3 juillet 2017.
Suite à une pré-sélection sur dossier, les candidats seront convoqués à un entretien devant jury le vendredi 7 juillet au matin

Catégories: Géomatique

[QGIS 2.x] Problème geocodage

Dernières discussions Sig forum - 27/06/2017 - 10:00
Bonjour à tous,

j'utilise régulièrement le plugin geocodage de MMqgis avec le moteur de GoogleMaps avec succès, mais depuis qques temps j'ai des problèmes de limitation.
Normalement la limite avec Google Mpas est de 2.500 geocodage/jour et je suis dans tous les cas en dessous. Les différents essais que j'ai fait montrent qu'il y a peu de logiques dans le limitation (le geocodage s'arrête à 53, 201,...puis indique que la limite est dépassée).
J'ai donc essayé de contourner le problème en geocodant directement depuis Google Maps (Mes adresses/Mes cartes). Le geocodage fonctionne bien, j'exporte en KML, et j'ouvre dans QGis et là nouveau problème: une table attributaire mais aucune géométrie (première fois que j'ai ce problème également). J'ouvre alors dans Google Earth et réenregistre en KML (vu sur un autre forum) j'ai alors deux couches dont l'une comprend quelques points, et l'autre est une couche attributaire sans géométrie.
Voilà donc où j'en suis et aucune de ces solutions ne fonctionne! Surprenant car je n'ai pas l'impression que Google ait changé sa politique en matière de géocodage.
Pour être tout à fait complet, j'ai aussi mis à jour le plugin de MMqgis et la version de Qgis est la dernière (2.18.9). Dernière info, je n'ai pas les x,y de mes points, sinon je serai passé par d'autres méthodes que le géocodage


Merci d'avance pour votre aide!
Catégories: Géomatique, On en parle

[QGIS] Re: QGIS: Mise à jour automatique_Calcul_surface

Georezo.net - 27/06/2017 - 09:56
Nombre de message(s) précédent(s) : 1

Bonjour et bienvenue sur le forum,

Je calcule des surfaces sur QGis après avoir ajouté une entité et parfois je modifie les surfaces et j'aimerais que mon calcul de surface se mette à jour automatiquement ! Est-ce possible ? (Au au moins pouvoir le mettre à jour automatiquement.

Vous pouvez soit utiliser les champs virtuels avec la formule $area, soit l'extension AutoFields. Vous devriez pouvoir trouver des discussions semblables sur le forum.

"Une erreur s'est produite lors de l'évaluation de la chaîne de calcul: Pas de noeud racine ! "

Ca, ça signifie que la formule que vous avez saisie n'est pas juste! Et sans la formule, impossible de dire plus.

Catégories: Géomatique

[Geolibre] GDAL/OGR: Partage d'automatisation

Georezo.net - 27/06/2017 - 09:38

Lors d’une commande, nous devions fournir l’ensemble des données rasters et vecteurs comprises dans le périmètre de notre site.
Cela représentait plus d’une 100 aine de couches vecteurs et plus de 1500 dalles rasters. Au vue du nombre important d’information à transmettre, cette tâche ingrate devenait en plus chronophage…

Ce type de demande devant potentiellement se reproduire, nous nous sommes penchés sur la fabuleuse boîte à outils GDAL/OGR ;-) nous permettant ainsi d’automatiser au maximum ces tâches.

Rentrons dans le vif du sujet :

Outils : Shell OSGeo4W

Les vecteurs :

la méthode est connue mais je la remets :

Créer autant de nouvelles couches découpées en fonction de la zone d'étude pour chaque shape se trouvant dans votre répertoire de travail (celui que vous allez via le SHELL).

Via le shell OSGeo4W se placer dans le répertoire de travail, là où se trouve vos données et où vous devez avoir une couche nommée “site_etude.shp”.

Code:FOR /r %Q IN (*.shp) DO ogr2ogr -t_srs EPSG:2154 -clipsrc site_etude.shp -f "ESRI Shapefile" "%~dpnQ_decoupe_site_etude.shp" "%Q"

Avant :
C:\REPERTOIRE_DE_TRAVAIL\site_etude.shp
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER1\Zone1.shp
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER2\Reserve.shp
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER1\DOSSIER11\CENXX.shp
...

APRES la commande :
C:\site_etude.shp,
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER1\Zone1.shp, Zone1_zone_etude.shp
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER2\Reserve.shp, reserve_zone_etude.shp
C:\REPERTOIRE_DE_TRAVAIL\DOSSIER1\DOSSIER11\CENXX.shp, CENXX_site_etude.shp
...

Pour les rasters :


Récupérer les rasters (sous forme de tuiles) qui intersectent votre zone d’étude et les copier dans le répertoire nommé EXPORT.

Au préalable, vous devez disposer d’une couche reprenant le contour de votre site que j'ai nommé ici “site_etude.shp” et qui doit se trouver dans le même répertoire que vos rasters.

Ça se décompose en plusieurs étapes :
1/création d'un répertoire EXPORT :
MD EXPORT

2/Réaliser une grille d'assemblage des rasters (*.jp2) du répertoire (table attributaire avec le nom des rasters composant cette grille)
gdaltindex EXPORT\Grille_assemblage.shp *.jp2

3/Découper la grille d'assemblage en fonction du contour du site d'étude.
ogr2ogr -a_srs EPSG:2154 -t_srs EPSG:2154 -s_srs EPSG:2154 -clipsrc site_etude.shp EXPORT\Grille_assemblage_zone_etude.shp EXPORT\Grille_assemblage.shp

4/Récupérer l'ensemble des rasters (contenus dans la table attributaire) dans un fichier CSV
ogr2ogr -f CSV EXPORT\liste_fichier.csv EXPORT\Grille_assemblage_zone_etude.dbf -dialect sqlite -sql "SELECT replace(location,'.jp2','') as NOM_FICHIER FROM Grille_assemblage_zone_etude"

5/Convertir le CSV en TXT
REN EXPORT\liste_fichier.csv liste_fichier.txt

6/Copier les fichiers se trouvant dans le txt dans le dossier EXPORT
FOR /f "tokens=1-2 delims=," %Q IN ('type EXPORT\liste_fichier.txt') DO COPY "%~dpnQ.*" "%~dpQEXPORT"


Vous pouvez chaîner les différentes commandes avec le symbole “&
ce qui donne :

Code:MD EXPORT & gdaltindex EXPORT\Grille_assemblage.shp *.jp2 & ogr2ogr -a_srs EPSG:2154 -s_srs EPSG:2154 -clipsrc site_etude.shp EXPORT\Grille_assemblage_zone_etude.shp EXPORT\Grille_assemblage.shp & ogr2ogr -f CSV EXPORT\liste_fichier.csv EXPORT\Grille_assemblage_zone_etude.dbf -dialect sqlite -sql "SELECT replace(location,'.jp2','') as NOM_FICHIER FROM Grille_assemblage_zone_etude" & REN EXPORT\liste_fichier.csv liste_fichier.txt & FOR /f "tokens=1-2 delims=," %Q IN ('type EXPORT\liste_fichier.txt') DO COPY "%~dpnQ.*" "%~dpQEXPORT"

Création de la grille d'assemblage et de la gille d'assemblage du site.

Contenu de la table attributaire

Catégories: Géomatique

[Données] Re: Mise en oeuvre du Service Public de la Donnée - SPD

Georezo.net - 27/06/2017 - 09:27
Nombre de message(s) précédent(s) : 34

Bonjour Frédéric


Le plus simple est de lire le texte législatif :
http://eur-lex.europa.eu/legal-content/ … 32007L0002

Et surtout le chapitre 5 (data sharing).
Article 1 :
1.   Each Member State shall adopt measures for the sharing of spatial data sets and services between its public authorities referred to in point (9)(a) and (b) of Article 3. Those measures shall enable those public authorities to gain access to spatial data sets and services, and to exchange and use those sets and services, for the purposes of public tasks that may have an impact on the environment.

Article 3 :
3.   Member States may allow public authorities that supply spatial data sets and services to license them to, and/or require payment from, the public authorities or institutions and bodies of the Community that use these spatial data sets and services. Any such charges and licenses must be fully compatible with the general aim of facilitating the sharing of spatial data sets and services between public authorities. ...

INSPIRE concerne bien le service public et n'impose pas une gratuité totale.

Cordialement

Catégories: Géomatique

[Géo'BD] Re: Pgrouting - itinéraire en deux temps

Georezo.net - 27/06/2017 - 07:18
Nombre de message(s) précédent(s) : 4

Bonjour,

Merci pour vos réponses.
Nicolas Ribot, je ne vois pas comment utiliser TSP pour parvenir au résultat souhaité.
J'ai joins une pièce jointe qui permet de mieux comprendre mon besoin.


Le calcul d'itinéraire a été réalisé sur ce site : https://gebweb.net/optimap/
On y rentre une série de coordonnées en longitude et latitude et on choisit le "Fastest Round Trip".
Cela nous permet d'obtenir une proposition d'itinéraire en partant du point 1 (la poste) et qui va desservir les points relais tout autour.
A partir le 15 points, le tracé n'est pas garanti optimal..
Cette méthode n'est pas satisfaisante selon moi car je ne sais pas encore comment exploiter les résultats en sortie.
C'est pour cela que j'aimerais réussir à trouver une solution sous Pg routing.

Bonne journée.

Catégories: Géomatique

[QGIS] Re: QGIS 2.0.1: Limiter les choix d'une liste selon l'emprise

Georezo.net - 26/06/2017 - 20:07
Nombre de message(s) précédent(s) : 34

et moi ddtphilou ;-)

ddtphilou a écrit:

...
je ne peux pas changer de version pour le moment
...

Catégories: Géomatique

[QGIS] QGIS: Mise à jour automatique_Calcul_surface

Georezo.net - 26/06/2017 - 19:29

Bonjour,

Je calcule des surfaces sur QGis après avoir ajouté une entité et parfois je modifie les surfaces et j'aimerais que mon calcul de surface se mette à jour automatiquement ! Est-ce possible ? (Au au moins pouvoir le mettre à jour automatiquement.
Or voici le message d'erreur que j'obtiens :

"Une erreur s'est produite lors de l'évaluation de la chaîne de calcul: Pas de noeud racine ! "

Je vous remercie par avance pour votre aide :)

Catégories: Géomatique

[QGIS] QGIS: création SHP pour des parcelles et y joindre les attributs

Georezo.net - 26/06/2017 - 19:29

Bonjour , je suis en école d'agro et en stage en ce moment et je ne suis pas trop à l'aise avec qgis

J'ai reçu des données de gestionnaires de domaines telles que le plan parcellaire en fichier image et les attributs de chaque parcelle dans un fichier excel (plantation , surface , age ...) ce que je veux faire c'est combiner ces deux ensemble de sorte à avoir un shapefile géoréférencié des parcelles avec comme table attributaire les info qui m'ont été transmise dans fichier excel ...

comment avoir ce plan parcellaire en shapefile ? je dois redessiner les polygones puis ensuite ajouter des coordonnées ?

je ne sais pas comment m'y prendre .. c'est peut être bête mais je demande quand même à ceux qui le savent.

Bref ça serait super bien si pouviez me donner quelques pistes ou étapes à suivre

Merci bcp d'avance

Catégories: Géomatique

[QGIS] QGIS 2.14.13: Paramétrage de l'Atlas ?

Georezo.net - 26/06/2017 - 19:28

[Version Qgis 2.14.13]

Bonjour à tous,

J'ai une interrogation concernant l'atlas de Qgis, voici mon problème:

J'ai paramétré mon atlas sur une couche "ligne", cet atlas est filtré sur une colonne de cette couche "ligne" nommée "câble".

Dans cette colonne plusieurs entités sont rattachées à seul identifiant de la colonne "câble", j'ai par exemple deux lignes qui sont rattachées au câble 601.

Est t'il possible d'afficher ces deux lignes sur un même plan rattaché au n° du câble ? Pour l'instant l'atlas m'affiche deux plans, un pour chaque entités du câble 601. J'ai donc deux plans nommés 601.

Ceci est mon premier post, si la méthode n'est pas la bonne, si des éléments sont manquants, ou peu compréhensibles merci de me le signaler. 

Merci d'avance pour vos réponses.

Joël

Catégories: Géomatique

[Esri] Regroupement de polygones

Georezo.net - 26/06/2017 - 19:27

Bonjour,

Je suis bloquée sur ArcMap pour regrouper des polygones d'une couche en fonction d'un attribut ou deux, Pouvez-vous m'aider.

Je souhaite regrouper les éléments de la couche en 20 groupes, dont les polygones sont contiguës et ces groupes doivent contenir un seuil de population.

Pour regrouper les polygones j'ai utilisé l'outil "Analyse de regroupement". Cet outil permet de regrouper les entités contiguës pour avoir 20 zones mais ne permet pas de rajouter la contrainte lier à la population.
Pour pouvoir intégrer la population au découpage je pense qu'il faudrait rajouter comme variable ou contrainte la somme du champ Population est égale à 60 000.

Mais je ne sais pas comment faire.

Savez vous s'il existe un outil capable de réaliser cette analyse sous ArcMap ou une méthode capable de la réaliser ce traitement ?

Merci.

lelann

Catégories: Géomatique

[Géomatique] Re: données MAJIC III

Georezo.net - 26/06/2017 - 16:07
Nombre de message(s) précédent(s) : 21

Juste pour vérif voici les données que la commune m'a envoyé :

http://imageshack.com/a/img923/4912/EBpYwQ.png
http://imageshack.com/a/img923/4959/uU3kdn.png

et voici le résultat :
http://imageshack.com/a/img922/2172/SF3505.png

Je vous remercie vraiment pour tout ceux qui m'aide car ça m'énerve de pas comprendre ce qu'il se passe

Catégories: Géomatique

[QGIS] QGIS: Mise à jour du champs largeur

Georezo.net - 26/06/2017 - 15:54

Bonjour
Pouvez m'aider j'ai la longueur de mes routes mais j'aimerais savoir comment calculer leur largeur sur qgis ?
Merci

Catégories: Géomatique

[Mapinfo] fenêtre carte

Georezo.net - 26/06/2017 - 15:32

Bonjour,

Avez-vous un code qui permet de créer une emprise a partir de ma fenêtre carte.
exemple ma fenêtre carte s'ouvre, j'ai la couche des communes, le zoom est fait sur un polygone A(table A)  le but c'est de crée une emprise avec les communes qui sont dans et en dehors de table A en automatique.

cordialement pour votre aide.

Catégories: Géomatique

[QGIS 2.x] Calcul d'une aire avec Python

Dernières discussions Sig forum - 26/06/2017 - 14:09
Bonjour,

J'écris ce "petit" message après avoir longuement testé mon code et testé toutes les solutions trouvées sur les forums. Mais je n'arrive toujours pas à calculer l'aire de mes couches via mon code python.
J'ai 4 fichiers :
Un fichier Class_Layer qui définit ma class_MorphoLayer. Elle prend en héritage QgsVectorLayer
Un fichier Class_Projet qui définit ma class_MorphoProjet
Un fichier Calculs_Preliminaires qui définit des fonctions
Un fichier test_commande qui me permet de mettre les opérations que je veux réaliser dans la console python de qgis

Après avoir fait un execfile de ce dernier fichier j'obtiens :

execfile('C:/Users/***/Indicateur/test_commande.py')
Entering Test module
Entering Calculs préliminaires module 23-06-2017 14h30
('myLayer=', <qgis._core.QgsVectorLayer object at 0x000000001AC0C0D0>)
La couche car_selection_2154 a été sélectionnée
True
Returning layer function path() { var args = arguments, result = [] ; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/scripts/')); return result }; SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'ahk autohotkey @shBrushAhk.js', 'asm x86 @shBrushAsm.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.all();

Je devrais normalement obtenir l'aire de ma couche mais rien ne s'affiche.
Merci par avance de votre aide. :)


Voici les codes utilisés :

Class_Layer :


# -*- coding: utf-8 -*-

"""Définition de la classe Layer"""
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *
from qgis.utils import *


class Morpho_Layer(QgsVectorLayer) :

def __init__ (self,nom):
# QgsVectorLayer._init_(self)
super(QgsVectorLayer, self).__init__()
self.nom=nom
self.chemin=r'C:/Users/***/Projet Indicateur/Couches/'
self.couche = QgsVectorLayer(self.chemin,self.nom,'ogr')
self.pr = self.couche.dataProvider()

# Ouvre et sélectionne la couche
def OpenLayer (self) :
self.myLayer = iface.addVectorLayer(self.chemin+self.nom+'.shp', self.nom, "ogr")
print("myLayer=",self.myLayer)
if not self.myLayer:
print "Impossible d'importer la couche!"

# Sélectionne une couche
def SelectLayer (self) :
aLayer = self.myLayer
legend = iface.legendInterface()
if legend.isLayerVisible(aLayer) == False :
legend.setLayerVisible(aLayer, True)
print legend.isLayerVisible(aLayer) function path() { var args = arguments, result = [] ; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/scripts/')); return result }; SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'ahk autohotkey @shBrushAhk.js', 'asm x86 @shBrushAsm.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.all();

Class_Projet :


# -*- coding: utf-8 -*-

"""Définition de la classe Projet"""
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *
from qgis.utils import *
from Class_Layer import Morpho_Layer

class Morpho_Projet :

def __init__ (self, NomProjet):
self.NomProjet=NomProjet
self.layers = [] #Liste des objets Layer

#Ajoute des couches au projet
def add_layer(self,NomCouche):
self.layers.append(Morpho_Layer(NomCouche)) #ajoute la couche à la liste
self.longueur_layers=len(self.layers)

#rend visible la couche sur l'interface
def show_layer(self,NomCouche):
for i in range(self.longueur_layers):
if self.layers[i].nom == NomCouche :
self.layers[i].OpenLayer()
break

def get_layer(self,NomCouche):
for i in range(self.longueur_layers):
if self.layers[i].nom == NomCouche :
print 'La couche '+NomCouche+ ' a été sélectionnée'
self.layers[i].SelectLayer()
print ('Returning layer')
return self.layers[i] function path() { var args = arguments, result = [] ; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/scripts/')); return result }; SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'ahk autohotkey @shBrushAhk.js', 'asm x86 @shBrushAsm.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.all();

Calculs_Preliminaires :


# -*- coding: utf-8 -*-

"""Définition des fonctions de calculs préliminaires"""
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *
from qgis.utils import *
from Class_Projet import Morpho_Projet


print('Entering Calculs préliminaires module 23-06-2017 14h30')

def surface2(myprojet,NomCouche):
mylayer=myprojet.get_layer(NomCouche)
features = mylayer.getFeatures()
for f in features:
geom = f.geometry()
print ('Aire:'), geom.area()
print ('Perimetre:'), geom.length()

function path() { var args = arguments, result = [] ; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/scripts/')); return result }; SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'ahk autohotkey @shBrushAhk.js', 'asm x86 @shBrushAsm.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.all();


Et test_commande :


# -*- coding: utf-8 -*-
import PyQt4.QtCore
import PyQt4.QtGui
import qgis.core
import qgis.gui
import qgis.utils

import sys
sys.path.append("C:\\Users\\****\\Indicateur")

print('Entering Test module')

from Class_Projet import Morpho_Projet
import Calculs_Preliminaires

ProjetTest = Morpho_Projet('Belfort')
ProjetTest.add_layer('car_selection_2154')
ProjetTest.show_layer('car_selection_2154')

Calculs_Preliminaires.surface2(ProjetTest,'car_selection_2154') function path() { var args = arguments, result = [] ; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/scripts/')); return result }; SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'ahk autohotkey @shBrushAhk.js', 'asm x86 @shBrushAsm.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.all();
Catégories: Géomatique, On en parle