Select to view content in your preferred language

Personal geodatabases: How were annotation reference scales determined?

172
10
Monday
AlfredBaldenweck
MVP Regular Contributor

Note: I know that Personal Geodatabases are deprecated. Please do not inform me of that here, I am well aware. 

That being said, I'm working on a project involving them here and could use some help. ArcMap is not an option for me.

How were annotation reference scales in personal geodatabases determined?

For example, I  have a personal geodatabase containing an annotation feature class that I know for a fact has a reference scale of 1:24,000.

In this version of the MDB format, annotation properties were stored in an XML in a particular field of a certain system table.

The reference scale is documented like so:

<Key>ReferenceScale</Key>
<Value xsi:type='typens:XMLPersistedObject'> 
     <Bytes>xtrDhXhl0xGfugDAT2vGpQAAAAACAAAAAAAAcNdACQAAAA==
     </Bytes>
</Value>

That appears to be a base 64 value, but I can't get anything useful out of it 

 

import codecs
y = b"xtrDhXhl0xGfugDAT2vGpQAAAAACAAAAAAAAcNdACQAAAA=="
y = codecs.decode(y, "base64")
print(y)
#b'\xc6\xda\xc3\x85xe\xd3\x11\x9f\xba\x00\xc0Ok\xc6\xa5\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00p\xd7@\t\x00\x00\x00'

print(y.decode("mbcs"))
#ÆÚÃ…xeÓŸº

 

