Не очень понял, при чем здесь ISpatialReferenceFactory.CreateGeographicCoordinateSystem и как это использовать...
Еще раз повторюсь. Нужно из проекции, в которой данные лежат в БД, получить градусы. Проекция в метрах.
Я делаю так (Java):
//Получение проекции
ProjectedCoordinateSystem projCoorSys = new ProjectedCoordinateSystem(map.getSpatialReference());
//Расположение центрального меридиана
double centrMer = projCoorSys.getCentralMeridian(true);
//Смещение по осям
double falseEasting = projCoorSys.getFalseEasting();
double falseNorthing = projCoorSys.getFalseNorthing();
java.awt.Point transPoint;
// в transPoint хранятся X и Y координаты точки в проекции, т.е. в метрах
IUnitConverter unitConverter = new IUnitConverterProxy(serverObjectContext.createObject(UnitConverter.getClsid()));
//Конвертация в градусы
double convUnitX = unitConverter.convertUnits(transPoint.getX()-falseEasting, esriUnits.esriMeters, esriUnits.esriDecimalDegrees)+centrMer;
double convUnitY = unitConverter.convertUnits(transPoint.getY()-falseNorthing, esriUnits.esriMeters, esriUnits.esriDecimalDegrees);
covUnitX выдает результаты, похожие на правду, а вот в convUnitY получается результат явно неправильный, погрешность которого меняется в зависимости от широты.
Так что вопрос остается открытым, как же все-таки получить у карты, которая хранится в проекции координаты в виде градусов?