Нижче докладно про процес, який я використовував для перетворення файлу GeoDataBase з арабськими полями у форміфайли з кодуванням UTF-8, які щасливо відкриваються в QGIS та ArcMap, показуючи правильно арабську та англійську мови (без використання розширень для експорту чи читання):
- Основна ідея: з FGDB експортуйте файл форми, включаючи .dbf (у неправильному кодуванні), потім експортуйте Таблицю атрибутів того ж шару, що і текст (у правильному кодуванні, що є UTF-8), та використовуйте іншу програму замінити вміст формфайлу .dbf правильними полями даних UTF-8 та зберегти .dbf кодуванням UTF-8. Потім додайте .cpg файл до кожного файлу форми, щоб повідомити ArcGIS про нове кодування .dbf. Кроки:
1) Додайте шари з FGDB в ArcMap (я використовував 10.1, але немає абсолютно жодної причини, щоб він не працював у попередніх версіях, оскільки біт кодування відбувається пізніше, поза Arc). Щоб експортувати, клацніть шар шару правою кнопкою миші та оберіть Дані-> Експортувати дані, натисніть кнопку папки в діалоговому вікні експорту, щоб відкрити діалогове вікно Збереження, та виберіть Shapefile як вихідний формат.
1b) Альтернативний спосіб вищезазначеному: перейдіть до FGDB в ArcCatalog, клацніть правою кнопкою миші, виберіть "Експорт" -> у формат файлу (декілька) та експортуйте всю FGCB як папку, заповнену файлами формату за одну операцію).
2) Тепер у вас є набір форм-файлів з гібридом, де має бути арабська графіка (на моїй машині на місці символів відображалися знаки запитання). Самі частини .dbf форм-файлів, відкриті в Excel або будь-якому іншому, мають гріш замість арабської; це не лише проблема відображення в програмі GIS, це те, що самі файли .dbf не містять арабських символів. Ще не корисно.
3) У ArcMap відкрийте Таблицю атрибутів шару з FGDB. Таблиця відкривається як англійською, так і арабською мовами, що відображається належним чином (саме тому FGDB використовувався в першу чергу). У меню «Параметри таблиці» у вікні «Таблиця атрибутів» виберіть «Експортувати» та в діалоговому вікні «Експорт даних» натисніть кнопку «Вихідна папка», щоб перейти до діалогу «Збереження даних», де для виводу вибирається текстовий файл. Тепер у вас є текстовий файл, який відкриється в «Блокноті» з роздільниками коми, кодованими як UTF-8, з англійською та арабською мовами належним чином закодованими (арабська мова в цей момент повинна відображатися належним чином у Блокноті).
Тепер, щоб отримати цю інформацію в .dbf частини shapefiles!
4) Відкрийте LibreOffice Calc, вільний і з відкритим кодом клон Excel, який легко відкриває, маніпулює та зберігає .dbf файли, щоб відкрити .dbf файл форм-файлу.
До речі, в цьому випадку я не використовую LibreOffice замість MS Office з ідеологічних причин, а просто тому, що я не можу зрозуміти, як змусити Excel зберегти .dbf файл, який легко в Calc, насправді це параметр за замовчуванням при натисканні Save після відкриття та модифікації .dbf-файлу в Calc, тоді як в Excel він фактично зазначає, що файл "не може бути збережений у поточному форматі", і не дуже допомагає пропонує "зберегти його як останній формат" (жоден варіант для .dbf не з'являється). Існують розширення / плагіни для Excel, які мають намір виконати роботу (
Файл .dbf у Calc як і раніше показує гріш замість арабської. Відкрийте його. Відкрийте .csv, який ви експортували з таблиці атрибутів того самого файлу форм, переконайтесь, що в діалоговому вікні відкриття ви вказали UTF-8 як кодування (і коми як роздільники). Текстові файли повинні відкриватися у другій таблиці Calc з арабською мовою, відображеною правильно, і вони повинні містити ті самі стовпці, що і .dbf плюс стовпець OBJECTID на початку. Скопіюйте та вставте стовпці з .csv, що містять належну арабську мову, до .dbf (я фактично просто копіюю вставку всієї таблиці за винятком крайнього лівого стовпця ідентифікатора, щоб заощадити час; інформація все одно однакова). Натисніть Зберегти в модифікованому .dbf в LibreOffice (він запитає, чи дійсно ви хочете використовувати такий дивний формат, як .dbf; так, так).
Повторіть цей процес для всіх .dbf компонентів форм-файлів з FGDB, замінивши всі гріш колони арабськими рядками.
5) Щойно ви зберегли файли .dbf із вставленими арабськими стовпцями, ви можете відкрити файли форм у QGIS, і вони працюватимуть належним чином на обох мовах, за умови, що ви вказали UTF-8 як кодування у векторі імпорту. Діалогове вікно файлу. Однак вони все ще не працюватимуть належним чином у ArcGIS (або, принаймні, не у всіх версіях), оскільки ArcGIS не розпізнає кодування автоматично або не дозволяє вам вибрати його, коли ви додасте файл форми до проекту. Дузі потрібен окремий компонент до файлу форми, який називається файлом конверсії кодової сторінки (.cpg), щоб проінструктувати його для кодування для читання.
6) Використовуйте текстовий редактор (блокнот, нано чи інше, але не Word чи будь-який інший текстовий процесор), щоб створити текстовий файл, що містить лише п'ять символів "UTF-8". Збережіть його у форматі .cpg для кожного з файлів (я просто натискаю на фрагмент файлу форм у діалоговому вікні "Зберегти як", потім видаляю розширення та додаю. багатофакторне формуле). Розширення .cpg повідомляє Arc, що це файл, що містить інформацію про кодування файлу .dbf; Після того, як він додається до форм-файлу разом із одноіменними, але різними побратимами, кодування файлу форм тепер автоматично розпізнається ArcGIS.
7) Вуаля. Тепер у вас є файли форм, які містять як англійські, так і арабські рядки, наскільки я можу точно сказати, якими вони були в оригінальному File GeoDataBase. Вони відкриваються в моїх установках як ArcMap, так і QGIS, і в обох випадках рядки в обох мовах відображаються правильно, включаючи мітки карт.
Застереження:
Не всі копії ArcGIS, як видається, експортують таблицю атрибутів як належним чином заповнений текстовий файл (принаймні на одному комп’ютері спроба експорту таблиці атрибутів у текстовий файл призводить до файлу з лише заголовками, а не рядками даних. Це НЕ належна поведінка Arc (звичайно, вона повинна мати можливість експортувати таблиці атрибутів як текст), але для деяких користувачів це може з'явитися. Це робить інші кроки неможливими.
Схоже, що ArcGIS збереже нові файли форм за допомогою кодування UTF-8. Це вплине лише на користувачів, які хочуть створювати нові файли форм із даних, а не на людей, які просто хочуть відображати, змінювати та використовувати їх для створення карт. Здається, вирішення проблеми пов'язане з вашим реєстром Windows, як це детально описано тут: ( http://support.esri.com/cn/knowledgebase/techarticles/detail/21106 ). Мені з цим не доводилося стикатися, оскільки мої ArcGIS та QGIS, здається, радісно розпізнають файли форм, які я зберегла за допомогою описаного вище процесу, і я можу змінювати геометрію та записи таблиці або навіть додавати нові багатокутники з більш арабським текстом без явних проблем ( навіть незважаючи на те, що Arc, схоже, не хоче зберігати нові файли форм за допомогою кодування UTF-8, схоже, вони готові оновити / відновити їх).
Я припускаю, що функціональність LibreOffice в Windows однакова, як і на моєму комп’ютері. Більшу частину своєї роботи я використовую GNU / Linux, і завантажуюсь тільки в Windows, якщо мені потрібно використовувати ArcGIS або Autocad для якоїсь задачі, тому я здійснив модифікацію файлу .dbf у Libreoffice, що працює на Fedora. Я припускаю, що він працює так само, як у Windows, але я не можу перевірити, що без встановлення LibreOffice на моєму розділі Windows, і моє поточне підключення до Інтернету трохи повільно для непотрібних завантажень. Існують плагіни для Excel, які дозволяють зберігати .dbf файли у вибраному кодуванні (наприклад, exceltodbf.sourceforge.net/), але я їх не пробував. Можливо, існують інші способи маніпулювання та збереження .dbf, але я не розглядав їх, знайшовши досить простий спосіб зробити це за допомогою LibreOffice.
Здається, цілий випуск уникнути, якщо ви заплатите за розширення Production Mapping в ArcGIS, що дозволяє безпосередньо перетворити FGDB у формати з кодуванням UTF-8 відповідно до цієї сторінки: http://resources.arcgis.com/en/help /main/10.1/index.html#//0103000001m1000000 . Чому ця досить основна функціональність (Unicode існує вже деякий час, і там є багато мов, крім англійської), доступна лише для тих клієнтів, які платять додатково - питання ESRI.