Viac

Ako získam hodnotu poľa typu geometrie v tabuľke atribútov?

Ako získam hodnotu poľa typu geometrie v tabuľke atribútov?


Problém je:

Potrebujem skopírovať hodnotu každej bunky do tabuľky atribútov nejakej funkcie do poľa reťazcov.

Robím to tak, že priradím hodnotu bunky premennej reťazca StrBuf jeden za druhým.

Ak chcete skontrolovať výsledok, MsgBox ukáže StrBuf hodnotu.

Nasleduje časť kódu a výsledok MsgBox okno:

Ale keď prisúdim Tvar hodnota poľa pre StrBuf - chyba je: "Chyba pri spustení '13' Nesprávny typ"

Moja otázka znie, ktorý typ (namiesto reťazca) by som mal zvoliť pre premennú StrBuf, aby som sa tejto chybe vyhol?

používam arcgis 10.2.2 , skriptovanie v VBA.


Ak som vás správne pochopil, chcete do svojho poľa uložiť text „mnohouholník“?

Tvar je pole Geometria, takže je možné očakávať chybu nesúladu. Pokúšate sa uložiť polygónovú geometriu do reťazcovej premennej, ktorá nedáva zmysel.

Keďže trieda FeatureClass môže byť iba jedným typom geometrie, jednoducho by som napísal text priamo do vášho polygónu, pretože sa to nikdy nemôže zmeniť.

Nech StrBuff = "mnohouholník"

@PolyGeo Ďakujem veľmi pekne !!

Inými slovami, vždy, keď priraďujem hodnotu bunky premennej reťazca - musím skontrolovať, či je poľom pole geometrie, nie?

Ak je typ poľa Geometria, musím z vlastnosti prvku získať hodnotu poľa takto:

'Typ geometrie Dim Ftype As Integer Ftype = pCounty.Shape.GeometryType Select Case Ftype Case 0 StrBuf = "Null" Case 1 StrBuf = "Point" Case 2 StrBuf = "Multipoint" Case 3 StrBuf = "Polyline" Case 4 StrBuf = " Polygon "Case 5 StrBuf =" Envelope "Case 6 StrBuf =" Path "Case 7 StrBuf =" Any "Case 9 StrBuf =" MultiPatch "Case 11 StrBuf =" Ring "Case 13 StrBuf =" Line "Case 14 StrBuf =" CircularArc "Case 15 StrBuf =" Bezier3Curve "Case 16 StrBuf =" EllipticArc "Case 17 StrBuf =" Bag "Case 18 StrBuf =" TriangleStrip "Case 19 StrBuf =" TriangleFan "Case 20 StrBuf =" Ray "Case 21 End Select

Je to dosť ťažkopádny spôsob. Existuje nejaká vlastnosť pFeature obsahujúca iba reťazec „Bod“ alebo „Polygón“ (nezodpovedajúce číslo kódu)?

Nenašiel som žiadne.


Pozri si video: Lekcja 2- pole czworokąta