Я работаю над считывателем карт s57 с использованием пакета OpenMap TM от BBN Technologies. Я хочу, чтобы моя программа полностью покрасила карту и позволила пользователю нарисовать карту и сохранить рисунок. Я использовал gdal ogr2ogr для преобразования из файла ".000" в формат " .shp". Моя проблема в том, что я не могу читать глубины из сгенерированного файла «SOUNDG.dbf». Я читаю файл SOUNDG.shp, но не связанные с ним глубины. Я работал над примером openmap, изменяя файл с правами. Я также хочу программно программировать программу. Я также хочу настроить меню, но я борюсь за понимание рабочего процесса, наложенного библиотекой openmap. Можете ли вы указать мне на хороший учебник или пример или, по крайней мере, рассказать мне, как читать значения глубины и связывать их с точками зондирования? Спасибо!BBN Openmap Java read SOUNDG.dbf
ответ
Для OpenMap файл dbf будет считаться объектом DbfTableModel. В итоге вы получите объект DbfTableModel, содержащий набор записей (строк) со списком значений (каждый из которых представляет значение в столбце). Вы можете узнать информацию о столбцах из DbfTableModel.
Порядок записей в DbfTableModel будет соответствовать порядку EsriGraphics, содержащемуся в EsriGraphicList, созданном из файла shp. Вы используете индекс каждого, чтобы перекрестно ссылаться на другой.
Если вы просто создать EsriGraphicList со статическим методом getEsriGraphicList, он будет искать файл DBF и сохранить объект DbfTableModel в EsriGraphicList атрибуты под ключ DBF_ATTRIBUTE:
DbfTableModel DBF = (DbfTableModel) esriGraphicList. GetAttribute (DBF_ATTRIBUTE);
Вы также можете использовать методы для чтения dbf напрямую с помощью DbfTableModel.