IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

verifier que un polygone est contenu dans un autre


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    Par défaut verifier que un polygone est contenu dans un autre
    Bonjour!

    je suis débutante en SQL, et je travaille sur un projet de création d'un SIG.
    j'ai une table polygone qui est associé à la table POINT contenant les coordonnées x et y et un identifiant, et chaque point correspondant à un polygone est spécifier dans une table intermédiaire qui relie POLYGONE à POINT.
    Comme le titre le dit, je suis bloquée sur la fonction qui doit vérifier si un polygone est contenu dans un autre en SQL server.
    J'ai besoin d'aide, j'espère que vous pourrez me mettre sur la voie.

    merci d'avance

  2. #2
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Bonjour,

    Etes vous en 2005 ou 2008 ?
    Si vous êtes en 2008, il existe des type de données spaciales.
    Convertissez vos données en données de type geometry, créez des instances de polygones.
    Ensuite, la fonction STWithin vous permettra de savoir si l'un est contenu dans l'autre.

    De BOL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DECLARE @g geometry;
    DECLARE @h geometry;
    SET @g = geometry::STGeomFromText('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))', 0);
    SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
    SELECT @g.STWithin(@h);

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    On dirait que ce billet était fait pour vous

    Attention Pti_Dje, les types geography et geometry ne sont pas destinés aux mêmes usages

    @++

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    Merci pour vos réponses.
    Je travaille avec 2008.
    je vais donc travailler avec geometry, car j'ai regardé un tuto dessus et les arêtes entre sommets sont des droites (ou des segments).
    Mais est ce qu'il est possible de récupérer les coordonnées en décimal qui se contenues dans la table pour la conversion en type geometry en la parcourant?

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    merci à vous, j'ai finalement refait mes objets en geography.

    merci encore!!

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Comme je l'ai dit ces deux types ont des utilisations bien distinctes, sinon il n'y en aurait qu'un seul.

    Leur nom parle pour eux, donc si vous avez converti, je ne sais pas comment, des valeurs geometry en geography, c'est qu'avant ou après que nous vous ayons proposé des solutions, vous ne saviez pas lequel utiliser

    Quel est le but de votre application ?

    @++

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    Bonsoir

    comme je n'avais pas trop avancé, j'ai créé une nouvelle base dans laquelle mes objets géographiques sont de type geography (finalement). je peux donc utiliser les fonctions prédéfinies.
    c'est un projet scolaire sur lequel je travaille.

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    D'accord, mais cela ne nous dit pas si ce sont des positions géographiques ou bien de la géométrie plane

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. verifier si un élément est contenu dans un tableau
    Par ikuzar dans le forum Langage
    Réponses: 1
    Dernier message: 03/05/2012, 18h53
  2. Réponses: 2
    Dernier message: 30/11/2009, 09h37
  3. Réponses: 2
    Dernier message: 28/03/2009, 19h13
  4. Tester si un string est contenu dans un autre
    Par totoen dans le forum C#
    Réponses: 19
    Dernier message: 18/02/2008, 09h23
  5. [RegEx] Rechercher si mot est contenu dans un autre
    Par Seb33300 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/08/2007, 23h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo