Потоци и отдалечено съхранение
Работа с многофайлови формати
Някои GIS данни формати разделят съдържанието на няколко файла. Например, shapefile трябва да има поне три файла: *.shp, *.shx и *.dbf. Тези формати изискват всички файлове да бъдат съхранени в определена структура на директории с предварително дефиниран модел за имена на файлове.
В същото време, файловете могат да бъдат съхранявани на отдалечен сървър или друго място, достъпно само чрез потоци. Потоците нямат информация за имената на файловете и структурата на директориите, което прави невъзможно за драйверите на файлови формати да определят как да обработят данните. Aspose.GIS решава това, като предоставя механизма за абстрактни пътища.
Абстрактният път представлява път към файл (или директория) в някакво файлово-подобно хранилище. Хранилището може да бъде всичко, което има концепция за файл и директория, от архив до FTP сървър. Той определя как да изпълнява типични операции с файлове, като например отваряне на файл или изброяване на директория.
Можете да определите как да извършвате операции с файлове за вашето хранилище, като внедрите клас, който наследява AbstractPath и предоставите реализации на неговите абстрактни методи.
Пример: Azure Blob Storage
Репозиторито с примери на Aspose.GIS съдържа пример за пълнофункционална реализация на персонализиран абстрактен път за Azure Blob Storage. Този пример показва как да прочетете shapefile директно от Azure Blob Storage. Можете да го намерите тук: https://github.com/aspose-gis/Aspose.GIS-for-.NET/tree/master/Showcases/Azure_Blob_Integration_by_Aspose_Gis_for_NET.
Формати с един файл (GeoJSON, KML)
GIS данни формати като GeoJSON и KML могат да съхраняват всички данни за слой в един файл. Ако можете да получите поток за файла, можете да пропуснете внедряването на персонализиран абстрактен път и да използвате метода AbstractPath.FromStream() за инстанциране на абстрактен път за потока.