Страница 1 из 2
Конвертация из MapInfo.
Добавлено: 27 янв 2010, 14:34
beketata
Есть карта города в формате MapInfo (WGS-84). Содержит несколько слоев, в числе прочих - здания и районы города.
Большинство полигонов, которыми изображены здания отображаются в MapInfo в виде прямоугольников , т.к. эти здания имеют имено прямоугольную форму.

После конвертации этого слоя в формат ESRI Shape средствами встроенного в MapInfo конвертера и открытия этого shp файла в программе ArcMap все зданию выглядят, как сплюснутые по вертикали и заваленные на одну сторону ромбы.

Как сделать, чтобы этот shp файл отображался точно в таком же виде, как и исходный в MapInfo?
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 14:40
SS_Rebelious
Карта - это просто несколько слоёв, или они объединены в рабочий набор? Могу предположить, что в рабочем наборе выставлена какая-то прямоугольная СК, в которую Ваши слои перепроецируются на лету. Советую, шейпы получившиеся попробовать открыть в соответствующей зоне СК-42 или СК-95 - посмотрите, что будет.
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 14:57
beketata
Данная карта в MapInfo - это рабочий набор, который содержит несколько слоев. И для карты в целом, и для каждого слоя в отдельности установлена проекция "Longitude/Latitude (WGS 84)".
Встроенный в MapInfo конвертер не требует открытия рабочего набора, в нем указывается необходимый для конвертации единичный TAB файл MapInfo и имя создаваемого shp файла.
Не знаю, как можно в ArcMap
"открыть шейп файл в соответствующей зоне"
?
После открытия я могу посмотреть свойства этого SHP файла, они следующие:
Код: Выделить всё
Data Type: Shapefile Feature Class
Shapefile: C:\Maps\Здания_region.shp
Geometry Type: Polygon
Projected Coordinate System: WGS_1984_ARC_System_Zone_13
Projection: Gauss_Kruger
False_Easting: 0,00000000
False_Northing: 0,00000000
Central_Meridian: 0,00000000
Scale_Factor: 1,00000000
Latitude_Of_Origin: 0,00000000
Linear Unit: Meter
Geographic Coordinate System: GCS_WGS_1984
Datum: D_WGS_1984
Prime Meridian: Greenwich
Angular Unit: Degree
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:09
SS_Rebelious
Projected Coordinate System: WGS_1984_ARC_System_Zone_13
Projection: Gauss_Kruger
Это спроецированная система координат, не WGS84 широта/долгота. Попробуйте в аркмэпе в свойствах фрейма выставить проекцию WGS84. Если опять будет не то, что надо, конвертируйте один из слоёв мапинфо в MIF и покажите нам строчку CoordSys из него.
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:21
beketata
Это строка CoordSys из MIF файла:
В свойствах SHP файла указано две проекции:
Projected Coordinate System: WGS_1984_ARC_System_Zone_13
и
Geographic Coordinate System: GCS_WGS_1984
Какую из них вы предлагаете поменять на WGS84? Или я не правильно понял ваш совет
в свойствах фрейма выставить проекцию WGS84
?
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:25
Boris
беда у вас большая и даже очень. либо вы сами, либо кто-то еще из умников рисовал домики примитивом "прямоугольник". Он славен тем, что всегда на экране выводится прямоугольником стороны которого параллельны сторонам окна. В реальности прямоугольник хранится 4-мя координатами = 2-мя парами координат задающими диагональ.
При переходе к другим форматам (SHP) прямоугольник превращается в полигон, ориентированный как задано его диагональю. Из-за того СК долгота-широта эти диагонали располагаются как бог на душу положит, после чего как правило теряют свою исходную форму АБСОЛЮТНО.
Единственное решение, кроме превратить все в полигоны в самой MapInfo - испугаться и поправить руками, это превращать прямоугольники в центроиды, а на центроидах строить регионы-прямоугольники, если конечно домики одинакового размера. Но в самой MapInfo - это сделать можно практически только в ручную. Относительно ArcGIS - не скажу вовсе, не представляю даже как.
---
Но в общем случае - дело практически безнадежно. В исходном файле требуемая вам информация УЖЕ отсутствует. Убедиться в этом можно сохранив данные в любую спроекцированную систему координат - самое простое в ближайшую UTM.
---
Пока писал ответ вы выложили картинку. Может все и не так все печально. Выложите пример в виде фрагмента исходных данных. Так по картинке все похоже на неверную проекцию - не та зона. Может вы зоны UTM с зонами СК-42 перепутали?
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:37
beketata
В этом слое нет ни одного примитива "прямоугольник". Все домики нарисованы регионами. Вот, для примера исодные данные одного из низ из MIF файла:
Region 1
5
76.938348 43.315451
76.938985 43.315451
76.938985 43.315564
76.938348 43.315564
76.938348 43.315451
Pen (1,2,3355443)
Brush (2,2225069,16777215)
Center 76.938666 43.315507
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:37
SS_Rebelious
В арке идёте "вид->свойства фрейма данных->система координат->предустановленные->географические системы координат->проекции мира->WGS84" (view->data frame properties->coordinate system->predefined->geographic coordinate systems->world->WGS84)
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:41
beketata
Boris писал(а):по картинке все похоже на неверную проекцию - не та зона. Может вы зоны UTM с зонами СК-42 перепутали?
А что значит перепутал? Я ведь никакой зоны не выбирал, просто сконвертировал слой из MapInfo в SHP и открыл полученный файл в ArcMap...
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 15:48
beketata
SS_Rebelious писал(а):В арке идёте "вид->свойства фрейма данных->система координат->предустановленные->географические системы координат->проекции мира->WGS84" (view->data frame properties->coordinate system->predefined->geographic coordinate systems->world->WGS84)
Сделал так, как вы сказали. Визуально абсолютно ничего не изменилось.
После этого в свойствах SHP отображается следующее:
Data Type: Shapefile Feature Class
Shapefile: C:\Maps\\Здания_region.shp
Geometry Type: Polygon
Geographic Coordinate System: GCS_WGS_1984
Datum: D_WGS_1984
Prime Meridian: Greenwich
Angular Unit: Degree
Re: Конвертация из MapInfo.
Добавлено: 27 янв 2010, 16:12
beketata
Вот вырезал несколько домиков из тех, что на картинке из моего первого сообщения
и сохранил их в MIF формате.
Пробовал загружать этот MIF встроенным в ArcCatalog "MIF to Shape file" конвертером - результат аналогичный, сплющенные ромбовидные домики.
P.S. Кстати, я сейчас изучаю Silverlight SDK Samples, так вот там во всех примерах на карте америки точно такая же петрушка. Все районы города ( например Нью-Йорка ) отображаются в виде ромбов, что наводит на определенные мысли...
Эти примеры можно посмотреть онлайн

