Це тема, яка завжди виникає. Я не можу мати правильну відповідь, але я можу дати вам моя особиста думка .
Причину того, що вони підтримуються, можна пояснити декількома характеристиками щодо них, тому дозвольте зазначити декілька.
По-перше, є специфікація . Я маю на увазі, я в моїх тридцятих роках, і ця річ існувала ще з підлітків. Тож можна з упевненістю сказати, що ця специфіка існує вже деякий час. Звичайно, є кілька інших форматів, які також публікуються, але різниця щодо цього полягає в тому, що ...
Це порівняно просто! Він побудований на версії DBF Format , який на той момент вже існував і широко підтримувався на кількох платформах / ОС. Вже були парсери, які могли прочитати половину цього формату (частина DBF), тому це полегшило підтримку додаткового додатку. У вас є геометрія? Впевнений, просто серіалізуй це і напиши. Ви закінчили. Контрастуйте це з покриттям ! Спробуйте пояснити комусь простими словами, що робить чиста топологія . Не тривіально писати топологічно чисте висвітлення.
Найголовніше, я вважаю, що причина №1 досі залишається популярною в тому, що вони підтримуються як у відкритому коді, так і у власній системі . Який GIS ви знаєте, що не підтримує форм-файли?!? Нечувано.
В якості заміни, ми чуємо Файлові бази геоданих і SpatiaLite . Обидва формати значно перевершують функціональність, гнучкість, швидкість тощо у порівнянні з Shapefiles. По-своєму вони мають певні речі, які роблять їх кращими один від одного в різних областях, але порівняння просторових і FileGDB, безумовно, виходить за межі цього питання.
Я думаю, що будь-який із цих форматів замінить Shapefiles? Не в їх нинішніх втіленнях .
Чому?
Не через технологічний аргумент (я казав, що вони в цьому аспекті вище), а через щось інше: ліцензування.
То які їх проблеми?
FileGDB :
FileGDB забезпечує взаємодію завдяки новому API FileGDB. Тим не менш, цей API надається у двійковому форматіза ESRI. Це не специфікація. Раніше працював у команді GeoDatabase, я можу вам сказати, всупереч усім теоретикам змови, що носять олово-фольгу, це зовсім не шкідливо. Це тому, що внутрішня база GeoDatabase змінюється з кожним випуском. Публікація повної специфікації передбачає, в основному, детальну інформацію про те, як слід підтримувати все, а потім ретельно задокументувати зміни формату з кожним щорічним випуском. Це не має сенсу. Тож API FileGDB, хоча він і не є специфікацією, він резюмує всі ці невеликі зміни. І тепер його можна використовувати кросплатформенну! Зауважте, це величезний крок вперед! Зважаючи на консервативний характер ESRI, це, безумовно, реакція в правильному напрямку.
І все ж, підтримка, що стосується лише бінарних даних, нікого в світі відкритого джерела не надто радіє. Як тоді скористатися переносом якогось коду, щоб сказати якийсь інший смак Linux, якщо ESRI не підтримує його. Ви не можете. Саме це робить Open Source потужним, і тепер ви не можете цим скористатися. Якщо ESRI вирішить припинити підтримувати Debian, це все. Ви закінчили. І ви нічого не можете зробити, щоб змінити це.
Просторовий :
Spatialite є приголомшливим, оскільки він отримує всю безкоштовну функціональність від SQLite . SQLite використовується скрізь. Це на вашому Android телефоні, на вашому iPhone / iPad, на Firefox, у Google Chrome, на декількох комерційних вбудованих пристроях - може працювати назавжди. Щоб по-справжньому перетворити його в Geoformat (а не просто робити тупі операції з обмеженням), йому потрібно використовувати ту саму бібліотеку геометрії, яку використовує PostGIS: GEOS . На жаль, GEOS базується на ще одній дивовижній бібліотеці геометрії, відомій як JTS . Всі алгоритми в JTS надзвичайно потужні, тож у чому проблема?
Ну, JTS ліцензується як LGPL з відкритим кодом , а LGPL - вірусна ліцензія . JTS - це LGPL, означає, що GEOS - це LGPL, означає, що просторово пов'язаний статично з GEOS є LGPL. Це смокче. Чому? Не надто пояснюючи ліцензії з відкритим кодом , я можу вам сказати, що, наприклад, я не можу використовувати просторит на, скажімо, додатку для iPhone, тому що це зробить весь мій додаток автоматично відкритим кодом (iOS дозволяє лише статичне посилання). Будь-який тип ліцензії GPL (розумно) відлякує дерьмо з ESRI, і тому вони не торкнуться його 10-футовим стовпом. Отже, ArcGIS, найпопулярніша система ГІС у світі, не (і, мабуть, ніколи) не підтримує просторово спочатку. Це автоматично вбиває його як життєздатний формат.
І таким чином ми повертаємось до шалених форм, які підтримуються всюди.
Оновлення :
Мабуть, моя відповідь була досить суперечливою, що хтось вирішив, що це нормально вільно редагувати та змінювати весь сенс моєї відповіді, щоб викласти свою точку зору. Будь ласка, не робіть цього. Якщо ви не погоджуєтесь зі мною, це абсолютно добре, просто опублікуйте свою думку в іншій відповіді і нехай громада вирішить. Я повернув правки до своєї відповіді, щоб показати початкове значення. Я додаю це оновлення, якщо ви прочитали відредаговану відповідь, яка стверджувала, що sqlite є життєздатним форматом.