CoordSysFactory ================= .. currentmodule:: axioma.cs .. class:: CoordSysFactory Данный класс является фабрикой для создания координатных систем и проекций .. py:staticmethod:: defaultCoordSysFactory() Экземпляр класса, определенный по-умолчанию :return: Созданный при инициализации приложения экземпляр :rtype: :class:`~axioma.cs.CoordSysFactory` .. py:method:: LatLongCoordSystem() Инициализированная координатная система Широта/Долгота :return: Ссылка на проекцию :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: currentCoordSystem() Координатная система, установленная как текущая :return: Ссылка на установленную КС :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: setCurrentCoordSystem(coordSystem) Установка текущей координатной системы :param coordSystem: входное значение :type coordSystem: :class:`~axioma.cs.CoordSystem` .. py:method:: createFromPRJ(prj_str) Создание координатной системы из строки MapBasic :param prj_str: строка MapBasic :type prj_str: :class:`str` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: createFromProj4(proj4_str) Создание координатной системы из строки proj4 :param proj4_str: строка proj4 :type proj4_str: :class:`str` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: createFromEPSG(epsg) Создание координатной системы из `EPSG `_ :param epsg: Стандартное значение EPSG :type epsg: :class:`int` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: createFromOracleSRID(srid) Создание координатной системы на основе внутреннего кода РСУБД Oracle :param srid: Код :type srid: :class:`int` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: createFromWKT(wkt_str) Создание координатной системы из строки WKT :param wkt_str: строка WKT :type wkt_str: :class:`str` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: createNonEarth(linearUnitId) Создание декартовой координатной системы :param linearUnitId: код единицы измерения координатной системы. См. LinearUnit :type linearUnitId: :class:`int` :return: Результирующая координатная система. None, если результат отрицательный :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: userCoordSystem() Контейнер хранения пользовательских координатных систем :rtype: :class:`~axioma.cs.UserCoordSystem` .. py:method:: unitById(codeMapinfo) Получение объекта единиц измерения расстояний по его идентификатору :param codeMapinfo: Код единицы измерения :type codeMapinfo: :class:`~axioma.cs.LinearUnit.UnitCode` :rtype: :class:`~axioma.cs.LinearUnit` .. py:method:: areaUnitById(codeMapinfo) Получение объекта единиц измерения площадей по его идентификатору :param codeMapinfo: Код единицы измерения :type codeMapinfo: :class:`~axioma.cs.LinearUnit.UnitCode` :rtype: :class:`~axioma.cs.LinearUnit` Пример использования: .. code-block:: python from axioma.cs import * # Инициализация по значению EPSG cs_latlon = CoordSysFactory.defaultCoordSysFactory().createFromEPSG(4326) if cs_latlon is not None: print ("Ok: %s" % cs_latlon.description()) # Инициализация координатной системы из строки MapBasic PRJ cs_merc = CoordSysFactory.defaultCoordSysFactory().createFromPRJ("Earth Projection 12, 62, \"m\", 0") # Инициализация координатной системы из строки Proj4 robin_proj4_str = "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=clrk66 +towgs84=-8,160,176,-0,-0,-0,0 +units=m +no_defs" robin_proj4 = CoordSysFactory.defaultCoordSysFactory().createFromProj4(robin_proj4_str) # Инициализация координатной системы из строки WKT ll_wkt_str = "GEOGCS[\"unnamed\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563],TOWGS84[0,0,0,-0,-0,-0,0]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]]" ll_wkt = CoordSysFactory.defaultCoordSysFactory().createFromWKT(ll_wkt_str) # Получение единицы измерения расстояния по ее идентификатору unit = CoordSysFactory.defaultCoordSysFactory().unitById(LinearUnit.MIUnit_Kilometer)