Similarly, on a different dataset using an earlier form of MDB (these were set up differently, so what we get instead is the entire annotation definition in a blob field) I could get the field as hex. If I decode it online (since I'm having trouble getting the right encoding with python) I can see that there's reference scale in there somewhere, but nothing around it maps to any number. I don't know what the scale of this one is supposed to be.

Spoiler

 

115A8E589BD0D111AA7C00C04FA33A1501000A0000002600000053006F007500720063006500460065006100740075007200650043006C00610073007300000008000200000000001E00000041006E006E006F00500072006F00700065007200740069006500730000000D00F349581D330DD211A26F080009B6F22B020001000000454100011C0DD211A26F080009B6F22B07001A0000005B0046006500610074005F004E0061006D0065005D0020000000FFFF000000000000000000000000FFFF0000FFFF0000000000000000000000000000000000000000FFFF10000000440065006600610075006C0074000000020000000000743E5AB69329D1119A430080C7EC5C96040096C4E97E23D1D0118383080009B996CC01000100000000000000000000000000000000000000000000000000000000FFFFFFFF030000000000000000000000000000000000000000000000344000000000000014400D0000000000000096C4E97E23D1D0118383080009B996CC0100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005940000000000000594001000000000000000000000000000000000080564001763E5AB69329D1119A430080C7EC5C9622B837FA59A9CD4A834A0E114BF420B801000000000000000000FFFF10727030D552D011A8F200608C85EDE502005000000003000000005910045D74314180F3637970852041EE5A4D68017631411F762D49B6852041010000000200000000000000EE5A4D68017631411F762D49B6852041005910045D74314180F36379708520410067622AD21DB211BF5108002022F57306000102000050524F4A43535B224E41445F313938335F5374617465506C616E655F4D6F6E74616E615F464950535F323530305F46656574222C47454F4743535B224743535F4E6F7274685F416D65726963616E5F31393833222C444154554D5B22445F4E6F7274685F416D65726963616E5F31393833222C53504845524F49445B224752535F31393830222C363337383133372E302C3239382E3235373232323130315D5D2C5052494D454D5B22477265656E77696368222C302E305D2C554E49545B22446567726565222C302E303137343533323932353139393433335D5D2C50524F4A454354494F4E5B224C616D626572745F436F6E666F726D616C5F436F6E6963225D2C504152414D455445525B2246616C73655F45617374696E67222C313936383530302E305D2C504152414D455445525B2246616C73655F4E6F727468696E67222C302E305D2C504152414D455445525B2243656E7472616C5F4D6572696469616E222C2D3130392E355D2C504152414D455445525B225374616E646172645F506172616C6C656C5F31222C34352E305D2C504152414D455445525B225374616E646172645F506172616C6C656C5F32222C34392E305D2C504152414D455445525B224C617469747564655F4F665F4F726967696E222C34342E32355D2C554E49545B22466F6F745F5553222C302E333034383030363039363031323139325D5D0000000000000000000000000000000000010000000050F9E59BC100000030C27897C1D2662EEC780C824100000000006AF8C0000000000088C34000000000006AF8C0000000000088C3406871D9FB67E06A3F2D431CEBE2362A3F2D431CEBE2362A3FF9E5147992C8D0118BB6080009EE4E41010096C4E97E23D1D0118383080009B996CC0100010000FAF202B0ADAE3C40000000000000000000000000000000000000000000000000F03F000000000D0000000000000041CBA500DA52D011A8F200608C85EDE502001400000001000000005910045D74314180F36379708520410067622AD21DB211BF5108002022F57306000102000050524F4A43535B224E41445F313938335F5374617465506C616E655F4D6F6E74616E615F464950535F323530305F46656574222C47454F4743535B224743535F4E6F7274685F416D65726963616E5F31393833222C444154554D5B22445F4E6F7274685F416D65726963616E5F31393833222C53504845524F49445B224752535F31393830222C363337383133372E302C3239382E3235373232323130315D5D2C5052494D454D5B22477265656E77696368222C302E305D2C554E49545B22446567726565222C302E303137343533323932353139393433335D5D2C50524F4A454354494F4E5B224C616D626572745F436F6E666F726D616C5F436F6E6963225D2C504152414D455445525B2246616C73655F45617374696E67222C313936383530302E305D2C504152414D455445525B2246616C73655F4E6F727468696E67222C302E305D2C504152414D455445525B2243656E7472616C5F4D6572696469616E222C2D3130392E355D2C504152414D455445525B225374616E646172645F506172616C6C656C5F31222C34352E305D2C504152414D455445525B225374616E646172645F506172616C6C656C5F32222C34392E305D2C504152414D455445525B224C617469747564655F4F665F4F726967696E222C34342E32355D2C554E49545B22466F6F745F5553222C302E333034383030363039363031323139325D5D0000000000000000000000000000000000010000000050F9E59BC100000030C27897C1D2662EEC780C824100000000006AF8C0000000000088C34000000000006AF8C0000000000088C3406871D9FB67E06A3F2D431CEBE2362A3F2D431CEBE2362A3F000000000000000000000000000000000E0000004D00310032003400520032000000000000000000224001000000000000000000E03F03E6147992C8D0118BB6080009EE4E410100F9E5147992C8D0118BB6080009EE4E41010096C4E97E23D1D0118383080009B996CC010001000014C5A8249A054B400000000000000000000000000000000001000000000000000000000000000D0000000000000096C4E97E23D1D0118383080009B996CC010001000000000000000059400000000000000000000000000000000001000D00000000000000000000000352E30B918FCE119DE300AA004BB851010000009001905F010005417269616C0000919B09D798E29E49975772BB39E55CF30000895253EEC941D111880A080009EC732A06000000000000000300000003000000010000008C95422411D7D2119F4100C04F6BC6A50200FFFF0000000000000000FFFF00000000FFFF000000000000000000000000000077431A26D5D9D211A806CC9F870BCD5A0100000000000300000003000000030000000000000000000000030000000300000003000000000000000000000003000000030000000300000000000000FFFF000000000000000000000000000072431A26D5D9D211A806CC9F870BCD5A01000200000002000000020000000100000002000000020000000200000003000000010000000000000000003E4000000000000000000000000000000000000000000100000002000000000000000000000000000000077215AA79E0D2119F4800C04F6BC6A50200FFFF12727030D552D011A8F200608C85EDE503000B6384D95BC22FC16E235579554572C1A08B0D414740354174AE5A790AB65741000000000067622AD21DB211BF5108002022F57306000102000050524F4A43535B224E41445F313938335F5374617465506C616E655F4D6F6E74616E615F464950535F323530305F46656574222C47454F4743535B224743535F4E6F7274685F416D65726963616E5F31393833222C444154554D5B22445F4E6F7274685F416D65726963616E5F31393833222C53504845524F49445B224752535F31393830222C363337383133372E302C3239382E3235373232323130315D5D2C5052494D454D5B22477265656E77696368222C302E305D2C554E49545B22446567726565222C302E303137343533323932353139393433335D5D2C50524F4A454354494F4E5B224C616D626572745F436F6E666F726D616C5F436F6E6963225D2C504152414D455445525B2246616C73655F45617374696E67222C313936383530302E305D2C504152414D455445525B2246616C73655F4E6F727468696E67222C302E305D2C504152414D455445525B2243656E7472616C5F4D6572696469616E222C2D3130392E355D2C504152414D455445525B225374616E646172645F506172616C6C656C5F31222C34352E305D2C504152414D455445525B225374616E646172645F506172616C6C656C5F32222C34392E305D2C504152414D455445525B224C617469747564655F4F665F4F726967696E222C34342E32355D2C554E49545B22466F6F745F5553222C302E333034383030363039363031323139325D5D0000000000000000000000000000000000010000000050F9E59BC100000030C27897C1D2662EEC780C824100000000006AF8C0000000000088C34000000000006AF8C0000000000088C3406871D9FB67E06A3F2D431CEBE2362A3F2D431CEBE2362A3F0000000000A8BD400000000000A8BD4003000000FFFFFFFF00000000000000000000000000000000FFFF00000000000000000100000010000000560065007200730069006F006E00000002000200160000004100750074006F0043007200650061007400650000000B00FFFF1E000000

 

#Reference scale begins below

 

5200650066006500720065006E00630065005300630061006C00650000000D00C6DAC3857865D3119FBA00C04F6BC6A502000000000000A8BD400300000022000000530079006D0062006F006C0043006F006C006C0065006300740069006F006E0000000D00668C5D0E918DD3119FCA00C04F6BC6A503000100000000000000743E5AB69329D1119A430080C7EC5C96040096C4E97E23D1D0118383080009B996CC01000100000000000000000000000000000000000000000000000000000000FFFFFFFF030000000000000000000000000000000000000000000000344000000000000014400D0000000000000096C4E97E23D1D0118383080009B996CC0100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005940000000000000594001000000000000000000000000000000000080564001763E5AB69329D1119A430080C7EC5C9622B837FA59A9CD4A834A0E114BF420B801000000000000000000FFFF10727030D552D011A8F200608C85EDE502005000000003000000005910045D74314180F3637970852041EE5A4D68017631411F762D49B6852041010000000200000000000000EE5A4D68017631411F762D49B6852041005910045D74314180F36379708520410067622AD21DB211BF5108002022F57306000102000050524F4A43535B224E41445F313938335F5374617465506C616E655F4D6F6E74616E615F464950535F323530305F46656574222C47454F4743535B224743535F4E6F7274685F416D65726963616E5F31393833222C444154554D5B22445F4E6F7274685F416D65726963616E5F31393833222C53504845524F49445B224752535F31393830222C363337383133372E302C3239382E3235373232323130315D5D2C5052494D454D5B22477265656E77696368222C302E305D2C554E49545B22446567726565222C302E303137343533323932353139393433335D5D2C50524F4A454354494F4E5B224C616D626572745F436F6E666F726D616C5F436F6E6963225D2C504152414D455445525B2246616C73655F45617374696E67222C313936383530302E305D2C504152414D455445525B2246616C73655F4E6F727468696E67222C302E305D2C504152414D455445525B2243656E7472616C5F4D6572696469616E222C2D3130392E355D2C504152414D455445525B225374616E646172645F506172616C6C656C5F31222C34352E305D2C504152414D455445525B225374616E646172645F506172616C6C656C5F32222C34392E305D2C504152414D455445525B224C617469747564655F4F665F4F726967696E222C34342E32355D2C554E49545B22466F6F745F5553222C302E333034383030363039363031323139325D5D0000000000000000000000000000000000010000000050F9E59BC100000030C27897C1D2662EEC780C824100000000006AF8C0000000000088C34000000000006AF8C0000000000088C3406871D9FB67E06A3F2D431CEBE2362A3F2D431CEBE2362A3FF9E5147992C8D0118BB6080009EE4E41010096C4E97E23D1D0118383080009B996CC0100010000FAF202B0ADAE3C40000000000000000000000000000000000000000000000000F03F000000000D0000000000000041CBA500DA52D011A8F200608C85EDE502001400000001000000005910045D74314180F36379708520410067622AD21DB211BF5108002022F57306000102000050524F4A43535B224E41445F313938335F5374617465506C616E655F4D6F6E74616E615F464950535F323530305F46656574222C47454F4743535B224743535F4E6F7274685F416D65726963616E5F31393833222C444154554D5B22445F4E6F7274685F416D65726963616E5F31393833222C53504845524F49445B224752535F31393830222C363337383133372E302C3239382E3235373232323130315D5D2C5052494D454D5B22477265656E77696368222C302E305D2C554E49545B22446567726565222C302E303137343533323932353139393433335D5D2C50524F4A454354494F4E5B224C616D626572745F436F6E666F726D616C5F436F6E6963225D2C504152414D455445525B2246616C73655F45617374696E67222C313936383530302E305D2C504152414D455445525B2246616C73655F4E6F727468696E67222C302E305D2C504152414D455445525B2243656E7472616C5F4D6572696469616E222C2D3130392E355D2C504152414D455445525B225374616E646172645F506172616C6C656C5F31222C34352E305D2C504152414D455445525B225374616E646172645F506172616C6C656C5F32222C34392E305D2C504152414D455445525B224C617469747564655F4F665F4F726967696E222C34342E32355D2C554E49545B22466F6F745F5553222C302E333034383030363039363031323139325D5D0000000000000000000000000000000000010000000050F9E59BC100000030C27897C1D2662EEC780C824100000000006AF8C0000000000088C34000000000006AF8C0000000000088C3406871D9FB67E06A3F2D431CEBE2362A3F2D431CEBE2362A3F000000000000000000000000000000000E0000004D00310032003400520032000000000000000000224001000000000000000000E03F03E6147992C8D0118BB6080009EE4E410100F9E5147992C8D0118BB6080009EE4E41010096C4E97E23D1D0118383080009B996CC010001000014C5A8249A054B400000000000000000000000000000000001000000000000000000000000000D0000000000000096C4E97E23D1D0118383080009B996CC010001000000000000000059400000000000000000000000000000000001000D00000000000000000000000352E30B918FCE119DE300AA004BB851010000009001DC7C010005417269616CFFFF919B09D798E29E49975772BB39E55CF3000010000000440065006600610075006C007400000001000000280000005500700064006100740065004F006E00530068006100700065004300680061006E006700650000000B00FFFF200000005200650071007500690072006500530079006D0062006F006C004900440000000B0000002A00000041006C006C006F007700530079006D0062006F006C004F007600650072007200690064006500730000000B00FFFF2A0000004F0076006500720070006F007300740065007200500072006F00700065007200740069006500730000000D00563DC7E0886C8C49B77C78606E688C970200FFFF96C4E97E23D1D0118383080009B996CC0100010000E21C58AC04464C40091768519039534083A2B8D49E065140010000000000000000000040"

Spoiler

 

ZŽX›ÐѪ|ÀO£:
&SourceFeatureClassAnnoProperties
óIX3
Ò¢o ¶ò+EA
Ò¢o ¶ò+[Feat_Name] ÿÿÿÿÿÿÿÿDefaultt>Z¶“)ÑšC€Çì\––Äé~#ÑЃƒ ¹–Ìÿÿÿÿ4@@
–Äé~#ÑЃƒ ¹–ÌY@Y@€V@v>Z¶“)ÑšC€Çì\–"¸7úY©ÍJƒJKô ¸ÿÿrp0ÕRШò`Œ…íåPY]t1A€ócyp… AîZMhv1Av-I¶… AîZMhv1Av-I¶… AY]t1A€ócyp… Agb*Ò²¿Q "õsPROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.3048006096012192]]Pùå›Á0Âx—ÁÒf.ìx ‚AjøÀˆÃ@jøÀˆÃ@hqÙûgàj?-Cëâ6*?-Cëâ6*?ùåy’ÈЋ¶ îNA–Äé~#ÑЃƒ ¹–Ìúò°­®<@ð?
AË¥ÚRШò`Œ…íåY]t1A€ócyp… Agb*Ò²¿Q "õsPROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.3048006096012192]]Pùå›Á0Âx—ÁÒf.ìx ‚AjøÀˆÃ@jøÀˆÃ@hqÙûgàj?-Cëâ6*?-Cëâ6*?M124R2"@à?æy’ÈЋ¶ îNAùåy’ÈЋ¶ îNA–Äé~#ÑЃƒ ¹–ÌŨ$šK@
–Äé~#ÑЃƒ ¹–ÌY@
Rã ‘ÎãªK¸Q_Arial‘› טâžI—Wr»9å\ó‰RSîÉAш
 ìs*Œ•B$×ÒŸAÀOkÆ¥ÿÿÿÿÿÿwC&ÕÙҨ̟‡ ÍZÿÿrC&ÕÙҨ̟‡ ÍZ>@rªyàÒŸHÀOkÆ¥ÿÿrp0ÕRШò`Œ…íå c„Ù[Â/Án#UyUErÁ ‹
AG@5At®Zy
¶WAgb*Ò²¿Q "õsPROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.3048006096012192]]Pùå›Á0Âx—ÁÒf.ìx ‚AjøÀˆÃ@jøÀˆÃ@hqÙûgàj?-Cëâ6*?-Cëâ6*?¨½@¨½@ÿÿÿÿÿÿVersionAutoCreate ÿÿ

 

 

 

 

ReferenceScale
ÆÚÃ…xeÓŸºÀOkÆ¥¨½@"SymbolCollection
fŒ]‘ÓŸÊÀOkÆ¥t>Z¶“)ÑšC€Çì\––Äé~#ÑЃƒ ¹–Ìÿÿÿÿ4@@
–Äé~#ÑЃƒ ¹–ÌY@Y@€V@v>Z¶“)ÑšC€Çì\–"¸7úY©ÍJƒJKô ¸ÿÿrp0ÕRШò`Œ…íåPY]t1A€ócyp… AîZMhv1Av-I¶… AîZMhv1Av-I¶… AY]t1A€ócyp… Agb*Ò²¿Q "õsPROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.3048006096012192]]Pùå›Á0Âx—ÁÒf.ìx ‚AjøÀˆÃ@jøÀˆÃ@hqÙûgàj?-Cëâ6*?-Cëâ6*?ùåy’ÈЋ¶ îNA–Äé~#ÑЃƒ ¹–Ìúò°­®<@ð?
AË¥ÚRШò`Œ…íåY]t1A€ócyp… Agb*Ò²¿Q "õsPROJCS["NAD_1983_StatePlane_Montana_FIPS_2500_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-109.5],PARAMETER["Standard_Parallel_1",45.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",44.25],UNIT["Foot_US",0.3048006096012192]]Pùå›Á0Âx—ÁÒf.ìx ‚AjøÀˆÃ@jøÀˆÃ@hqÙûgàj?-Cëâ6*?-Cëâ6*?M124R2"@à?æy’ÈЋ¶ îNAùåy’ÈЋ¶ îNA–Äé~#ÑЃƒ ¹–ÌŨ$šK@
–Äé~#ÑЃƒ ¹–ÌY@
Rã ‘ÎãªK¸QÜ|Arialÿÿ‘› טâžI—Wr»9å\óDefault(UpdateOnShapeChange ÿÿ RequireSymbolID *AllowSymbolOverrides ÿÿ*OverposterProperties
V=ÇàˆlŒI·|x`nhŒ—ÿÿ–Äé~#ÑЃƒ ¹–ÌâX¬FL@ hQ9S@ƒ¢¸ÔžQ@@

