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

MS SQL Server Discussion :

[SQL2K8][GIS] Vérifier qu'un point est dans un polygone géographique


Sujet :

MS SQL Server

  1. #1
    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 [SQL2K8][GIS] Vérifier qu'un point est dans un polygone géographique
    Bonjour,

    Je cherche à vérifier qu'un point, de type GEOGRAPHY, est situé ou non dans l'aire définie par un polygone, de type GEOGRAPHY également.

    Cela est possible avec le type GEOMETRY, car il implémente la méthode STContains, mais je ne vois pas comment le faire pour le type GEOGRAPHY.

    En effet, même en créant les lignes (LINESTRING) qui relient la position aux points qui définissent le polygone pour vérifier que les lignes coupent le polygone à l'aide de la méthode STIntersects.
    Or, si la position est en dehors du polygone, les lignes coupent le polygone ...

    Passer par une moyenne des distances séparant la position des points définissant le polygone me semble complexe et hasardeux, et j'ai besoin d'une vitesse de calcul quasi-temps réel ...

    Merci de votre aide

    @++

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 904
    Points : 51 649
    Points
    51 649
    Billets dans le blog
    6
    Par défaut
    Et si vous respectiez la charte de postage en nous postant le DDL de vos tables, ainsi qu'un exemple avec un jeu d'essais !!!!

    hein! ;-)

  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
    OK, je prends mon 0

    J'ai donc relevé 4 points à l'aide de Google Earth qui sont à proximité des angles de la place du Capitole pour créer mon polygone comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DECLARE @g GEOGRAPHY
     
    SET @g = GEOGRAPHY::STGeomFromText
    		(
    			'POLYGON
    			(
    				(43.604832 1.442787,43.60492 1.443754,43.603922 1.443987,43.603823 1.443028,43.604832 1.442787)
    			)',
    			4326
    		);
    Ensuite j'ai également relevé un point sur la Croix du Languedoc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE @pCroix GEOGRAPHY
    SET @pCroix = GEOGRAPHY::Point(43.604386,1.443304, 4326)
    Et un point dans l'hôtel de ville, qui est donc en dehors de la place du Capitole :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE @pHotelDeVille GEOGRAPHY
    SET @pHotelDeVille = GEOGRAPHY::Point(43.604526,1.444323, 4326)
    Évidemment, comme un polygone n'est pas une surface, si nous exécutons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT @g.STIntersects(@pCroix)
    Nous obtenons 0.

    J'en suis donc venu à penser qu'avec les lignes que l'on peut construire, toujours avec le type GEOGRAPHY, entre le point et les points qui définissent le polygone, je pourrai vérifier que le point est dans le polygone.
    Mais l'intersection fonctionnera également si le point de trouve en dehors du polygone.

    Les polygones ne seront pas des carrés comme on aurait pu le penser parce que j'ai pris pour exemple la place du Capitole, sinon on aurait pu trouver assez facilement une solution.

    En revanche, le type GEOMETRY implémente une méthode STContains qui permet de savoir si une instance du type GEOMETRY est contenue dans une autre instance du type GEOMETRY.
    Dommage qu'elle n'ait pas d'équivalent dans le type GEOGRAPHY...

    @++

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 904
    Points : 51 649
    Points
    51 649
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    CREATE TABLE T (Nom VARCHAR(8) PRIMARY KEY NOT NULL,
                      G GEOGRAPHY)
     
     INSERT INTO T VALUES ('Capitole', GEOGRAPHY::STGeomFromText
    		(
    			'POLYGON
    			(
    				(43.604832 1.442787,43.60492 1.443754,43.603922 1.443987,43.603823 1.443028,43.604832 1.442787)
    			)',
    			4326
    		));
     
     
    INSERT INTO T VALUES ('Croix', GEOGRAPHY::Point(1.443304, 43.604386, 4326));
     
     
    INSERT INTO T VALUES ('HotelDV', GEOGRAPHY::Point(1.444323, 43.604526, 4326));
     
    SELECT * FROM T
     
    SELECT CAST(T1.G.STIntersection(T2.G) AS VARCHAR(max))
    FROM   T AS T1
           CROSS JOIN T AS T2
    WHERE  T1.Nom = 'Capitole'
      AND  T2.Nom = 'Croix'   
     
     
    SELECT CAST(T1.G.STIntersection(T2.G) AS VARCHAR(max))
    FROM   T AS T1
           CROSS JOIN T AS T2
    WHERE  T1.Nom = 'Capitole'
      AND  T2.Nom = 'HotelDV'
    Tu as inversé les coordonnées des points qui "tournent" dans le sens inverse des multipolygones !!!!!

    A +

  5. #5
    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
    J'ai conservé le même sens que pour les polygones, latitude puis longitude pour définir le point, et je me suis fait avoir ...

    Merci

    @++

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 904
    Points : 51 649
    Points
    51 649
    Billets dans le blog
    6
    Par défaut
    Entre nous, c'est un piège à c....

    A +

  7. #7
    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
    SQLPro méchant

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    .... Moi je pense que c'est depuis qu'il a mis son nouveau logo il ne sait plus dans quel sens tourner avec ses polygones

    ++

  9. #9
    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
    Mikedavem a pas pu s'en empêcher
    C'est vrai que SQLPro a besoin de soutien

    @++

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 904
    Points : 51 649
    Points
    51 649
    Billets dans le blog
    6
    Par défaut
    Je lui ais dit en mail privé que je trouvais son logo moche et en plus qu'il est en anglais.... alors là tu enfonce le clou !

    Bref, il semble qu'une certaines unanimité de critiques se fasse autour de ton logo !!!!

    A +

  11. #11
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Le logo !! le logo !! Le logo !!

  12. #12
    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
    Par crainte que certains ne demandent à ce que je sois banni du forum pour ce malheureux logo, je le retire donc ... MAIS JE REVIENDRAI

    @++

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 72
    Points
    72
    Par défaut question
    Bonjour, désolé de déterrer le topic mais comment le polygone aurait du être fait ?
    Pour avoir les coordonnées dans le bon sens ?

  14. #14
    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,

    En fait, le problème ne venait pas du polygone, mais du point où j'avais inversé la latitude et la longitude, ce qui fait que la fonction STIntersects me retournait zéro au lieu de 1.

    Quel est votre problème plus exactement ?

    @++

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 72
    Points
    72
    Par défaut
    Je n'ai plus de probleme justement grace ce topic
    mais SQLPro dit
    Tu as inversé les coordonnées des points qui "tournent" dans le sens inverse des multipolygones !!!!!
    J'ai eu le même probleme le multipolygone sort d'un SIG et j'ai lutté pour afficher mes points sur la forme.

    du coup j'ai été obliger de faire une fonction pour inverser mes X avec mes Y.
    Il sort de mon champ Geom une valeur telle que : 48.8781908415056,2.22994086143029

    J'ai donc du inverser comme vous : 2.22994086143029,48.8781908415056
    car la forme est du type :
    MULTIPOLYGON (((2.2550868568941951 48.88673818577081, 2.25521226413548 48.886913706548512, 2.2552786776795983 48.886913760565221, 2.2553075896576047 48.886932825669646, 2.255504684522748 48.887187934480608, 2.2557833269238472 48.887567567639053, 2.2560348324477673 48.887890103273094, 2.2563610542565584 48.8883191337809, 2.2564986338838935 48.8885023733601, 2.2565086865797639 48.888552888296545, 2.2564831525087357 48.888593290001154, 2.2564456649124622 48.888611223548651, 2.2563962489366531 48.888614513911307, 2.2563401265069842 48.888590873219073, 2.2563027739524841 48.8885706756264, 2.2559522865340114 48.888360392302275, 2.2554863318800926 48.888004147447646, 2.255125792697072 48.887715286575258, 2.2548844534903765 48.887492817826569, 2.2545869564637542 48.887201829813421, 2.2545596584677696 48.887174859642982, 2.2545734019950032 48.887119815684855, 2.2545904647558928 48.88709968701005, 2.25447253882885 48.886935094371438, 2.2550868568941951 48.88673818577081)), ((2.2137671448290348 48.859295113012195, 2.2140835002064705 48.859358527697623, 2.2142704576253891 48.859416055493057, 2.2146808411926031 48.859526133164763, 2.2151205195114017 48.859627947211266, 2.2155011724680662 48.859694118611515, 2.2158332224935293 48.859738384373486, 2.2163753975182772 48.859795448370278, 2.2166622458025813 48.859800114296377, 2.2168337004259229 48.859801147133112, 2.2171406354755163 48.859802525490522, 2.2177762584760785 48.859809020534158, 2.218564041890204 48.859821542166173, 2.2189674135297537 48.859827322885394, 2.2200016183778644 48.859922835603356, 2.2205127663910389 48.859931382350624, 2.2215076386928558 48.8599594430998, 2.2224817480891943 48.859844362363219, 2.2241726387292147 48.859640029259026, 2.2242805100977421 48.8596271481365, 2.2248477330431342 48.859531085006893, 2.2249158751219511 48.85950418561697, 2.2256541112437844 48.859493675641716, 2.2257509417831898 48.8597100591287, 2.226414555683732 48.860961584374309, 2.2266804752871394 48.861403360031545, 2.2268343847244978 48.86165932379663, 2.2272873865440488 48.862565835937858, 2.2282495005056262 48.865158417262137, 2.2286511529237032 48.865761866793036, 2.229486939497292 48.866737836040556, 2.2295218035578728 48.866777001880109, 2.22993600089103 48.867252998054028, 2.2306159799918532 48.8679913347587, 2.231096182949841 48.868485557846725, 2.2316017858684063 48.868737116456032, 2.2327633956447244 48.869757330045104, 2.2359200771898031 48.870623363181949, 2.2373082153499126 48.871041690930724, 2.238807151094079 48.871408365666866, 2.2395904203876853 48.871695649810135, 2.2402117885649204 48.871960317716, 2.2408162569627166 48.872253113426268, 2.2413098365068436 48.872540257871151, 2.2419630056247115 48.873000635765493, 2.2432163096964359 48.8740080120042, 2.2433515917509794 48.874118408188224, 2.2434118622913957 48.874183542095125, 2.2456248505041003 48.876355221495032, 2.2457319842651486 48.876442323438823, 2.24599267821759 48.8766589993611, 2.2461325656622648 48.876791184768081, 2.2465157750993967 48.8771631391719, 2.2478785095736384 48.878470901399851, 2.2486191410571337 48.879106352105737, 2.2495576590299606 48.879882525652647, 2.2499950816854835 48.880233312956989, 2.2506656991317868 48.8807629076764, 2.2509848400950432 48.8810334475711, 2.2512882370501757 48.881308565847576, 2.2518507419154048 48.881819490343332, 2.252136867493391 48.882111045531929, 2.2523984564468265 48.882402176968753, 2.2527595348656178 48.882820915430784, 2.2529666498303413 48.883069526404142, 2.2533300947397947 48.8835330652073, 2.2536744317039847 48.883941173553467, 2.2542147068306804 48.884655826725066, 2.2543803919106722 48.884875037707388, 2.2552862409502268 48.886175181716681, 2.2547722533345222 48.886337282136083, 2.2541725011542439 48.886526725254953, 2.2535762842744589 48.886726080439985, 2.2535235239192843 48.886744007468224, 2.25305837392807 48.886885181069374, 2.2530069816857576 48.886902756989, 2.2531709345057607 48.887071775272489, 2.2530910596251488 48.88709744811058, 2.2526585552841425 48.887234685942531, 2.2525220829993486 48.887279520742595, 2.2509092930704355 48.887792765162885, 2.2504781484603882 48.887938996776938, 2.244778704829514 48.88973396178335, 2.2430934673175216 48.890266789123416, 2.2424780419096351 48.89045877289027, 2.2423949735239148 48.890487655065954, 2.2422340819612145 48.89026926830411, 2.2421360295265913 48.8901282614097, 2.241960633546114 48.889875876717269, 2.2419287841767073 48.889805886894464, 2.2418880620971322 48.889727116562426, 2.241828665137291 48.889638336375356, 2.2416359884664416 48.889374060556293, 2.2415882991626859 48.889361707493663, 2.2415019208565354 48.889355763792992, 2.2413790803402662 48.889362450689077, 2.2412754753604531 48.889387514442205, 2.2412167126312852 48.889451804570854, 2.2411930467933416 48.889512899331748, 2.2411979883909225 48.889594950713217, 2.2395163085311651 48.890021988190711, 2.2392149036750197 48.889872582629323, 2.2386854719370604 48.890040270984173, 2.2384962281212211 48.8901018416509, 2.2382444413378835 48.8900289228186, 2.2380156172439456 48.889943288639188, 2.2372619891539216 48.889644048176706, 2.2368995537981391 48.889499913901091, 2.2364988876506686 48.889340335503221, 2.2363462913781404 48.889283603057265, 2.2362358700484037 48.8892618548125, 2.2361650578677654 48.889254657551646, 2.236133593134582 48.889251939021051, 2.2359713744372129 48.889256210066378, 2.2357216905802488 48.889310016296804, 2.2355348169803619 48.889349383302033, 2.2354502528905869 48.889359185472131, 2.2352742794901133 48.889380634762347, 2.2352033676579595 48.889389535412192, 2.23511203750968 48.889367907308042, 2.2350506754592061 48.889357982203364, 2.2349525094032288 48.88932821713388, 2.2347869127988815 48.889636530540884, 2.2347101690247655 48.8897730987519, 2.2346005607396364 48.890039230696857, 2.2344383839517832 48.890671236440539, 2.23430756572634 48.891294359229505, 2.2342248605564237 48.891678296029568, 2.2341861585155129 48.8919543242082, 2.234207620844245 48.89260009303689, 2.2342890268191695 48.892786775715649, 2.2343706404790282 48.892903761006892, 2.2343847109004855 48.892920848913491, 2.2342598754912615 48.8929605204612, 2.231701853685081 48.893775569275022, 2.2297928286716342 48.894398595206439, 2.22979624196887 48.894379911012948, 2.2297989865764976 48.894360323436558, 2.2297980012372136 48.894343948923051, 2.2297946959733963 48.894327649846673, 2.2297888062894344 48.894310884177685, 2.2297668103128672 48.894276478327811, 2.2296606069430709 48.894125786609948, 2.229639932513237 48.894094266928732, 2.2296238793060184 48.894063855521381, 2.2296119695529342 48.894039137288928, 2.2296094289049506 48.894017267040908, 2.2296112459152937 48.893995874561369, 2.2296155001968145 48.893975667655468, 2.2296241614967585 48.893952609971166, 2.2296455278992653 48.893918932415545, 2.2296970104798675 48.893840932287276, 2.2299059238284826 48.893557816743851, 2.2304530078545213 48.892827657051384, 2.2305970406159759 48.89263351727277, 2.2306500021368265 48.892566047608852, 2.2306662211194634 48.892539081163704, 2.2306687468662858 48.892525068484247, 2.2306653996929526 48.8925116462633, 2.2306595742702484 48.892499738372862, 2.2306518210098147 48.892489075660706, 2.230639960616827 48.8924794672057, 2.2306221481412649 48.892466581426561, 2.2305020159110427 48.89238172210753, 2.2303599761798978 48.892284221015871, 2.2302051279693842 48.892176744528115, 2.23016775585711 48.89214916434139, 2.2301421416923404 48.892128944396973, 2.2301225364208221 48.892108133994043, 2.230107287876308 48.892087890766561, 2.2300911508500576 48.892053881660104, 2.230085913091898 48.892039189115167, 2.2300834143534303 48.892014441080391, 2.2300835633650422 48.891985933296382, 2.2300925431773067 48.891406369395554, 2.2300899894908071 48.8913945723325, 2.2300807451829314 48.891383361071348, 2.2300656503066421 48.891371122561395, 2.230075747705996 48.891158674843609, 2.2300837347283959 48.890941356308758, 2.2301228400319815 48.889938488602638, 2.2301370278000832 48.889938220381737, 2.2301512220874429 48.889937501400709, 2.2301652850583196 48.889936422929168, 2.2301792204380035 48.889934804290533, 2.230193161405623 48.889932734891772, 2.2302068369463086 48.889930214732885, 2.2302203821018338 48.889927334152162, 2.23023365996778 48.88992400187999, 2.2302466733381152 48.8899201285094, 2.2302594184875488 48.889915984123945, 2.2302717622369528 48.889911296777427, 2.2302838368341327 48.88990633841604, 2.2302953731268644 48.889900926500559, 2.2303067781031132 48.889895154163241, 2.2303175050765276 48.889889107085764, 2.2303276937454939 48.889882607385516, 2.2303376132622361 48.8898758366704, 2.230346854776144 48.889868791215122, 2.2303555579856038 48.889861292205751, 2.2303638532757759 48.889853701926768, 2.2303714714944363 48.889845746569335, 2.2303785476833582 48.889837607741356, 2.2303849440068007 48.889829285442829, 2.2303907992318273 48.889820689335465, 2.2303958386182785 48.889811907894909, 2.2304003341123462 48.889803033322096, 2.2304041506722569 48.889793974347413, 2.2304072864353657 48.889784821309149, 2.2304098773747683 48.889775575138628, 2.2304115146398544 48.88976632244885, 2.2304126070812345 48.889756976626813, 2.2304130187258124 48.889747626148164, 2.2304126108065248 48.88973827008158, 2.230411522090435 48.889728910289705, 2.2304098857566714 48.889719636179507, 2.2304074317216873 48.889710357412696, 2.2304044310003519 48.889701165258884, 2.2304006079211831 48.889692236669362, 2.2303961031138897 48.889683304354548, 2.230391051620245 48.889674458652735, 2.2303851759061217 48.8896659668535, 2.2303790263831615 48.889657563529909, 2.2303719203919172 48.889649334363639, 2.2303642630577087 48.889641460962594, 2.2303560571745038 48.889633763581514, 2.2303474387153983 48.889626333490014, 2.2303381329402328 48.889619259163737, 2.2303282776847482 48.889612450264394, 2.2303181448951364 48.889605999924242, 2.230307325720787 48.889599815011024, 2.2302960902452469 48.889594077132642, 2.2302844412624836 48.889588695950806, 2.2302725138142705 48.889583673328161, 2.2302600368857384 48.88957891613245, 2.2302474146708846 48.8895747885108, 2.2302345158532262 48.889570928178728, 2.2302210628986359 48.889567604288459, 2.2302076052874327 48.889564639888704, 2.2301940051838756 48.88956203404814, 2.2301801247522235 48.889559966512024, 2.2301661018282175 48.889558346942067, 2.2301519345492125 48.889557266607881, 2.2301377607509494 48.889556545764208, 2.2301235813647509 48.889556274749339, 2.2301093935966492 48.889556543901563, 2.2300952011719346 48.889557171612978, 2.2300812741741538 48.889558251947165, 2.2300672028213739 48.889559869654477, 2.2300532618537545 48.889561938121915, 2.2300395863130689 48.8895644582808, 2.2300260402262211 48.889567429199815, 2.2300127623602748 48.889570761471987, 2.2299997499212623 48.889574544504285, 2.2299870047718287 48.889578689821064, 2.2299746610224247 48.889583377167583, 2.2299625854939222 48.88958842586726, 2.229951050132513 48.889593747444451, 2.2286777459084988 48.888418572023511, 2.228550867177546 48.888311272487044, 2.2283780621364713 48.888183352537453, 2.2282621478661895 48.888090873137116, 2.2271851459518075 48.887321017682552, 2.2263511531054974 48.886719009839, 2.225963156670332 48.886453805491328, 2.2256805608049035 48.886254123412073, 2.2252576500177383 48.885952896438539, 2.2251239316537976 48.885857060551643, 2.224881854839623 48.885684169828892, 2.2243562545627356 48.885310507379472, 2.2247531805187464 48.885277104564011, 2.2246512277051806 48.885154493153095, 2.2241122284904122 48.884728761389852, 2.2224498204886913 48.883135403506458, 2.2224491480737925 48.883134770207107, 2.2236086167395115 48.882762411609292, 2.2229691771790385 48.882334942929447, 2.2225862918421626 48.882086936384439, 2.2224346250295639 48.881988642737269, 2.2219889489933848 48.88169966544956, 2.2217893414199352 48.881570301949978, 2.2213632529601455 48.881294130347669, 2.2211888944730163 48.8811816573143, 2.2209354070946574 48.881017226725817, 2.2205422492697835 48.880764470435679, 2.2202607989311218 48.880582768470049, 2.218901701271534 48.879702082835138, 2.2160612801089883 48.877862967550755, 2.216449567116797 48.877358097583055, 2.2164106788113713 48.877305680885911, 2.216296206228435 48.877310687676072, 2.2113639935851097 48.877529574558139, 2.2110261786729097 48.877372570335865, 2.2108504669740796 48.877306749112904, 2.2106623398140073 48.876836588606238, 2.2106566401198506 48.876816854812205, 2.2106532054021955 48.876800553873181, 2.2106540836393833 48.876787609420717, 2.210658360272646 48.876775315962732, 2.2106669154018164 48.87675963435322, 2.2107824590057135 48.876593925990164, 2.2107885088771582 48.876581555232406, 2.210792931728065 48.876568634063005, 2.2107929401099682 48.876559101045132, 2.2107919855043292 48.876550100743771, 2.2107898062095046 48.876540913246572, 2.2104554632678628 48.875867613591254, 2.2101056519895792 48.875531557016075, 2.20925051253289 48.875045567750931, 2.2090314878150821 48.874923607334495, 2.2088509304448962 48.87481844983995, 2.2088164696469903 48.874798255972564, 2.208662929944694 48.874727630987763, 2.2082412438467145 48.874492989853024, 2.207762791775167 48.874225865118206, 2.20679522305727 48.8737034983933, 2.2064422313123941 48.873605557717383, 2.2067113416269422 48.873284923844039, 2.2070145728066564 48.872943740338087, 2.2074059555307031 48.872615190222859, 2.2087694238871336 48.871765238232911, 2.208846477791667 48.871718711219728, 2.2090094173327088 48.871582817286253, 2.209400693885982 48.871187797747552, 2.2097075972706079 48.870845281518996, 2.2100142892450094 48.8708490151912, 2.2107914984226227 48.869968727231026, 2.2116755377501249 48.870216120034456, 2.213231167756021 48.870670187287033, 2.212375626899302 48.869907573796809, 2.2118124710395932 48.869428467005491, 2.2114576594904065 48.869037788361311, 2.2112811133265495 48.868803782388568, 2.2112139528617263 48.86842246260494, 2.2111942358314991 48.868122037500143, 2.2114363554865122 48.86669878102839, 2.2114626476541162 48.866519892588258, 2.2115955948829651 48.865725016221404, 2.2116271490231156 48.865603631362319, 2.21175492182374 48.865231508389115, 2.2118192976340652 48.864571533165872, 2.2118684910237789 48.863978010602295, 2.2118936730548739 48.863710076548159, 2.2121972385793924 48.863331826403737, 2.2123489193618298 48.863180922344327, 2.2123898984864354 48.862607220187783, 2.2124335216358304 48.862038931809366, 2.2124707140028477 48.861904991790652, 2.2125488640740514 48.861685612238944, 2.2127721551805735 48.861278501339257, 2.2129541207104921 48.860954038798809, 2.2131404280662537 48.860576543025672, 2.213410371914506 48.860021971166134, 2.213713045231998 48.859411674551666, 2.21374043636024 48.859339815564454, 2.2137671448290348 48.859295113012195)))				
    
    C'est pour ça que je pense que ma forme a été faite a l'inverse.

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

Discussions similaires

  1. [3D] Comment savoir si un point est dans mon champ de vision
    Par patmaba dans le forum Développement 2D, 3D et Jeux
    Réponses: 10
    Dernier message: 04/11/2018, 13h20
  2. [JavaScript] [Google Maps]Tester si un point est dans un Polygone
    Par NoSmoking dans le forum Contribuez
    Réponses: 1
    Dernier message: 08/08/2011, 17h48
  3. Savoir si un point est dans un polygone.
    Par poly128 dans le forum Langage
    Réponses: 8
    Dernier message: 18/11/2008, 09h34
  4. Trouver si un point est dans un polygone
    Par Mucho dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 15/09/2006, 17h36
  5. vérifier si un scalaire est dans une un tableau
    Par STEPH69000 dans le forum Langage
    Réponses: 6
    Dernier message: 04/06/2006, 17h48

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