Select to view content in your preferred language

Personal geodatabases: How were annotation reference scales determined?

373
10
a week ago
Labels (2)
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
AlfredBaldenweck
MVP Regular Contributor

That's kind of the problem. ArcMap was completely taken away (I asked at UC 2 years ago and was told the only way to get is on a business license. My organization removed access to us all in March 2024. And no hope of getting a specific version) and there isn't a tool to get this stuff anymore.

You have FME or Data Interoperability (extra licensing), and sometimes Q/GDAL (doesn't see feature datasets, for one), and those aren't always enough. For example, at this point ArcMap is the only program to my knowledge that opens MDBs made in Access 97. Access itself can't, unless you download Access 2006 (or 2007?) which iirc is the last version that could upgrade to a more modern format.

I am well aware of why Pro doesn't read personal geodatabases anymore (deprecated Jet driver, etc.), but it should not be impossible to retrieve old data from older formats. Personal Geodatabases, coverages, interchange files are all floating around various organizations folders and largely inaccessible. Tools like GDAL do a pretty good job of retrieving them, but things like Access 97 and compressed or partially compressed interchange files fall through the cracks.

I really don't care about the symbology itself, I just want to get the text in roughly the right size and shape, and it's proving much more difficult to do that than I feel it should be. I got the right placement, but the reference scale is really killing me here. If I can tell by looking at the original footprint that a given Annotation should not be scaled to 1:100,000 but I have no idea how to guess what the correct scale should be with the information that is available to me. 

I do appreciate your responses.

0 Kudos