lt.geologyidea.com
Daugiau

Galiojantys formuoti sąvartynai WKT tampa „None“, kai naudojami kaip „QgsGeometry“ įvestis

Galiojantys formuoti sąvartynai WKT tampa „None“, kai naudojami kaip „QgsGeometry“ įvestis


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Bandau QGIS sukurti daugiakampę funkciją. Aš kuriu užpildytus kontūrus naudodami „Matplotlib“, paimdamas daugiakampius, vaizduojančius kiekvieną kontūro lygį, naudodamas formuotus WKT, o tada bandydamas pridėti geometriją prie savo QGIS funkcijų naudodami „QgsGeometry.fromWKT“. Nors „Formly“ sukuria galiojančią geometriją ir WKT gali būti perskaityta naudojant internetinius įrankius, tokius kaip „Wicket“, „QgsGeometry.fromWKT“, grąžina „Nėra“ (tai rodo, kad su įvestimi yra tam tikrų problemų).

Štai kodo pavyzdys:

# forminis.geometrija.multipoligonas.Multipoligonas () p = daugiakampis (daugiakampis) # formuotas.wkt.dumpas WKT = sąvartynai (p), jei ne p.is_valid: # p visada galioja pakelti išimtį ("Yra neteisingas daugiakampis") QGSGeom = QgsGeometry.fromWkt (WKT) # Visada grąžina Nėra feat.setGeometry (QGSGeom)

Išimtis:

TypeError: QgsFeature.setGeometry (QgsGeometry): 1 argumentas turi netikėto tipo „NoneType“

Pirmasis daugiakampis, pagamintas mano kode, yra žemiau. Galite įklijuoti jį į „Wicket“ ir jis perskaitomas teisingai. Vienintelė problema, kurią matau, yra ta, kad ji turi pasikartojančias nuoseklias viršūnes. Tačiau jei tai būtų problema, aš įsivaizduočiau, kad skambinagaliojantisbūtų tai pažymėjęs.

