Daha çox

Sahə dəyərlərindən annotasiya obyektlərinə annotasiyanı necə yeniləmək olar

Sahə dəyərlərindən annotasiya obyektlərinə annotasiyanı necə yeniləmək olar


Əlavə xüsusiyyətlər sinifim var və bəzi sahə ofset və hizalama dəyərlərini yeniləməyim lazımdır

ArcMap -da atributlar cədvəlində onları əl ilə düzəltdiyim zaman yeni dəyərlər obyektlərə tətbiq olunur və onlar xəritədəki titrək mövqelərini dəyişirlər.

Və onları skript vasitəsilə yenilədiyim zaman:

arcpy.da.UpdateCursor ilə (annotations_fc, ['VerticalAlignment', 'YOffset']) kursor olaraq: kursordakı satır üçün: satır [0] = 3 sıra [1] = 2.0 cursor.updateRow (satır) del cursor

atributlar cədvəlinin yeni dəyərləri var, lakin bu dəyərlər xəritə obyektlərinə tətbiq edilmir

Arcpy varUpdateAnnotation_managementannotasiyaların yenilənməsi üsulu. Ancaq başa düşdüyüm kimi, əks hərəkətə ehtiyac duyduğumda annotasiya obyektlərindən sahə dəyərlərini yeniləyir - annotasiya obyektlərini sahələrin dəyərlərindən yeniləyin.

Belə bir üsul varmı? Arcpy -də deyilsə, heç olmasa arcobjects.net -də?

Yoxsa səhv bir şey edirəm?


Bəlkə də bu bir arcpy səhvidir - arcobjects.net kodu annotaton xüsusiyyətlərini mükəmməl şəkildə işlədir.

IFeatureCursor cursor = featureClass.Update (null, false); int vAlignField = featureClass.Fields.FindField ("VerticalAlignment"); int yOffsetField = featureClass.Fields.FindField ("YOffset"); IFeature xüsusiyyəti = cursor.NextFeature (); while (xüsusiyyət! = null) {IPolygon4 poly = (IPolygon4) xüsusiyyət.Shape; IRing ring = yeni RingClass (); poly.QueryExteriorRings (ref halqası); xüsusiyyət.Value [vAlignField] = 3; xüsusiyyət.Value [yOffsetField] = 2.0; xüsusiyyət.Store (); xüsusiyyət = cursor.NextFeature (); }

Annotasiya obyektləri gözlədiyim kimi kod işlədikdən sonra dəyişdirilir.