我正在使用 BBN Technologies 的 OpenMap TM 软件包开发 s57 地图阅读器。我希望我的程序将地图完全变红,并让用户在地图上绘图并保存绘图。我使用 gdal ogr2ogr 将“ .000”格式转换为“ .shp”文件。我的问题是我无法从生成的“SOUNDG.dbf”文件中读取深度。我正在阅读“SOUNDG.shp”文件,但不是相关的深度。我通过修改属性文件处理了 openmap 示例。我还想以编程方式处理该程序。我也想自定义菜单,但我很难理解 openmap 库强加的工作流程。您能否指出一个好的教程或示例,或者至少告诉我如何读取深度值并将它们与探测点相关联?感谢!
问问题
196 次
1 回答
0
对于 OpenMap,dbf 文件将由 DbfTableModel 对象读取。您最终会得到一个 DbfTableModel 对象,该对象包含一组记录(行)和一个值列表(每个值代表一列中的一个值)。您可以从 DbfTableModel 中找到列信息。
DbfTableModel 中记录的顺序将与从 shp 文件创建的 EsriGraphicList 中包含的 EsriGraphics 的顺序相匹配。您使用每个索引来交叉引用另一个。
如果您只是使用 getEsriGraphicList 静态方法创建 EsriGraphicList,它将搜索 dbf 文件并将 DbfTableModel 对象存储在 DBF_ATTRIBUTE 键下的 EsriGraphicList 属性中:
DbfTableModel dbf = (DbfTableModel) esriGraphicList.getAttribute(DBF_ATTRIBUTE);
您还可以使用 DbfTableModel 直接读取 dbf 的方法。
于 2013-11-30T04:08:30.497 回答