MULTIPOLYGON (((174,4422222222213 -38.5,174.49111111111017 -38.5,174.53999999999905 -38.5,174.53999999999905 -38.46611111111111,174.53999999999905 -38.43222222222222,174.53999999999905 -38.39833333333333,174.53999999999905 -38.364444444444445,174.53999999999905 -38.330555555555556,174.53999999999905 -38.29666666666667,174.58888888888794 -38.29666666666667,174.63777777777682 -38.29666666666667,174.63777777777682 - 38.26277777777778,174.63777777777682 -38.22888888888889,174.63777777777682 -38.195,174.63777777777682 -38.16111111111111,174.63777777777682 -38.12722222222222,174.63777777777682 -38.093333333333334,174.63777777777682 -38.059444444444445,174.6866666666657 -38.059444444444445,174.6866666666657 -38.025555555555556,174.6866666666657 -37.99166666666667,174.6866666666657 -37.95777777777778,174.6866666666657 -37.92388888888889,174.6866666666657 -37,89, 174.6866666666657 -37,85611111111111,174.7355555555555458 -37,8561111111111111,174.73555555555458 -37.822222222222222.174.6866666666657 -37,8 2222222222222,174.6866666666657 -37.788333333333334,174.6866666666657 -37.754444444444445,174.6866666666657 -37.720555555555556,174.6866666666657 -37.68666666666667,174.73555555555458 -37.68666666666667,174.73555555555458 -37.65277777777778,174.6866666666657 -37.65277777777778,174.6866666666657 -37.61888888888889,174.63777777777682 -37.61888888888889,174.63777777777682 -37.585,174.63777777777682 -37.55111111111111,174.63777777777682 -37,51722222222222, 174,63777777777682 -37.483333333333334,174.63777777777682 -37.449444444444445,174.63777777777682 -37.41555555555556,174.63777777777682 -37.38166666666667,174.58888888888794 -37.38166666666667,174.58888888888794 -37.34777777777778,174.53999999999905 -37.34777777777778,174.53999999999905 -37.31388888888889,174.53999999999905 -37.28,174.53999999999905 -37.24611111111111,174.53999999999905 -37.21222222222222,174.49111111111017 -37.21222222222222,174.49111111111017 - 37.17833333333333335,174.4422222222213 -37.178333333333335,174.4422222222213 -37 .144444444444446,174.4422222222213 -37.11055555555556,174.3933333333324 -37.11055555555556,174.3933333333324 -37.08084030041046,174.3918541180993 -37.07666666666667,174.3933333333324 -37.073563748483664,174.3933333333324 -37.04277777777778,174.3933333333324 -37.00888888888889,174.3933333333324 -36.975,174.3933333333324 -36.94111111111111,174.3933333333324 -36.907222222222224,174.3933333333324 -36.873333333333335,174.34444444444352 -36,873333333333335 , 174,29555555555464 -36.873333333333335,174.29555555555464 -36.839444444444446,174.29555555555464 -36.80555555555556,174.29555555555464 -36.77166666666667,174.24666666666576 -36.77166666666667,174.19777777777688 -36.77166666666667,174.19777777777688 -36.73777777777778,174.19777777777688 -36.70388888888889,174.19777777777688 -36.67,174.19777777777688 -36.63611111111111,174.19777777777688 -36.602222222222224,174.148888888888 -36.602222222222224,174.0999999999991 -36.60222222222222224,174.07638009736746 -36.602222222222224,174.0783635985048 -36. 63611111111111,174.08313907435038 -36.67,174.0945282251905 -36.70388888888889,174.0999999999991 -36.73597729247714,174.10119541117496 -36.73777777777778,174.13328583421037 -36.77166666666667,174.14374543646616 -36.80555555555556,174.148888888888 -36.83168881985557,174.15232756532507 -36.839444444444446,174.17476842624663 -36.873333333333335,174.1847075954181 -36.907222222222224,174.1956525713804 -36.94111111111111,174.19777777777688 -36,948316948136956, 174,21202794606387 -36.975,174.22200422378174 -37.00888888888889,174.23281078508953 -37.04277777777778,174.2362527105547 -37.07666666666667,174.2443993175849 -37.11055555555556,174.24666666666576 -37.126506253934686,174.2553837712646 -37.144444444444446,174.26893886132717 -37.178333333333335,174.28608811503204 -37.21222222222222,174.29521386071525 -37.24611111111111,174.29555555555464 -37.24707296361483,174.30981910302373 -37.28,174.31985523780398 - 37.31388888888889,174.32704467341563 -37.3477777777777778,174.33320266579798 -37.38166666666 667,174.33705269711575 -37.41555555555556,174.34043259488126 -37.449444444444445,174.34239999579125 -37.483333333333334,174.3434139886748 -37.51722222222222,174.34369589543317 -37.55111111111111,174.34277412563725 -37.585,174.34134753776272 -37.61888888888889,174.33842570444313 -37.65277777777778,174.33548194519963 -37.68666666666667,174.33168761737662 -37.720555555555556,174.3261546294196 -37.754444444444445,174.3201397488093 -37.788333333333334,174.30945948456915 - 37.82222222222222,174.29582956616 -37.85611111111111,174.29555555555464 -37.8566856256242,174.2836244645519 -37.89,174.25137332154347 -37.92388888888889,174.24666666666576 -37.939789917181415,174.24568237633656 -37.95777777777778,174.23578037906807 -37.99166666666667,174.23094523800063 -38.025555555555556,174.21531880811364 -38.059444444444445,174.19777777777688 -38.07484898967532,174.1875235154153 -38.093333333333334,174.17925432310602 -38,12722222222222, 174.148888888888 -38.153196039233286,174.14095602352862 -38.161111111 11111,174.1252321775911 -38.195,174.0999999999991 -38.21365265825294,174.09474385546508 -38.22888888888889,174.05203184125423 -38.26277777777778,174.0999999999991 -38.277854908742455,174.1201063670163 -38.26277777777778,174.13390610093055 -38.22888888888889,174.148888888888 -38.219468649326835,174.19777777777688 -38.20859612970229,174.21995835962346 -38.195,174.23476922587 -38.16111111111111,174.24666666666576 -38,149179190442055, 174,261704248229 -38.16111111111111,174.26281661298975 -38.195,174.26330478448233 -38.22888888888889,174.25832904507158 -38.26277777777778,174.24666666666576 -38.28860574460334,174.24032248600773 -38.29666666666667,174.2247539205459 -38.330555555555556,174.20611957106544 -38.364444444444445,174.19777777777688 -38.38089181715259,174.1882329880123 -38.39833333333333,174.1723973349145 -38.43222222222222,174.1581399702732 -38.46611111111111,174.19777777777688 - 38.46611111111111,174.24666666666576 -38.46611111111111,174.29555555555464 -38.46611111111111,174.3444444 4444352 -38.46611111111111,174.3933333333324 -38.46611111111111,174.4422222222213 -38.46611111111111,174.4422222222213 -38.5,174.4422222222213 -38.5,174.4422222222213 -38,5)), ((173.8555555555547 -36.27469467488416,173.8555555555547 -36.263333333333335,173.8555555555547 -36.22944444444445,173.8555555555547 -36.19555555555556,173.80666666666582 -36.19555555555556,173.80666666666582 - 36.16166666666667,173.80666666666582 -36.12777777777778,173.75777777777694 -36.12777777777778,173.75777777777694 -36.09388888888889,173.7417959253454 -36.09388888888889,173.75557784459505 -36.12777777777778,173.75777777777694 -36.14911530091963,173.76325310347545 -36.16166666666667,173.80558726743018 -36.19555555555556,173.80666666666582 -36.197384850578814,173.82878975804974 -36.22944444444445,173.84944811561743 -36.263333333333335,173.8555555555547 -36,27469467488416, 173.8555555555547 -36.27469467488416,173.8555555555547 -36.27469467488416)), ((174.6866666666657 -36.1277777777777778,174.73555555555458 -36.1277 7777777778,174.78444444444347 -36.12777777777778,174.78444444444347 -36.09388888888889,174.78444444444347 -36.06,174.78444444444347 -36.02611111111111,174.78444444444347 -35.992222222222225,174.78444444444347 -35.958333333333336,174.78444444444347 -35.92444444444445,174.78444444444347 -35.89055555555556,174.78444444444347 -35.87765747147396,174.7514938058022 -35.89055555555556,174.73555555555458 -35.89644654727934,174.68751545249424 -35,92444444444445, 174,6866666666657 -35.92476578980626,174.6866666666657 -35.958333333333336,174.63777777777682 -35.958333333333336,174.63777777777682 -35.992222222222225,174.63777777777682 -36.02611111111111,174.63777777777682 -36.06,174.6866666666657 -36.06,174.6866666666657 -36.09388888888889,174.6866666666657 -36.12777777777778,174.6866666666657 -36.12777777777778,174.6866666666657 -36,12777777777778)), ((173,70888888888805 - 36.0377948322446,173.70888888888805 -36.0261111111111111,173.70295771755846 -36.0261111111111111,173.70888888888805 -36.0377948322446, 173,70888888888805 -36.0377948322446,173.70888888888805 -36,0377948322446)), ((173,65999999999917 -35.99243834496677,173.65999999999917 -35.992222222222225,173.65985904211445 -35.992222222222225,173.65999999999917 -35.99243834496677,173.65999999999917 -35.99243834496677,173.65999999999917 -35,99243834496677)), ((173,2688888888881 -35.5186510460533,173.2688888888881 -35.51777777777778,173.26818353235572 - 35.51777777777778,173.2688888888881 -35.5186510460533,173.2688888888881 -35.5186510460533,173.2688888888881 -35,5186510460533)), ((172,97555555555482 -35.21739078513759,173.0244444444437 -35.23925169779804,173.0244444444437 -35.21277777777778,173.0244444444437 -35.17888888888889,173.0244444444437 -35.145,173.0244444444437 -35.111111111111114,173.0244444444437 -35.077222222222225,173.0244444444437 -35,04333333333334, 172.9755555555555482 -35.04333333333334,172.975555555554848 -35.00944444444445,172.97555555555482 -34.97555555555556, 172.97555555555482 -34.94166666666667, 172.975555555552 777777777778,172.97555555555482 -34.87388888888889,172.92666666666594 -34.87388888888889,172.87777777777706 -34.87388888888889,172.87777777777706 -34.84,172.87777777777706 -34.806111111111115,172.87777777777706 -34.772222222222226,172.82888888888817 -34.772222222222226,172.7799999999993 -34.772222222222226,172.7799999999993 -34.73833333333334,172.7799999999993 -34.70444444444445,172.7311111111104 -34.70444444444445,172.7311111111104 -34,67055555555556, 172,7311111111104 -34.63666666666667,172.7311111111104 -34.60277777777778,172.68222222222153 -34.60277777777778,172.63333333333264 -34.60277777777778,172.62600766948088 -34.60277777777778,172.62613979085938 -34.63666666666667,172.6294749774601 -34.67055555555556,172.63333333333264 -34.678486947011635,172.64573521644763 -34.70444444444445,172.6647644128248 -34.73833333333334,172.68222222222153 -34.768723960330995,172.68445886850148 -34.772222222222226,172.70490736277 - 34.806111111111115,172.724997924181 -34.84,172.7311111111104 -34.8506897 904488,172.7449245696022 -34.87388888888889,172.76321856150685 -34.90777777777778,172.7799999999993 -34.93852535629443,172.7818258971361 -34.94166666666667,172.79911908350337 -34.97555555555556,172.81436383530234 -35.00944444444445,172.82888888888817 -35.039007084410215,172.83197437321274 -35.04333333333334,172.85003248920535 -35.077222222222225,172.87777777777706 -35.10496647795794,172.88313700002374 -35.111111111111114,172.90780226210077 -35,145, 172,92666666666594 -35.17519032942247,172.93087506556083 -35.17888888888889,172.97184333091403 -35.21277777777778,172.97555555555482 -35.21739078513759,172.97555555555482 -35.21739078513759,172.97555555555482 -35,21739078513759)), ((173,80666666666582 -34.97555555555556,173.8555555555547 -34.97555555555556,173.88505076717465 -34.97555555555556,173.8555555555547 -34.95635582303564,173.81790508096478 -34.94166666666667,173.80666666666582 - 34.93725493580909,173.80666666666582 -34.9416666666666767173.80666666666582 -34.97555555555556,173.8066666666 6582 -34.97555555555556,173.80666666666582 -34,97555555555556)), ((173,5622222222214 -34.87388888888889,173.6111111111103 -34.87388888888889,173.6404955215007 -34.87388888888889,173.6137590343396 -34.84,173.6111111111103 -34.83897128340532,173.5622222222214 -34.82454559833585,173.5622222222214 -34.84,173.5622222222214 -34.87388888888889,173.5622222222214 -34.87388888888889,173.5622222222214 - 34,87388888888889)), ((173,21999999999923 -34.70444444444445,173.2688888888881 -34.70444444444445,173.30963094634106 -34.70444444444445,173.28493477815138 -34.67055555555556,173.2688888888881 -34.65386012980699,173.2482145460874 -34.63666666666667,173.21999999999923 -34.610049142157266,173.21104390378179 -34.60277777777778,173.17111111111035 -34.5706617923791,173.16892922600925 -34.56888888888889,173.13486746020118 -34,535000000000004, 173.1222222222222147 -34.52090845332938,173.12222222222147 -34.535000000000004,173.07333333333258 -34.535000000000004,173.07333333333258 -34.56888888888889,173.1222222 2147 -34.56888888888889,173.12222222222147 -34.60277777777778,173.12222222222147 -34.63666666666667,173.17111111111035 -34.63666666666667,173.17111111111035 -34.67055555555556,173.21999999999923 -34.67055555555556,173.21999999999923 -34.70444444444445,173.21999999999923 -34.70444444444445,173.21999999999923 -34,70444444444445)))

