DatabaseMapinfoMapcatalog
================================

.. currentmodule:: axioma.core.dp

.. class:: DatabaseMapinfoMapcatalog

	Работа с таблицей метаданных mapinfo_mapcatalog

		.. py:method:: createStructure(fillData = False)

			Создает таблицу mapinfo_mapcatalog на сервере

			:param fillData: Заполняет таблицу данными из системного словаря. Вызывается метод setUpFromMetadata
			:type fillData: :class:`bool`

		.. py:method:: removeAll()

			Удаляет mapinfo_mapcatalog на сервере

		.. py:method:: setUpFromMetadata()

			Заполняет таблицу mapinfo_mapcatalog исходя из метаданных системного словаря БД

		.. py:method:: rect(owner, table)

			Ограничивающий прямоугольник

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Результирующий прямоугольник
			:rtype: :class:`~PyQt5.QtCore.QRectF`

		.. py:method:: coordSystem(owner, table)

			Координатная система

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Координатная система
			:rtype: :class:`~axioma.cs.CoordSystem`

		.. py:method:: mapinfoStyleString(owner, table)

			Строка со стилем

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Стиль в формате MapBasic
			:rtype: :class:`str`

		.. py:method:: styleAttributeName(owner, table)

			Наименование атрибута таблицы, хранящий стиль оформления

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Атрибут
			:rtype: :class:`str`

		.. py:method:: geometryAttributeName(owner, table)

			Наименование геометрического атрибута таблицы

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Наименование
			:rtype: :class:`str`

		.. py:method:: styleInColumnTable(owner, table)

			Хранится ли стиль в таблице

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: True, если да
			:rtype: :class:`bool`

		.. py:method:: xyColumnNames(owner, table)

			Поля хранения координат X и Y

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: Поля хранения координат X и Y 
			:rtype: :class:`list` [ :class:`str` ]

		.. py:method:: typeStoreObjects(owner, table)

			Тип хранимой пространственной информации в таблице

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:rtype: :data:`TypeObject`

		.. py:method:: setRect(owner, table, rect)

			Задание нового ограничивающего прямоугольника таблицы. Значение будет сохранено в mapinfo_mapcatalog.

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param rect: Прямоугольник
			:type rect: :class:`~PyQt5.QtCore.QRectF`

		.. py:method:: setXYColumnNames(owner, table, names)

			Задание нового ограничивающего прямоугольника таблицы. Значение будет сохранено в mapinfo_mapcatalog.

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param names: Пара наименований полей X и Y
			:type names: :class:`list` [ :class:`str` ]

		.. py:method:: setCoordSystem(owner, table, cs)

			Задание нового значение координатной системы. Значение будет сохранено в mapinfo_mapcatalog.

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param cs: Координатная система
			:type cs: :class:`~axioma.cs.CoordSystem`

		.. py:method:: setStyleAttributeName(owner, table, nameColumn)

			Задание наименования атрибута таблицы, в котором будет храниться стиль оформления. Значение будет сохранено в mapinfo_mapcatalog.

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param nameColumn: Наименование поля
			:type nameColumn: :class:`str`

		.. py:method:: setMapinfoStyleString(owner, table, str)

			Задание стиля оформления в формате MapBasic. Значение будет сохранено в mapinfo_mapcatalog.

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param str: Строка со стилем
			:type str: :class:`str`

		.. py:method:: checkExist()

			Проверяется, существует ли в базе данных таблица mapinfo_mapcatalog

			:return: True, если да. В противном случае False
			:rtype: :class:`bool`
			
		.. py:method:: tableRegistered(owner, table)

			Производится проверка, зарегистрирована ли таблица в каталоге

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:return: True, если да. В противном случае False
			:rtype: :class:`bool`
			
			
		.. csv-table:: Тип хранимого объекта :data:`TypeObject`:
				:header: "Наименование величины", "Значение", "Описание"

				Points, 0, "Точечные объекты"
				Lines, 1, "Линейные объекты"
				Regions, 2, "Площадные объекты"
				All, 3, "Объекты любого типа, кроме текстового"
				Text, 4, "Текстовые объекты"

		.. py:method:: registerTable(owner, table, geomFieldName, objType = All)

			Регистрация таблицы в каталоге

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`
			:param geomFieldName: Наименование поля с геометрией
			:type geomFieldName: :class:`str`
			:param objType: Тип хранимого объекта
			:type objType: :data:`TypeObject`

		.. py:method:: unregisterTable(owner, table)

			Удаляет регистрационные данные таблицы из каталога

			:param owner: Владелец таблицы
			:type owner: :class:`str`
			:param table: Наименование таблицы
			:type table: :class:`str`

Пример использования:

  .. code-block:: python
  
    # Работа с таблицей MAPINFO_MAPCATALOG
		def getMapcatalog(dataSource):
				mapCatalog = dataSource.mapinfoMapcatalog()
		# Ограничивающий прямоугольник таблицы
				print("B_RECT_CATALOG", mapCatalog.rect('public', 'rus_obl'))
		# Координатная система
				cs = mapCatalog.coordSystem('public', 'rus_obl')
				if cs is not None:
						print("COORDSYS_CATALOG", cs.prjStr())
		# Установка (в БД) наименования поля со стилем
				mapCatalog.setStyleAttributeName('public', 'rus_obl', 'style')
		# Установка (в БД) стиля
				mapCatalog.setMapinfoStyleString('public', 'rus_obl', 'Pen (1,2,0) Brush (2,255,16777215)')
