Как сохранить файл `.shp` в gisModel.GeometryField в модели?

У меня есть пример shp-файла и модель следующего содержания

class PolygonShape(models.Model):
    ...
    geometry = gisModel.GeometryField(null=False, srid=25832)
    ...
    def __str__(self):
        return self.name

Я хочу загрузить shp файл и сохранить его в GeometryField модели. Однако я не знаю, как это сделать


Вот моя попытка на данный момент :


    def post(self, request, *args, **kwargs):
        shapefile = request.FILES.get('shapefile')
        if not shapefile:
            return GeneralErrorResponse(data={"error": "No shapefile provided"}).to_json_response()

        save_directory = os.path.join(settings.MEDIA_ROOT, 'shapefiles')
        if not os.path.exists(save_directory):
            os.makedirs(save_directory)

        # Create the full file path
        file_path = os.path.join(save_directory, shapefile.name)

        with open(file_path, 'wb+') as destination:
            for chunk in shapefile.chunks():
                destination.write(chunk)

        ds = DataSource('/uploads/shapefiles')

Но получил ошибку

raise GDALException('Could not open the datasource at "%s"' % ds_input)
django.contrib.gis.gdal.error.GDALException: Could not open the datasource at "./uploads/shapefiles/multipoint.shp"
Вернуться на верх