Страница 1 из 1

Уникальный идентификатор в таблице Mapinfo

Добавлено: 26 фев 2009, 18:37
cololeus
Подскажите пожалуйста, новичку, можно ли в таблице Mapinfo создать поле, у которого тип данных аналогичен integer identity в MS SQL или счетчику в MS ACCESS?

Re: Уникальный идентификатор в таблице Mapinfo

Добавлено: 27 фев 2009, 03:51
Boris
пусть ответ будет короче, чем вопрос - Можно. Он там уже есть, называется rowID
-----
теперь без шуток. вам это
а) в какой момент нужно?
б) для чего?
Хотите убедиться, что он там уже есть - сохраните любую таблицу в формат Access командой "Save Copy As..."
Это недооцененный формат MapInfo, при котором аттрибутивные данные хранятся в таблице Access, а геометрия в обычных файлах MapInfo. По поведению и обработке не отличается от обычных таблиц MapInfo никак.
Откройте БД - увидите при вашей таблице поле счетчика с названием MAPINFO_ID

Re: Уникальный идентификатор в таблице Mapinfo

Добавлено: 27 фев 2009, 17:38
cololeus
Огромное спасибо! Вы мне очень помогли, я запихивала данные из Mapinfo в Access через Таблица - Экспорт посредством формата DBF, а так куда удобнее.
Ситуация следующая: есть база данных по видам растений (сама база в Access, интерфейс на Delphi), для некоторых из видов есть точки произрастания, полученные с GPS, и импортированные в Mapinfo.
Для точки фиксируется ряд характеристик - градации численности, проективное покрытие, площадь,занятая видом, и т.п. Если вид в данной точке занимает площадь меньше 100 м2, значение площади вносится вручную, иначе фиксируется не только точка, но и полигон вокруг нее. Площади полигонов я посчитала функцией Area и добавила отдельным полем в таблицу полигонов в Mapinfo. И для точек, и для полигонов добавила поле ID вида (значение из Access).
Задачу посчитать суммарную площадь, занятую видом, я решила в Access и Delphi (закачала данные по точками и полигонам, добавила счетчики, в таблице точек добавила поле ID полигона, проставила значения, считаю суммарную площадь как сумму площадей полигонов для данного вида плюс сумму площадей точек, у которых ID полигона пустое),но хочу научиться решать эту задачу средствами Mapinfo.
Отсюда вопросы:
1. Как организовать связь между таблицей точек и таблицей полигонов?
2. Где правильнее хранить информацию по точкам, в таблицах Mapinfo или в Access, учитывая, что некоторые атрибутивные данные не вносятся ручками, а выбираются из справочных таблиц?

Re: Уникальный идентификатор в таблице Mapinfo

Добавлено: 01 мар 2009, 00:06
Boris
Честно, я ничего не понял. Для меня ваша структура данных осталась полной загадкой. Равно как и подсчеты чего-то в Access через Delphi. Access вроде и так успешно это сам делает, что тут просто загадка. Его запросы решают все известные мне виды запросов SQL, зачем здесь собственно Delhi ? Равно как и формы для заполнения в нем покрывают 98% из всех стандартных задач, включая выбор из справочника и т.п.
Попробуйте описать как именно выглядят исходные данные, как они попадают в БД, при чем здесь БД видов растений (это справочник?) и как собственно во всем этом полигоны (или точки) связаны со своими атрибутами?
Приведите пример как выглядят исходные данные.

Re: Уникальный идентификатор в таблице Mapinfo

Добавлено: 03 мар 2009, 15:33
Parlament
Boris писал(а):пусть ответ будет короче, чем вопрос - Можно. Он там уже есть, называется rowID

Красивый ответ =)))))