Změna výchozího kódování shapefile v ArcGIS Pro

30. 4. 2020
  • Desktopový GIS
  • ArcGIS Pro 2.3
  • ArcGIS Pro 2.4
  • ArcGIS Pro 2.5

V současné době je již standardem kódování textu v kódovací stránce UTF-8 (Unicode), které pokrývá znaky většiny používaných světových jazyků. Pokud však potřebujete pracovat se soubory shapefile v různých jazycích, je potřeba požadovanou kódovací stránku nastavit v registru Windows, tzv. dbfDefault. Pokud tato hodnota v registru není nastavena a soubor nemá kódování definováno v hlavičce souboru LDID či souboru CPG, považuje ArcGIS Pro kódování veškerých načtených či vytvořených SHP a DBF souborů za kódování UTF-8.

Nastavením dbfDefault můžete změnit kódování, ve kterém bude ArcGIS Pro se soubory SHP a DBF pracovat a ve kterém je také bude vytvářet.

Tvorba nové hodnoty v registru

  • Zavřete všechny aplikace ArcGIS.
  • Klikněte na Start – Spustit…, do otevřené nabídky zapište regedit a stiskněte Enter.
  • Otevře se okno systémového registru. Přejděte do oddílu HKEY_CURRENT_USER\Software\ESRI\ArcGISPro.
  • Klikněte pravým tlačítkem na ArcGISPro a zvolte Nový – Klíč, nazvěte jej Common.
  • V něm vytvořte další klíč s názvem CodePage a v něm novou řetězcovou hodnotu dbfDefault.

  • Klikněte pravým tlačítkem na nově vytvořenou řetězcovou hodnotu a zvolte možnost Změnit. Do pole Údaj hodnoty zapište požadovaný kód kódovací stránky ze seznamu podporovaných identifikátorů:

OEM:
437 - United States
708 - Arabic (ASMO 708)
720 - Arabic (Transparent ASMO), Arabic (DOS)
737 - Greek, Greek (DOS)
775 - Baltic, Baltic (DOS)
850 - Multi-lingual Latin 1, Western European (DOS)
852 - Latin 2, Central European (DOS)
855 - Cyrillic
857 - Turkish, Turkish (DOS)
860 - Portuguese, Portuguese (DOS)
861 - Icelandic, Icelandic (DOS)
862 - Hebrew, Hebrew (DOS)
863 - French Canadian, French Canadian (DOS)
864 - Arabic, Arabic (864)
865 - Nordic, Nordic (DOS)
866 - Russian, Cyrillic (DOS)
869 - Modern Greek, Modern Greek (DOS)
932 - Japanese, Japanese (Shift-JIS)
936 - Chinese (simplified): People's Republic of China, Singapore
949 - Korean (Unified Hangul Code)
950 - Traditional Chinese: Taiwan, Hong Kong, People's Republic of China
ALARABI - Sets the code page to 448

ANSI:
1250 - Central European
1251 - Cyrillic
1252 - Western European
1253 - Greek
1254 - Turkish
1255 - Hebrew
1256 - Arabic
1257 - Baltic languages
1258 - Vietnamese
Big5 - Chinese: Taiwan, Hong Kong, Macau
SJIS - Japanese (Sets the code page to 932)

ISO:
88591 - Latin 1: Western European
88592 - Latin 2: Central and Eastern European
88593 - Latin 3: Southern European
88594 - Latin 4: Northern European
88595 - Cyrillic
88596 - Arabic
88597 - Greek
88598 - Hebrew
88599 - Latin 5: Turkish
885910 - Latin 6: Nordic
885911 - Thai
885913 - Lithuanian
885915 - Latin 9: Western European (Upgraded from Latin 1)

Unicode:
UTF-8
UTF8

  • Potvrďte OK a zavřete okno registru.

Po vytvoření všech souborů shapefile, kdy již nepotřebujete pracovat v odlišném kódování, doporučujeme hodnotu dbfDefault v registrech navrátit do původního stavu na hodnotu no value.

Automatizace změny nastavení

Pro rychlejší změnu nastavení je možné vytvořit dávkový soubor.

  • Otevřete Poznámkový blok a vložte text:
    @ECHO OFF
    IF "%1"=="" GOTO :EOF
    reg add HKEY_CURRENT_USER\Software\ESRI\Desktop10.3\Common\CodePage /v dbfDefault /t REG_SZ /d %1 /f
  • Uložte jako changecodepage.bat
  • Spusťte z příkazové řádky Windows s parametrem identifikátoru kódovací stránky:
    H:\>"C:\changecodepage.bat" 1250