Este es un tema que siempre surge. Puede que no tenga la respuesta correcta, pero puedo darle mi opinión personal .
La razón por la que son compatibles se puede atribuir a varias características sobre ellos, así que permítanme mencionar algunas.
Primero, hay una especificación . Quiero decir, tengo poco más de treinta años y esto existió desde que era un adolescente. Por lo tanto, es seguro decir que esta especificación ha existido por algún tiempo. Por supuesto, hay varios otros formatos que también se publican, pero la diferencia sobre este es que ...
¡Es relativamente simple! Está construido sobre el formato DBF , que en ese momento ya existía y era ampliamente compatible con varias plataformas / sistemas operativos. Ya había analizadores que podían leer la mitad de este formato (la parte DBF), por lo que facilitaba la compatibilidad con la adición adicional. Tienes una geometría? Claro, solo serialízalo y escríbelo. Estás listo. ¡Contrasta esto con una cobertura ! Intente explicar a alguien en términos simples lo que hace una limpieza de topología . No es trivial escribir una cobertura topológicamente limpia.
Lo más importante, creo que la razón # 1 para que los shapefiles sigan siendo populares es que son compatibles tanto en sistemas de código abierto como propietarios . ¿Qué SIG sabes que no admite archivos shape? Inaudito.
Como reemplazo, escuchamos sobre File GeoDatabases y Spatialite . Ambos formatos son muy superiores en términos de funcionalidad, flexibilidad, velocidad, etc., en comparación con Shapefiles. A su manera, tienen ciertas cosas que los hacen mejores entre sí en diferentes áreas, pero una comparación de spaceialite y FileGDB ciertamente está fuera del alcance de esta pregunta.
¿Creo que alguno de estos formatos reemplazará a Shapefiles? No en sus encarnaciones actuales .
¿Por qué?
No por un argumento tecnológico (después de todo, dije que eran superiores en ese aspecto), sino por algo más: licencias.
¿Cuáles son sus problemas?
FileGDB :
FileGDB proporciona interoperabilidad a través de la nueva API FileGDB. Sin embargo, esta API se proporciona en formato binario.por ESRI. Esto no es una especificación. Después de haber trabajado en el equipo de GeoDatabase en el pasado, puedo decirte que, al contrario de todos los teóricos de la conspiración que usan sombrero de papel de aluminio, esto no es malicioso en absoluto. Es porque las partes internas de la GeoDatabase cambian en cada versión. Publicar una especificación completa implicaría básicamente dar todos los detalles de cómo se debe mantener todo y luego documentar cuidadosamente los cambios en el formato con cada lanzamiento anual. No tiene sentido Entonces, la API FileGDB, aunque no es una especificación, abstrae todos esos pequeños cambios. ¡Y ahora se puede usar multiplataforma! Eso sí, ¡este es un gran paso adelante! Teniendo en cuenta la naturaleza conservadora de ESRI, esta es definitivamente una reacción en la dirección correcta.
Y, sin embargo, el soporte solo binario no hace feliz a nadie en el mundo del Código Abierto. ¿Cómo se aprovecha de portar algún código para decirle a otro sabor de Linux si ESRI no lo admite? No puedes Esto es lo que hace que Open Source sea poderoso, y ahora, no puede aprovechar esto. Si ESRI decide dejar de soportar Debian, eso es todo. Estás listo. Y no hay nada que puedas hacer para cambiarlo.
Spatialite :
Spatialite es impresionante porque obtiene toda la funcionalidad gratuita de SQLite . SQLite se usa en todas partes. Está en su teléfono Android, en su iPhone / iPad, en Firefox, en Google Chrome, en varios dispositivos comerciales integrados, puede continuar para siempre. Para convertirlo realmente en un Geoformat (y no solo para realizar operaciones de cuadro de límite tonto), debe aprovechar la misma biblioteca de geometría que utiliza PostGIS: GEOS . Lamentablemente, GEOS se basa en otra biblioteca de geometría aún más impresionante conocida como JTS . Todos los algoritmos en JTS son extremadamente poderosos, entonces, ¿cuál es el problema?
Bueno, JTS tiene licencia como Open Source LGPL , y LGPL es una licencia viral . JTS es LGPL, significa que GEOS es LGPL, significa spaceialite vinculado estáticamente con GEOS es LGPL. Esto apesta. ¿Por qué? Sin explicar demasiado las licencias de código abierto , puedo decirle que, por ejemplo, no puedo usar spaceialite en, por ejemplo, una aplicación de iPhone porque eso haría que toda mi aplicación de código abierto automáticamente (iOS solo permite enlaces estáticos). Cualquier tipo de licencia GPL (razonablemente) asusta a ESRI, y por lo tanto no lo tocarán con un poste de 10 pies. Por lo tanto, ArcGIS, el sistema SIG más popular del mundo, no admite (y probablemente nunca lo hará) nativa espacial. Esto lo mata automáticamente como un formato viable.
Y, por lo tanto, volvemos a los archivos de formas cutres que son compatibles en todas partes.
Actualización :
Aparentemente, mi respuesta fue lo suficientemente controvertida como para que alguien decidiera que estaba bien editar libremente y cambiar todo el significado de mi respuesta para poner su punto de vista. Por favor no hagas eso. Si no está de acuerdo conmigo, eso está completamente bien, simplemente publique su opinión en una respuesta diferente y deje que la comunidad decida. Enrollé las ediciones a mi respuesta para mostrar el significado original. Estoy agregando esta actualización en caso de que lea la respuesta editada que afirma que sqlite era un formato viable.