So, all in all, I'm pretty confused as to how I can figure this out in either version and would appreciate any pointers.

Thanks!

 

 

0 Kudos
10 Replies
RobertKrisher
Esri Regular Contributor

The easiest way to access that programmatically is to use one of the APIs provided to read the annotation properties. Because you're using a MGDB I assume you're using ArcGIS Desktop? Which means you would use .NET, Java, or C++ and ArcObjects to access this information.

It is possible to access ArcObjects using Python code, but it requires jumping through some extra hoops in order to load and work with the COM Objects used by ArcObjects.

0 Kudos
AlfredBaldenweck
MVP Regular Contributor

Good information. Unfortunately, no ArcMap for me, which is why I'm as deep into this as I am. Do you have any information on accessing ArcObjects through python these days?

0 Kudos
RobertKrisher
Esri Regular Contributor

What form and version of ArcGIS is installed in the environment where you're running your Python? This will determine which APIs are available to you.

0 Kudos
AlfredBaldenweck
MVP Regular Contributor

Pro 3.5

0 Kudos
RobertKrisher
Esri Regular Contributor

What happens if you do an Arcpy.Describe on the class? I'm not even sure if you can access the contents of the Personal Geodatabase using Arcpy in the ArcGIS Pro runtime.

0 Kudos
AlfredBaldenweck
MVP Regular Contributor

