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é ?

#1 Wed 27 September 2023 15:32

diagnekhadim
Juste Inscrit !
Date d'inscription: 14 Oct 2016
Messages: 4

QGIS: Tracer les ZMT

j'essaie de tracer les zmt(zone de mise à terre) sur qgis avec les informations publiées par l'armée, mais j'arrive pas à avoir la bonne orientation des axes. Si quelqu'un peut aider pour les tracer et pourquoi pas l'automatiser avec python ou autre.
En pj comment sont fournies les données.


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

Hors ligne

 

#2 Wed 27 September 2023 16:49

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 288

Re: QGIS: Tracer les ZMT

Bonjour

Il faudrait savoir à quoi corresponds les coordonnées de référence, centre du polygone, coins !!!! sans cela difficile de placer le polygone.

Cordialement

Hors ligne

 

#3 Thu 28 September 2023 10:20

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3927

Re: QGIS: Tracer les ZMT

Bonjour,

Bonjour,
j'essaie de tracer les zmt(zone de mise à terre) sur qgis avec les informations publiées par l'armée, mais j'arrive pas à avoir la bonne orientation des axes. Si quelqu'un peut aider pour les tracer et pourquoi pas l'automatiser avec python ou autre.
En pj comment sont fournies les données.
Merci


C'est tellement mieux avec!!!

Hors ligne

 

#4 Thu 28 September 2023 10:24

diagnekhadim
Juste Inscrit !
Date d'inscription: 14 Oct 2016
Messages: 4

Re: QGIS: Tracer les ZMT

Vincent Vauchey a écrit:

Bonjour

Il faudrait savoir à quoi corresponds les coordonnées de référence, centre du polygone, coins !!!! sans cela difficile de placer le polygone.

Cordialement


Les coordonnées correspondent au coin inferieur droit.
merci en tout cas de votre réponse!

Hors ligne

 

#5 Thu 28 September 2023 14:18

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 288

Re: QGIS: Tracer les ZMT

Bonjour

Je pense que vous trouverez la solution ici https://georezo.net/forum/viewtopic.php?id=131447.

Cordialement

Hors ligne

 

#6 Thu 28 September 2023 15:28

diagnekhadim
Juste Inscrit !
Date d'inscription: 14 Oct 2016
Messages: 4

Re: QGIS: Tracer les ZMT

Merci pour vos réponses. J'avais pas fais attention pour les angles, mais elles sont données avec des mesures d'azimuts avec le 0 qui pointe au nord. Pour faire correspondre les azimuts correctement sur QGIS, il faut convertir les azimuts en angles par rapport au nord (plutôt que par rapport à l'est). pour ça il faut soustraire 90°. Avec quelques lignes de codes python j'ai réussi à créer la couche avec les emplacements des zones. même si j'ai pas créer automatiquement les polygones, j'arrive quand même à les tracer sur Qgis et à les orienter par rapport aux axes avec les bons angles.

Code:

import pandas as pd
import geopandas as gpd
from shapely.geometry import Point


df = pd.read_excel('output/ZMT_1.xlsx')


def convert_to_decimal(coord):
    if isinstance(coord, str):
        
        parts = coord.split(' ')
        if len(parts) == 2:
            direction = parts[0]  # N, S, E, W
            degrees_minutes = parts[1].split('°')
            degrees = float(degrees_minutes[0])
            minutes = float(degrees_minutes[1][:-1])
            
            
            decimal = degrees + (minutes/60)
            
            if direction in ['S', 'W']:
                decimal = -decimal
            
            return decimal
        else:
            return None
    else:
        return None

df['Latitude_decimal'] = df['Latitude'].apply(convert_to_decimal)
df['Longitude_decimal'] = df['Longitude'].apply(convert_to_decimal)


df['geometry'] = df.apply(lambda row: Point(row['Longitude_decimal'], row['Latitude_decimal']), axis=1)


gdf = gpd.GeoDataFrame(df, geometry='geometry', crs='EPSG:4326')


output_path = 'output/zmt_kd.shp'
gdf.to_file(output_path)

print(f'Fichier shapefile enregistré avec succès à {output_path}')

Hors ligne

 

Pied de page des forums

Powered by FluxBB