Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 5
    Points : 0
    Points
    0

    Par défaut [POSTGIS] : Problème avec la fonction MULTIPOLYGON

    Bonjour,

    Je viens de passer de Postgis 1.1 à Postgres 1.5.2 avec Postrgesql 9.1 ().

    Le code applicatif utilisé n'a pas été modifié et il s'avère que déosrmais, la fonction "MULTIPOLYGON" plante dans certains cas (pas toujours).

    Voici une des requêtes en question:

    Code :
    INSERT INTO sys_gis_topology_voronoi (na, na_value, p_voronoi) VALUES('lac', '18122', GeometryFromText('MULTIPOLYGON(((277377.5 1822137.4, 277377.5 1822137.4, 277377.5 1822137.4, 277377.5 1822137.4)), ((273853.7 1826091.8, 273853.7 1826091.8, 273853.7 1826091.8, 273853.7 1826091.8)), ((377749.22 1832631.8, 377749.22 1832631.8, 377749.22 1832631.8)), ((386498.12 1793824.4, 384141.47 1796951.9, 382782.38 1798752.8, 376386.06 1796562.8, 370138.75 1800217.8, 369760.03 1800805.2, 365628.94 1807206.9, 363324.12 1807836.6, 362677.78 1809296.8, 361467.16 1812029.5, 355106.47 1816186.8, 352112.22 1823570.5, 350784.75 1826838.6, 352925.0 1832990.8, 359494.97 1831246.0, 362394.78 1832021.4, 369750.7 1832540.1, 373541.38 1832810.4, 374773.4 1834360.5, 376414.06 1835104.8, 385469.1 1841718.2, 390456.75 1837533.4, 389680.22 1825556.0, 393519.22 1821542.1, 396719.78 1816641.2, 396714.47 1813718.1, 398340.84 1809577.6, 400019.53 1808013.0, 400103.3 1807680.4, 400734.28 1805177.9, 400092.25 1800367.2, 399929.94 1800109.9, 399893.22 1800051.6, 397471.3 1798781.6, 392734.5 1795052.2, 386498.12 1793824.4)), ((290956.12 1842052.9, 290956.12 1842052.9, 290956.12 1842052.9)), ((378620.78 1860382.4, 374800.5 1860744.1, 370538.9 1861146.8, 366598.28 1867972.2, 363053.6 1872706.0, 356619.16 1890026.6, 355549.56 1892903.5, 365325.72 1892903.5, 381256.28 1894643.5, 395914.84 1894643.5, 396028.2 1894318.4, 394855.6 1892288.2, 388594.56 1881443.6, 382421.44 1866965.4, 378620.78 1860382.4)), ((254948.5 1802376.6, 254948.5 1815831.2, 254353.81 1822463.4, 258216.58 1827150.5, 263016.22 1832981.6, 266207.4 1837677.4, 267451.72 1837532.9, 268636.47 1836917.5, 270541.38 1836515.2, 273493.38 1836425.4, 273535.1 1836427.2, 274820.2 1836552.0, 277896.84 1838764.6, 280456.2 1843318.4, 280623.0 1843774.8, 281014.28 1844087.4, 281062.03 1844119.0, 282915.38 1845345.2, 282935.56 1845369.4, 285397.94 1848218.1, 286074.0 1849470.8, 286099.0 1849565.2, 288404.3 1852789.6, 287258.06 1857935.4, 287258.06 1857935.4, 287258.06 1857935.4, 286255.6 1862421.6, 287487.22 1865500.9, 287985.8 1869035.4, 288134.25 1869256.4, 288231.47 1870247.6, 290210.3 1879593.2, 289116.78 1891928.6, 296721.7 1895238.0, 302326.1 1897678.8, 304622.25 1887587.0, 305453.94 1877621.9, 305453.94 1877621.9, 305453.94 1877621.9, 305681.66 1874925.5, 310924.38 1868546.6, 313199.6 1870628.4, 319257.84 1874417.4, 325839.97 1878538.5, 327758.38 1878450.5, 331468.7 1879003.8, 333824.84 1879355.8, 338356.44 1863276.6, 340389.53 1858900.0, 339790.56 1855503.5, 338584.6 1853987.1, 330022.1 1857247.0, 325126.56 1859105.1, 325231.06 1859814.8, 324694.72 1861974.1, 324290.9 1863585.0, 322929.62 1863402.1, 313534.66 1862115.6, 312146.72 1862611.5, 311650.03 1860158.2, 304560.75 1855510.0, 300438.56 1852797.0, 299692.34 1850466.5, 301391.78 1847270.5, 302114.84 1845912.6, 303719.12 1845251.2, 304735.78 1843701.0, 306599.0 1842055.0, 307270.06 1838595.5, 308219.44 1833721.9, 311114.56 1831652.4, 312622.2 1830576.1, 314067.2 1822275.8, 314038.94 1822167.1, 308993.22 1820387.2, 305580.5 1820844.8, 301277.9 1821418.9, 299149.16 1822048.4, 297199.88 1820898.2, 290893.25 1820060.4, 285520.0 1823791.2, 285069.1 1824104.0, 284910.8 1824114.1, 280117.25 1822172.6, 277564.62 1821759.6, 276753.84 1821002.5, 272894.4 1816367.4, 268923.25 1811593.0, 261730.52 1806744.4, 260900.11 1806280.5, 254948.5 1802376.6)), ((404365.47 1950966.5, 404365.47 1950966.5, 404365.47 1950966.5, 404365.47 1950966.5)), ((336266.22 1965572.8, 336266.22 1965572.8, 336266.22 1965572.8)), ((354366.22 1979269.1, 356749.34 1980310.5, 357616.3 1980691.4, 358059.88 1981413.8, 357380.94 1982684.5, 356322.84 1984648.9, 355220.62 1982711.8, 353406.97 1979488.1, 354366.22 1979269.1)), ((379115.7 1987537.1, 379115.7 1987537.1, 379115.7 1987537.1, 379115.7 1987537.1)), ((306307.62 1900162.8, 305595.16 1900198.6, 302565.12 1908523.4, 308806.5 1918927.5, 312816.88 1925623.4, 309990.88 1932051.6, 309473.3 1933227.5, 308719.22 1933558.6, 306160.75 1934680.6, 304357.66 1939284.0, 302122.22 1943766.2, 302927.78 1948334.2, 306767.4 1953319.5, 306868.9 1953403.1, 310670.84 1956536.0, 307244.53 1967680.5, 306037.0 1971600.6, 307305.94 1973229.0, 309249.1 1978786.5, 309467.97 1979413.5, 308666.75 1983460.5, 307121.84 1991244.4, 312486.34 1993314.2, 317930.44 1993734.6, 321206.6 1988842.6, 321249.44 1988778.8, 324449.03 1986547.1, 326840.88 1984882.5, 328484.06 1984481.0, 329405.2 1984256.6, 330122.53 1982929.1, 330090.72 1981257.2, 332030.94 1978631.0, 332068.12 1978580.8, 331078.75 1972415.0, 335289.5 1973042.0, 339316.88 1973646.6, 341851.0 1972185.4, 342434.53 1972140.4, 345108.84 1965149.8, 346248.75 1963874.9, 348163.62 1961736.2, 350222.62 1960942.6, 352030.03 1960246.9, 352566.03 1958780.9, 348564.9 1948150.1, 346648.97 1948610.5, 339194.3 1950397.1, 337153.2 1954616.8, 334757.97 1956244.8, 333354.88 1956457.5, 326431.34 1954860.1, 324246.97 1953736.9, 319529.75 1954814.9, 319180.7 1954894.5, 318676.4 1954860.0, 318177.44 1945375.0, 319947.62 1939806.8, 317879.72 1935391.1, 328543.84 1930528.6, 329814.78 1923241.0, 331373.3 1914328.2, 331792.75 1913565.1, 313627.75 1903077.0, 310043.22 1901772.1, 306307.62 1900162.8)), ((395498.16 1997667.9, 395498.16 1997667.9, 395498.16 1997667.9)), ((444742.3 1968907.8, 441460.12 1976798.4, 431996.38 1988348.5, 434759.78 1994793.5, 437194.6 2000477.2, 444282.72 1998748.4, 448278.12 1996107.0, 450887.8 1994160.9, 462517.56 1992184.0, 463323.75 1990662.4, 466767.62 1984168.8, 465603.78 1982152.9, 462062.22 1975276.1, 460019.78 1971738.5, 456836.47 1971127.9, 456288.9 1971078.5, 444742.3 1968907.8)), ((478204.4 2013496.9, 478204.4 2013496.9, 478204.4 2013496.9, 478204.4 2013496.9)), ((402284.1 1944647.8, 393157.34 1946799.0, 391441.2 1949656.1, 388475.03 1954582.0, 382910.97 1954195.9, 382167.56 1955359.8, 378431.03 1961202.1, 377471.12 1961534.9, 376924.53 1961724.0, 375127.28 1961691.4, 369855.4 1962359.6, 369830.12 1962401.4, 368786.44 1964126.1, 362542.25 1968400.2, 360395.66 1968582.0, 358083.72 1968432.0, 357632.9 1968213.6, 351703.28 1972743.1, 352408.5 1978219.6, 352572.94 1979511.6, 351391.2 1980311.1, 351203.0 1982274.4, 350887.06 1985541.4, 349909.8 1986222.9, 346024.06 1988927.1, 343616.44 1996721.0, 343414.3 1997135.0, 343540.03 1998503.9, 342724.25 1999826.5, 341379.0 2008646.8, 345159.75 2010480.6, 351877.56 2013743.9, 358110.28 2013120.4, 358782.44 2011783.6, 362212.03 2008498.4, 369643.53 2009162.6, 372062.5 2009380.5, 373453.3 2009156.8, 373804.66 2008832.5, 374106.1 2008872.0, 377400.44 2008356.4, 391200.8 2006206.6, 391627.44 2005586.5, 392087.7 2005408.8, 393760.94 2004763.5, 402757.06 2004797.4, 409083.1 2001414.9, 410102.62 1993900.5, 410462.62 1991254.4, 410752.25 1989611.9, 401289.25 1988309.8, 393663.38 1987255.4, 392211.62 1986928.2, 391622.28 1986426.4, 391422.12 1985567.1, 390212.88 1980362.8, 387205.1 1978214.2, 385487.7 1977673.4, 384215.56 1976107.5, 384541.28 1969995.6, 384617.53 1968589.2, 384551.3 1968180.2, 383466.16 1965206.1, 384282.56 1964867.6, 386157.6 1964092.2, 387245.4 1961230.5, 389441.94 1955539.5, 390891.94 1956647.8, 393816.7 1961668.4, 396870.5 1962819.2, 400829.62 1964314.6, 402890.9 1964223.6, 404038.22 1963309.2, 412419.53 1964762.1, 412852.53 1964801.8, 412852.53 1964801.8, 412852.53 1964801.8, 418433.0 1965314.4, 419008.1 1964925.4, 423437.3 1960340.0, 421856.53 1955973.1, 420186.66 1953328.4, 410024.38 1947832.8, 407015.94 1946204.5, 405587.94 1946587.1, 402284.1 1944647.8)), ((322332.3 1997066.0, 321195.9 2002826.2, 318302.78 2017421.9, 325080.5 2016930.9, 331462.44 2016471.0, 329068.9 2007438.5, 331256.53 2003828.2, 332091.4 2002480.6, 332359.1 2002050.8, 327520.22 2002989.5, 322837.34 1997137.8, 322332.3 1997066.0)), ((467374.2 2008164.6, 465849.34 2009444.0, 463345.94 2014099.8, 457293.78 2020662.6, 456554.7 2030177.0, 456231.38 2034317.9, 469769.56 2034206.6, 470197.38 2034374.2, 474878.8 2036209.9, 478054.53 2035447.8, 482600.9 2033326.2, 497737.53 2030716.2, 498493.9 2030483.0, 485507.06 2012352.1, 484722.94 2012166.8, 479244.34 2011261.9, 479140.5 2011225.0, 477104.7 2010158.2, 475236.8 2009027.5, 467774.5 2008186.5, 467374.2 2008164.6)), ((350006.8 2019458.1, 349201.25 2020576.1, 342337.5 2030076.4, 345827.28 2033004.5, 348129.12 2036350.9, 365567.75 2046418.9, 365567.75 2046418.9, 365196.22 2043441.4, 363255.53 2027858.0, 358957.4 2024277.6, 357061.8 2022694.5, 356130.38 2023184.5, 353226.8 2021423.5, 350006.8 2019458.1)))', 27582))
    L'erreur générée par cette requête:
    Code :
    1
    2
    ERROR:  geometry requires more points
    HINT:  "...9.22 1832631.8, 377749.22 1832631.8))" <-- parse error at position 246 within geometry
    Je ne comprends pas pourquoi celà fonctionnait avant et pourquoi il me demande un nouveau point ?

    Merci de votre aide.

    Postgresql 9.1 alpha3
    Postgis 1.5.2
    Red Hat EL 5.5 64 bits

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro Frédéric BROUARD
    Expert SGBDR & SQL
    Inscrit en
    mai 2002
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Nom : Homme Frédéric BROUARD
    Localisation : France

    Informations professionnelles :
    Activité : Expert SGBDR & SQL
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 13 586
    Points : 30 115
    Points
    30 115

    Par défaut

    Parce que avant PG maintenait des données non valides dans le SIG. Ce n'est plus le cas avec les version récentes de PostGIS.

    Vous allez comprendre pourquoi il existe une fonction MakeValid dans le standard OGC, que PostGreSL n'a pas encore implémenté (mais SQL Server oui).
    http://barendgehrels.blogspot.com/20...pentagram.html

    Bref, je pense que vous devriez reprendre vos objets géométriques et vérifier leur "légalité" au plans géodésique.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
    http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  3. #3
    Invité de passage
    Inscrit en
    janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    Merci pour vos lumières.

    Nous allons investiguer dans notre bdd pour trouver les éléments illégaux.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •