.net - 存储点列表的最佳方式

标签 .net

我想存储(海量存储)点列表;更准确地说,它是一个列表,其中包含许多未定义(但不超过 200)的坐标组,其中每组代表一个区域(一个矩形)。例如,这个区域可以是 Rect结构。

对我来说最好的方法是什么:
按重要性排序:

  1. 存储内存中占用的空间(显然越少越好)。
  2. 轻松修改文件(最好能够识别和更改单个坐标,而不是因更改而重写整个文件)。
  3. 快速阅读。
  4. 加快写作速度。

我已经对如何设置工作有了一些想法(例如由自定义类管理的简单文本格式、序列化、访问数据库(我只能使用访问数据库),...),但是什么是最佳解决方案?

最佳答案

这正是大多数 GIS 存储格式所解决的问题。有许多不同的格式可用,每种格式都有不同的优点和缺点。

OGR项目支持many formats对于 GIS 风格的矢量数据,几乎所有这些都支持存储具有您所追求的大部分特征的区域特征。这里的“较新”之一是 ESRI's File Geodatabase格式,.NET 通过 OGR 的 C# 包装器支持该格式。

或者,许多数据库系统(例如 SQL Server、PostgreSQL、Oracle 等)都支持将空间数据直接存储在数据库中。根据您的需求,这可能有点“重量级”,但将支持非常高的性能和可扩展性。

关于.net - 存储点列表的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001080/

相关文章:

c# - ArrayOfXElement 到 C# 中的数据集

.net - 说, "Assembly successfully added to the cache"但它不在缓存中

c# - 如何在 C# 中使用 PInvoke 强制对 dll 函数进行参数计数

c# - 对于 64 位架构上的算术,.NET 是否将 Int32 提升为 Int64?

.net - 覆盖 ASP.NET MVC 中的授权属性

C# 按钮不重新定位自己

.net - 将正则表达式与一个单词的可变长度后视和另一个单词的可变长度负后视相匹配?

c# - 如何将文本文件的行添加到列表框上的各个项目中 (C#)

c# - 如果 WPF comboBox 中有相同的项目,则不会触发 SelectionChanged 事件

.net - 不在字符集中的 HTML 编码字符