Numatydamas, kad turiu problemų, tokių kaip petnešos ir kitos savikryžos, taip pat bandžiau atlikti nulinio nuotolio buferį:p = p. buferis (0), kaip nurodyta formaliajame vadove. Išeina tas pats rezultatas.

REDAGUOTI: įklijavus savo geometriją į atskirtą teksto failą taip pat atsiranda klaida:

1 įrašas atmestas dėl neteisingų geometrijos apibrėžimų Šios eilutės nebuvo įkeliamos į QGIS dėl klaidų: Netinkamas WKT 2 eilutėje

EDIT2: tačiau „PostGIS“ teisingai ją analizuojaST_GeomFromText!

EDIT3: Orielo teisingai skaito mano WKT.

EDIT4: „QGIS“ papildinys „QuickWKT“ negali jo išanalizuoti.

Taigi, kiek matau: turiu galiojantį „MultiPolygon“ ir paversiu tai teisingu WKT atvaizdu, kurį galima skaityti žiniatinklio įrankiais ir „PostGIS“, bet ne bet kuo, kas naudoja pyqgis.

Kaip galiu sukurti galiojantį daugiapolį QGIS?


Jūsų QGIS versijoje (2.11 = QGIS dev) naudojama nauja geometrijos klasė (QGIS dev: naujos geometrijos klasės sujungtos ir daugelis kitų šio adresų sąrašo įrašų kaip klausimai dėl naujo geometrijos variklio, QGIS QgsGeometry.fromWkt nepriima daugiakampių su Z reikšmėmis?, Potencialiai rimta našumo regresija naujoje geometrijoje - ar 2.10 turėtų būti atidėtas? ...)

Kokia yra jūsų versijos data (dev = viena versija per dieną), nes „QGIS dev“: naujos geometrijos klasės sujungtos, Marco Hugentobler rašo (2015 m. Gegužės 25 d.):

Pakeitimai apima tik pagrindines klases, neįtraukiami atvaizdavimo darbo eigos ir visų redagavimo įrankių pakeitimai. Jie būtų per daug rizikingi 2.10 ir bus sujungti vėliau (greičiausiai 2.12).

Šiuo metu suderinamumo klasė „QgsGeometry“ turėtų slėpti senosios geometrijos skirtumus. Praktiškai po sujungimo iškils nemažai netikėtų problemų. Jei su juo susiduriate, užpildykite bilietą sekimo priemonėje ir priskirkite jį man (arba pameskite pastabą į kūrėjų sąrašą). Iš anksto atsiprašau už sukeltas bėdas. Šiuo metu neatliekami keli tiekėjų padalinių testai (dažniausiai dėl wkt formavimo problemų). Per ateinančias dienas aš juos peržiūrėsiu.

Taip pat pažiūrėkite į klaidos ataskaitą: „WKT Parser“ negali apdoroti daugiakampio su tarpais