#1 Thu 13 March 2014 14:37
- Romainreynier
- Juste Inscrit !
- Date d'inscription: 13 Mar 2014
- Messages: 3
petit souci avec Corine Land Cover
Bonjour à tous,
Je me tourne vers GeoRezo car un ami me l'a conseillé. Je vous expose mon souci. J'ai récupéré sur internet l'occupation du sol (Corine Land Cover), et je tente désespérément de calculer sur un ensemble de commune (le Var en l’occurrence) quel pourcentage représente ce qui attrait à l'urbain vis à vis de la superficie de la commune. Je ne sais pas si je suis assez clair.
Par exemple j'ai la commune de Toulon, je connais sa superficie car je l'ai calculé (comme l'ensemble des autres communes) avec les fonctions de MapInfo (Area ( "sq km")), mais mon autre table qui possède la superficie de l'urbain n'est pas découpé par commune (car le découpage par commune n'existe pas au départ...) et ne possède aucun champs qui me permette de faire une jointure.
Y a t il un autre moyen de le faire que commune par commune (sachant qu'il y a 153 communes dans le Var ^^") et manuellement? Je ne sais pas bien utiliser Mapbasics mais je pense qu'il y a un moyen d'automatiser la requête pour obtenir par commune les taux de recouvrements, non?
Si je me suis mal exprimé veuillez m'en excuser, et si besoin est je pourrai joindre les fichiers.
Hors ligne
#2 Thu 13 March 2014 15:36
Re: petit souci avec Corine Land Cover
Bonjour,
Ce n'est pas la peine d'utiliser mapbasic, Mapinfo sait le faire comme un grand. Par contre je ne l'ai pas sous la main et il y a au moins 2 ans que je n'ai pas fait ce genre de manip sur MI, donc je vais dire la démarche que je ferais de tête...
Donc, on a 1 couche CLC et 1 couche commune. Dans un premier temps on va découper CLC selon les communes. Pour cela, vous allez sélectionner l'ensemble de vos communes (ctrl+A) puis dans le menu "Objet" faites définir cible.
Rendez la couche CLC éditable, puis sélectionnez tous les objets de cette dernière et, dans objet, "découper les entités" (ou quelque chose du genre).
Bon, j'avoue que je ne sais plus trop quelle couche on doit définir comme cible (celle a découper? ou l'autre?)Je vous laisse tester...
Ensuite, il suffit de faire une petite requête spatiale pour attribuer le code INSEE aux morceaux de CLC.
Pour finir, une requête avec un groupe by, ou un export pour vous faire un tableau croisé dynamique sur excel et voilà
Hors ligne
#3 Thu 13 March 2014 16:46
- Romainreynier
- Juste Inscrit !
- Date d'inscription: 13 Mar 2014
- Messages: 3
Re: petit souci avec Corine Land Cover
Bonjour,
Je vous remercie pour les premières manipulations. Mais mon souci était celui de l'étape suivante : la requête spatiale.
Je vous joint une copie d'image une fois les premiers traitements réalisés. l'impression écran montre une carte thématique mais les découpages sont bons (pour avoir vérifié 3 fois).
Mon souci étant de trouver la bonne formule pour pouvoir définir par la suite le taux de recouvrement de l'urbain sur la commune.
Hors ligne
#4 Thu 13 March 2014 17:04
- CLC_FR
- Participant occasionnel
- Date d'inscription: 1 Apr 2009
- Messages: 17
Re: petit souci avec Corine Land Cover
Bonjour,
si vous le souhaitez, vous pouvez également télécharger les statistiques d'occupation des sols CORINE Land Cover, par région, département et commune, à l'adresse suivante :
Code:
http://www.statistiques.developpement-durable.gouv.fr/donnees-ligne/t/telechargement-donnees.html?tx_ttnews[tt_news]=11263&cHash=198a579c8e605a1c967fabbd0cbc48a2
L'équipe CORINE Land Cover France
MEDDE / SOeS
Hors ligne
#5 Thu 13 March 2014 17:13
Re: petit souci avec Corine Land Cover
Ah, d'accord, je n'avais pas tout compris...
Pour la jointure spatiale, on peut passer par plusieurs méthodes.
La plus simple est sans doute de créer une nouvelle colonne dans la table CLC découpé puis avec l'outil "mise à jour de colonne" prendre le code INSEE de la commune qui l'intersecte (une zone appartient à une et une seule commune).
Pendant qu'on y est, le mieux est de recalculer la surface pour être plus cohérent avec l'autre couche.
Donc ensuite, il suffit de faire une requête de ce style:
SELECT code_insee,code_clc, sum(area) as area FROM clc GROUP BY code_insee, code_clc
Avec cette nouvelle table vous faites une jointure pour récupérer les surfaces des communes et vous calculez le taux dans une nouvelle colonne.
Hors ligne
#6 Thu 13 March 2014 17:45
- Romainreynier
- Juste Inscrit !
- Date d'inscription: 13 Mar 2014
- Messages: 3
Re: petit souci avec Corine Land Cover
je vous remercie pour votre aide.
La façon la plus simple est celle de CLC_FR mais il est bon de savoir le faire manuellement.
Merci encore à vous
Dernière modification par Romainreynier (Thu 13 March 2014 17:52)
Hors ligne
#7 Fri 14 March 2014 08:16
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: petit souci avec Corine Land Cover
Bonjour,
Même si la demande est satisfaite, voici une méthode "one shot" en SQL pour obtenir la surface totale d'un zonage (urbain de CLC) intersectant un autre (surface communale) :
1- avec la fenêtre Sélection SQL de Mapinfo : voir la pièce jointe.
2- avec la fenêtre mapbasic :
Code:
Select COMMUNE . INSEE_Commune , COMMUNE . Nom_Commune , area ( COMMUNE . obj , "hectare" ) "Surf_Commune" , sum ( areaoverlap ( COMMUNE . obj , URBAIN . obj ) ) "Surf_Urbain" from COMMUNE , URBAIN where COMMUNE . Obj intersects URBAIN . Obj into Selection group by COMMUNE . INSEE_Commune order by COMMUNE . Nom_Commune
COMMUNE étant la table de polygones des communes, URBAIN étant le zonage dont on veut connaitre la surface par commune.
Nicolas.
NOTA : il faut penser à mettre l'unité de surface calculée par area (en hectare dans mon exemple) en concordance avec l'unité de surface utilisée par la fonction areaoverlap qui est l'unité paramétrée dans les préférences système de Mapinfo.
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne