我想存储(大容量存储)点列表;更准确地说,它是一个包含未定义(但不超过200)个坐标组的数字的列表,其中每个组代表区域(矩形)。此区域可以是例如Rect
结构。
对我来说最好的方法是什么:
按重要性排序:
我已经对如何设置工作有了一些想法(例如由自定义类管理的简单文本格式,序列化,访问数据库(我只能使用访问数据库),...),但是什么是最好的解决方案?
答案 0 :(得分:1)
SQL Server具有可用于存储多边形的本机空间类型格式
http://technet.microsoft.com/en-us/library/bb964711
http://technet.microsoft.com/en-us/library/bb895267.aspx
对于操作,您可以将数据加载到对象中以读取/修改/验证每个多边形中的新点。
编辑: Jason Follas在这里对空间类型进行了很好的探索:
http://jasonfollas.com/blog/archive/2008/03/14/sql-server-2008-spatial-data-part-1.aspx
编辑:我看到编辑的OP因为他只能使用访问数据库,所以我的答案不再适用......但我会保留原样,以防有人发现这个问没有这样的数据库限制。
对于OP,仅使用访问数据库会限制您的能力。
我会考虑两个表:区域和点,只有简单的一对多关系。
答案 1 :(得分:1)
这正是大多数GIS存储格式所解决的问题。有许多不同的格式,都有各种优点和缺点。
OGR项目支持many formats用于GIS样式矢量数据,几乎所有这些都支持存储具有您所追求的大部分特征的区域特征。其中一个“较新”的格式是ESRI's File Geodatabase格式,在.NET中通过OGR的C#包装器支持。
或者,许多数据库系统(如SQL Server,PostgreSQL,Oracle等)支持直接在数据库中存储空间数据。根据您的需要,这可能有点“重量级”,但将支持非常高的性能和可扩展性。