【发布时间】:2020-06-10 04:56:25
【问题描述】:
我正在开发一个使用地理空间数据的小型网页。我使用 GeoPandas 和 Shapely 在 Python 中进行了初步分析,并试图以此构建网页。问题是,在使用 Django 时,我似乎找不到将形状文件存储为常量对象的方法。每次请求对 shapefile 进行操作时,我都需要从源加载数据。这需要大约 6 秒,而标准数据帧深拷贝 df.copy() 需要几分之一秒。有没有一种方法可以在 Django 中存储一个数据框,可以由视图访问和深度复制,而无需重新读取 shapefile?
【问题讨论】:
-
你是如何运行 Django 的?在典型使用中,它应该保持运行并且应该能够将对象存储在内存中。你是如何“存储”它的?
-
目前,我只有一个发布请求,它调用了一个从文件加载数据帧的函数,根据请求对其进行过滤,并返回所需的信息。该文件永远不会真正存储在内存中,因为它是在函数调用中加载的。我想我最困惑的是我实际上能够在 django 项目中实例化一个对象,我可以确保在运行时实例化并且可以通过我的请求访问。
-
我通常在AppConfig的ready方法中设置这样的变量。这个 SO 问题解决了这个问题:stackoverflow.com/questions/28907933/…
标签: python django geopandas shapely