Чем может быть вызвано смещение коорд. на карте на 10 минут?

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
DevGis
Участник
Сообщения: 78
Зарегистрирован: 29 авг 2013, 10:55
Репутация: 1

Чем может быть вызвано смещение коорд. на карте на 10 минут?

Сообщение DevGis » 07 окт 2013, 16:41

Формирование карты (карта OSM) mxd происходит в два этапа:

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);
                 ... 
b) при создании набора таблиц RasterDataset из Mosaic Dataset-ов в gdb

Код: Выделить всё

                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;
                 ....
с) при формировании одной карты mxd их кучи баз gdb

Код: Выделить всё

            ISpatialReferenceFactory sRefEnv = new SpatialReferenceEnvironment();
            IProjectedCoordinateSystem newGeoCoord =
                sRefEnv.CreateProjectedCoordinateSystem((int)esriSRProjCS2Type.esriSRProjCS_WGS1984WorldMercator);
            map.SpatialReference = newGeoCoord;
            md.Save();
Последний раз редактировалось DevGis 07 окт 2013, 23:07, всего редактировалось 1 раз.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей