GoogleMV to Arcgis

0 голосов
спросил 15 Фев, 07 от Printman (700 баллов) в категории Программные продукты Esri

Здравствуйте Все!

Кто нибудь сталкивался с импортом в Arcgis (Arcview) растровых данных из Ozi Explorer (c файлами привязки *.map)? Если да - то как решил для себя эту задачу?
Второй вопрос интерестнее  - Есть проблема с файлом-привязки в формате - GeoJPEG (.jgw )
Попытаюсь ее кратко сформулировать:
Google Earth и Google_MV Выдают результат в проекции UTM, (ну если по честному, то на самом деле в плановой проекции снимка)..., а файл привязки - Google_MV записывает в градусах (WGS84).
Для того чтобы в Arcgis (равно и Mapinfo) снимок отображался также как в Google_MV - файлы привязки должны содержать не градусные координаты, а метрические (оптимально в зональной проекции UTM или Гаусса-Крюгера). Возможно что для территории СССР при выборе Гаусса-Крюгера искажения при перепроектировании "картинки" будут даже меньше.
Т.е. файлы привязки которые делает Google_MV (как это не печально) совершенно неприменимы для работы в Arcgis. Снимок грузиться с этим файлом привязки в растянутом виде (так и должно быть с точки зрения математики), но дело в том что Arcgis (и вообще никто) не умеет "на-лету" менять проекцию растров (хотя векторные данные они прекрасно перепроектируют).
Как решается задача по привязки снимка полученого из Google_MV в Arcgis:
1. Нужно взять файл привязки (любой .map, .tab, .jgw - без разницы)
2. Вытащить оттуда координаты (в десятичных градусах - широта, долгота)
3. Выбрать наиболее подходящую зональную проекцию (по ближайшему осевому меридиану 6° зоны UTM или GK1942)
4. Перепроектировать 4 угловые точки (тики) из градусной системы координат в проекцию
(это можно сделать с помощью различных утилит типа Geographic Transformer или с помощю встроенных функций в Arcview, Mapinfo)
5. Записать полученные цифры в файл привязки
6. В варианте Arcgis вообще проще руками привязать снимок по тикам (поскольку в файле  .jgw записываеться центр снимка + даются параметры его растрового масштаба и координат в пикселях) Т.е. можно пересчитать его - но это + еще лишние операции

Я сегодня убил пол-рабочего дня в попытке найти какой-нибудь программный способ решения этой задачи, к сожалению достаточно напряженный мониторинг специализированных ресурсов WEB не дал практически никакого результата..
Думаю что задача "решается на раз" программером средней квалификации, но никто почему-то не озадачился этим....

Или может кто-то уже это решил?

11 Ответы

0 голосов
ответил 15 Фев, 07 от geologic (39,860 баллов)

Че-то у вас в каше всё, нельзя ли почетче задачу? При чем здесь ОЗИ, если вам нужен GoogleMV? С последней я не работаю: собсно, зачем, если задача импорта данных из Гугл решена в принципе, безо всяких особых специальных программ. Ну а сам файл привязки ОЗИ прозрачный, текстовой, его понять несложно. Для привязки даются географические координаты, которые на лету перепроецируются в UTM (для топокарт). Поскольку снимки гугл даются в обычном меркаторе на сфере, то соответственно.

0 голосов
ответил 15 Фев, 07 от Printman (700 баллов)

Ну короче 2 задачи, но взаимосвязанные, поэтому обобщил в одну тему:

Задача №1: кто знает программу типа tic2tic способную конвертировать файл .map в файлы привязки TIF(.tfw) и JPEG (.jgw)
(очень простой вопрос)
 
Задача №2: Этот путь мне знаком (который описывает geoloogic) я знаю.... Гугла дает может и в Меркаторе на сфере, но координаты он дает не проекционные а градусные, собственно задача - софтверно их преобразовать (а) в выбранную  зональную проекцию ГК1942 (б) преобразовать их из формата 9 тиков (OZI) в файл привязки - (.jgw)
Как это руками сделать я знаю (можно как предложил geologic), можно через Gogle_MV + Arcgis (через пункты 1-6, описанные в 1 "посте") мне второй способ удобнее...
Вопрос - как это автоматизировать ?
0 голосов
ответил 15 Фев, 07 от Printman (700 баллов)
Ну нащупал путь через формат .poly, упрощающий процесс, наверное он будет самым простым для решения задачи № 2
 
Остается вопрос про задачу #1, поскольку есть массив привязанных растров в OZI и руками запихивать это не хочется...
 
