32 nebo 64? To je, oč tu běží.

301
0
03-20-2024 03:42 AM
DavidDaveNovak
Esri Contributor
1 0 301

Příchod ArcGIS Pro verze 3.2. přinesl opět několik novinek. Jednou z nich je podpora 64 bitového ObjectID. Co to znamená pro běžné fungování a máte na tuto verzi začít migrovat všechny své vrstvy? To se pokusím popsat v tomto příspěvku.

ObjectID v číslech

ObjectID je jeden z nejdůležitějších sloupců v databázové tabulce. Hodnoty v něm jsou unikátní a slouží k jednoznačné identifikaci řádku tabulky. Bitová velikost pole ObjectID tak určuje, jaký je maximální počet záznamů v tabulce.

Na úvod si tedy pojďme shrnout několik čísel. ArcGIS Pro ve výchozím nastavení vytváří vrstvy s klasickým 32bitovým ObjectID. V praxi to znamená, že teoreticky můžete uložit až 2,14 miliardy záznamů.

64bitové ObjectID (se znaménkem) umožňuje uložit až 9,22 triliónů (přesněji 9 223 372 036 854 775 807) záznamů. Některé aplikace nedokážou celý rozsah plně podporovat a pracují v rozsahu takzvaného „53 bit safe integer“: (2^53)-1, čili 9 007 199 254 740 991. (ArcGIS Pro sice dokáže číst celý 64bitový rozsah, zapisovat či editovat však pouze v tomto 53bitovém rozsahu.)

Tato čísla jsme si vypsali, abychom získali představu, v jakých řádech se objem našich dat musí pohybovat, aby nás 32bitové ObjectID vůbec začalo trápit a my museli o migraci začít uvažovat. Dvě miliardy prvků byly donedávna nedosažitelnou metou, ale v současnosti se již můžeme tomuto počtu přiblížit například s daty laserového skenování, při dlouhodobém měření sítě senzorů v internetu věcí (při frekvenci tisíc zápisů za vteřinu dosáhneme limitu za 24 dní) nebo při jakékoliv další práci s big daty.

Převod na 64bitové ObjectID

Pro migraci na 64bitové ObjectID je připraven geoprocessingový nástroj Migrace ID objektu do 64 bitů (Migrate Object ID To 64 Bit)

Ovšem zde je potřeba dát pozor na to, že datovou sadu převedenou na 64bitová ID nelze snadno vrátit zpět na 32bitová ID. Důvodů, proč se vracet zpět, sice moc není, ale jedním z nich může být náhlá nekompatibilita se staršími aplikacemi. Musíme proto mít na paměti, že minimální verze klientů, které dokážou k datové sadě s 64bitovými ID přistupovat, jsou ArcGIS Pro 3.2 a ArcGIS Enterprise 11.2. Podrobnější informace o kompatibilitě si můžete přečíst v dokumentaci.

Geoprocessingový nástroj samotný je velice jednoduchý a stačí pouze vybrat datovou sadu. 

Jak zjistit, jaký formát má ObjectID?

Informace o formátu ObjectID lze nalézt ve vlastnostech třídy prvků na kartě Zdroj.

DavidDaveNovak_0-1710517075474.png

 

Převod z 64bitového ObjectID zpět

Jelikož 64bitová varianta není kompatibilní například s formátem shapefile a nemusí být funkční se všemi nástroji nebo staršími aplikacemi, můžeme potřebovat vrstvu se 64bitovým ObjectID (kterou jsme například od někoho dostali) převést zpět.

Proces převodu spočívá ve vytvoření nové třídy prvků pomocí nástroje Vytvořit třídu prvků (Create Feature Class). V poli Vzorové datové sady můžeme vybrat původní třídu prvků, aby se pole v nové třídě vytvořila stejná, a hlavně nesmíme zapomenout specifikovat Typ OID jako 32-bit

Nakonec pomocí nástroje Append přidáme do nové třídy prvků obsah třídy původní. 

 

Zhodnocení

Kromě výrazně většího rozsahu nemá v tuto chvíli 64bitové ObjectID jinou výhodu. Pokud vám tedy bohatě stačí rozsah klasického 32bitového ObjectID, nemusíte začít hromadně převádět všechny své datové sady na 64bitové, zvlášť pokud to může způsobit komplikace při spolupráci s kolegy nebo se staršími verzemi ArcGIS Pro a jiných aplikací.