Чем может быть вызвано смещение коорд. на карте на 10 минут?
Добавлено: 07 окт 2013, 16:41
				
				Формирование карты (карта OSM) mxd происходит в два этапа:
1) для тайлов строятся привязки (ворлд файлы .w и файлы aux.xml, aux.xml кстати для всех тайлов одинаков)
2) из тайлов формируется mosaic dataset, который затем преобразовывается в raster dataset(для переносимости карты я так сделал). При формировании карты из тайлов для любой карты всегда устанавливается тип проекции esriSRProjCS_WGS1984WorldMercator. Указывается в 3 программах
a) при формировании из исходных данных Mosaic Dataset - ов
b) при создании набора таблиц RasterDataset из Mosaic Dataset-ов в gdb
с) при формировании одной карты mxd их кучи баз gdb
			1) для тайлов строятся привязки (ворлд файлы .w и файлы aux.xml, aux.xml кстати для всех тайлов одинаков)
2) из тайлов формируется mosaic dataset, который затем преобразовывается в raster dataset(для переносимости карты я так сделал). При формировании карты из тайлов для любой карты всегда устанавливается тип проекции esriSRProjCS_WGS1984WorldMercator. Указывается в 3 программах
a) при формировании из исходных данных Mosaic Dataset - ов
Код: Выделить всё
                ISpatialReferenceFactory spatialrefFactory = new SpatialReferenceEnvironmentClass();
                ISpatialReference mosaicSrs = spatialrefFactory.CreateProjectedCoordinateSystem(
                    (int)(esriSRProjCS2Type.esriSRProjCS_WGS1984WorldMercator));
                 ...
                 theMosaicDataset = mosaicExt.CreateMosaicDataset(MDParameters.mosaicDatasetName, //вызов
                     mosaicSrs, creationPars, MDParameters.configKeyword);
                 ... 
Код: Выделить всё
                ISpatialReference mosaicSrs;
                ISpatialReferenceFactory4 spatialrefFactory;
                spatialrefFactory = new SpatialReferenceEnvironmentClass();
                mosaicSrs = spatialrefFactory.CreateProjectedCoordinateSystem(
                    (int)(esriSRProjCS2Type.esriSRProjCS_WGS1984WorldMercator));
              
                // вызов
                 IFunctionRasterDataset functionDS;
                 ISaveAs2 rasterSaveAs;
                 ...
                 functionDS = (IFunctionRasterDataset)mosaic;
                 functionDS.RasterInfo.NativeSpatialReference = mosaicSrs;
                 rasterSaveAs = (ISaveAs2)functionDS;
                 ....
Код: Выделить всё
            ISpatialReferenceFactory sRefEnv = new SpatialReferenceEnvironment();
            IProjectedCoordinateSystem newGeoCoord =
                sRefEnv.CreateProjectedCoordinateSystem((int)esriSRProjCS2Type.esriSRProjCS_WGS1984WorldMercator);
            map.SpatialReference = newGeoCoord;
            md.Save();