You can't, I'm using GDAL. It works for the vast majority of my workflow, but annotations are nasty in and of themselves and also have radically changed between ArcMap and Pro (but not as bad as coverage to geodatabase annotations. Yikes) 

@HaydenWelch suggested that those things may map to a C struct, in which case I'm wondering if there's something there. 

 

The refusal to provide a blind conversion process without paying for an additional license (Data Interop, FME) is a huge problem. Super frustrating to lose access to archival data because you can't get ArcMap anywhere anymore. 

0 Kudos
RobertKrisher
Esri Regular Contributor

You can likely figure out how to get the reference scale, but there may be other properties you'll want to get access to like the symbol classes, etc.

0 Kudos
AlfredBaldenweck
MVP Regular Contributor

I'm not even bothering with that. I'm matching font size/style since those are found in the attribute table and any leaders but the symbol is just plain black text.

In part because the way the annotation symbol was stored in the Element field radically changed between then and now.

FFFFF9FF0200006825C6BA6E314180EBF6F4639A2041803CA18C3E6F314180EBF6F4639A2041060000004D004300000001000000000000000000000000000000000200000000000A000000540065007800740000000000FFFF060000002001000080C94EB5C16D314100C77E396D9A20410200

ÿÿùÿh%ƺn1A€ëöôcš A€<¡Œ>o1A€ëöôcš AMC
Textÿÿ €ÉNµÁm1AÇ~9mš A

There's information in there to show the string "MC" and the type of symbol "Text" and then everything else (haloes, color) is completely opaque to me here. A modern annotation stores JSON (iirc) in there.

This particular annotation is supposed to be blue text on a white rectangle but I have no idea how you're supposed to get that from looking at the stuff above. I'm focusing on reference scale because that is far more important.

I initially tried reverse-engineering the scale, but it turns out that things like haloes and backgrounds affect the shape of the annotation, so there's not really a reliable way to determine that if you don't know what the symbol is supposed to be.

0 Kudos
RobertKrisher
Esri Regular Contributor

Yeah, what you really need is access to an ArcMap environment where you can just copy this data out to a file or mobile geodatabase where you can start working with it using ArcGIS Pro. If you want to preserve the exact look and feel of the annotation, you're going to need access to the binary data stored in the element, since users can make fine adjustments to the annotation in the element that aren't reflected in the properties of the feature or even the symbol definition itself.

0 Kudos