0 голосов
ответил 25 Фев, 07 от valery (7,040 баллов)
По преобразованию привязок OZI <-> ArcMap - неужели этого до сих пор нет? Удивительно.
У меня пока руки не доходят Superoverlay под OZI заточить еще. Если такого действительно нет, то вопрос более актуален. Там все прозрачно, так что нет проблем безо всяких ArcGIS требуемый код для распознавания и генерации привязок сделать. А Tiling дает механизмы для загрузки в GPS.

Я не совсем понял, зачем перепроецировать растры вообще. Портить их только. Если указать им проекцию WGS-84 то нет проблем использовать их во фреймах и с GСS.

Сам пользую для присвоения привязок всем векторам-растрам старый свой скрипт (немного модифицированный стандартный) для ArcCatalog.

В ArcCatalog присваивает систему координат всем выбранным растрам-векторам ту, которую берет из первого ВЫБРАННОГО слоя. Можно сначала кликнуть в слой с установленной системой координат, а потом с Shift или Ctrl в остальные. Также он и сбрасывает систему координат. Можете и дальше дорабатывать если надо. Там никаких проверок на типы объектов, если попадают данные без системы координат (dbf например), то он не работает.

Public Sub copyspatialref()
'This routine will copy the spatial reference from the first object
'selected in ArcCatalog to all the other selected raster datasets
Dim pGxApp As IGxApplication
Dim pGxObj As IGxObject
Dim pDS As IDataset
'Dim pRasterDs As IRasterDataset
Dim pGeoDS As IGeoDataset
Dim pGDSSchemaEdit As IGeoDatasetSchemaEdit
Dim pGxObjects As IEnumGxObject
Dim i As Long
  i = 1
  Set pGxApp = Application
  'get the selected objects from ArcCatalog
  Set pGxObjects = pGxApp.Selection.SelectedObjects
  pGxObjects.Reset
  Set pGxObj = pGxObjects.Next
 
  Do Until pGxObj Is Nothing
    Set pDS = pGxObj.InternalObjectName.Open
    Set pRasterDs = pDS
    If i = 1 Then
      'Use the first selected object as the source spatial reference
      Set pGeoDS = pRasterDs
    Else
      Set pGDSSchemaEdit = pRasterDs
      If pGDSSchemaEdit.CanAlterSpatialReference = True Then
        'copy the spatial reference to the datasets
        pGDSSchemaEdit.AlterSpatialReference pGeoDS.SpatialReference
      End If
    End If
    i = i + 1
    Set pGxObj = pGxObjects.Next
  Loop
End Sub


0 голосов
ответил 26 Фев, 07 от Printman (700 баллов)

To Valery

1. Ага, может плохо искал, но не нашел программного преобразователя координат напрямую из формата привязки .map в файлы привязок ESRI (для TIF и JPG), действительно странно..
2. Речь шла не о трансформации растров, а о преобразовании форматов привязок в Google MV там для спроецированных данных (меркатор на сфере) файл привязки выдаеться в формате градусов WGS84. Речь шла именно о преобразовании его в соответсвии с растром (системы координат растра)
0 голосов
ответил 22 Авг, 08 от Holger (19,360 баллов)

Получилось ли что с привязкой растров из GoogleMV в Аркмапе?

0 голосов
ответил 26 Авг, 08 от Nadiia (2,040 баллов)

Получилось ли что с привязкой растров из GoogleMV в Аркмапе?



можно попробовать в googlemv вытащить снимок одним кускомс помощью инструмента склеивание- выкачивание. получается один большой растр с известными координатами верхнего левого и нижнего правого угла.
а потом уже его привязать.
не самый лучший вариант конечно, но пока лучше не придумала
0 голосов
ответил 27 Авг, 08 от Holger (19,360 баллов)
Кстати, заметил неприятную вещь- при склеивании образуются пропуски в размере пиксела на границах кусков (по краям), линия в результате. Это только у меня так, или я что-то не так сделал ?
0 голосов
ответил 27 Авг, 08 от Mihail1 (4,560 баллов)
Если у Вас есть растр из GoogleMV с привязкой - назначьте ему в АркКаталоге  WGS84...Потом откройте в Мапе в проекции Меркатора и экспортируйте в новый файл.
Если GoogleMV не куплена и не дает привязку в ArcGis - потратьте 150 рублей и купите...
0 голосов
ответил 27 Авг, 08 от Holger (19,360 баллов)
А по поводу состыковки привязанных кусков друг  с другом?
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...