Re: Конвертация из MapInfo.
Добавлено: 28 янв 2010, 00:02
Boris
никакой мистики. все нормально показывается. зоны UTM = зона Гаусс-Крюгер+30

- Clipboard02.jpg (58.04 КБ) 17651 просмотр
я правда не конвертировал - так засунул через Data Interoperability
Re: Конвертация из MapInfo.
Добавлено: 28 янв 2010, 14:02
beketata
В конце концов нашелся способ, с помощью которого удалось нормально сконвертировать TAB файл из MapInfo в SHP:
В программе ArcCatalog выбираем нужный TAB файл. По щелчку правой кнопки мышки на этом файле в контекстном меню выбираем "Export -> To Shapefile" и получившийся SHP файл после открытия его в ArcMap отображается нормально, т.е. домики выглядят прямоугольниками. Причем, ни на одном этапе этого конвертирования я не выбирал и не изменял ни систему координат, ни проекцию.
P.S. Кстати, на форуме ESRI я задал вопрос по поводу того, почему в Silverlight SDK примерах районы на карте америки отображаются в виде ромбиков и получил ответ. Может кому нибудь пригодится:
Re: Конвертация из MapInfo.
Добавлено: 03 окт 2011, 17:31
van_npol
У меня вопрос. Мне нужно из оцифрованых изолиний, которые изначально оцифрованы в мапинфо, построить карту уклона и другие растры и 3D. Tab Reader открыл таб-файл и я конвертировал его в слой. Дальше на основе изолиний создал Tin. Но из тина ничего не получается. Аркгис не читает высоты. Как можно другим способом конветировать в шейп или изменить свойства слоя. Помогите пожайлуста.
Re: Конвертация из MapInfo.
Добавлено: 11 окт 2011, 05:14
Донецков
- ... построить карту уклона и другие растры и 3D... - а зачем тогда строили TIN, если нужно было GRID...