Как создать карту в MapBasic
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Как создать карту в MapBasic
Помогите начинающему!
Есть xls файлик координатами объектов, из которого хотел создать карту с нанесение символов на каждую строку в таблицу. Пробовал увидеть в окне MB в MapInfo, но ничего не увидел. Посмотрел help, думал сделать через функцию "создать символ", но не получилось. В открывшемся окне карты ничего нет. Помогите примером, пожалуйста!
Есть xls файлик координатами объектов, из которого хотел создать карту с нанесение символов на каждую строку в таблицу. Пробовал увидеть в окне MB в MapInfo, но ничего не увидел. Посмотрел help, думал сделать через функцию "создать символ", но не получилось. В открывшемся окне карты ничего нет. Помогите примером, пожалуйста!
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: Как создать карту в MapBasic
Простите, не совсем понимаю, что Вы хотите получить: символы в ячейках атрибутивной таблицы, или же точечные объекты на карте, построенные на основании табличных данных? Если последнее, то Вам следует воспользоваться меню "Таблица"->"Создать точечные объекты".
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Как создать карту в MapBasic
На таблице Excel такое не возможно без присоединения к ней географической информации.
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как создать карту в MapBasic
Но ведь присоединить графическую информацию к таблице Excel в MapInfo очень просто. Если у MapInfo версия меньше 9, надо сначала сохранить копию таблицы, открытой через Файл/Открыть, тогда эту таблицу можно будет редактировать (кажется, еще галку надо поставить "разрешить присоединять географические объекты). А в MapInfo 9 все проще, можно уже при открытии файла XLS выбрать галку "Создать копию в формате MapInfo для чтения/записи".
После этого можно идти в меню Таблица/Создать точечные объекты, и там выбирать к какой таблице создавать точки, каким стилем и из каких полей брать координаты.
Нужные команды при этом пропишутся в окне MapBasic
После этого можно идти в меню Таблица/Создать точечные объекты, и там выбирать к какой таблице создавать точки, каким стилем и из каких полей брать координаты.
Нужные команды при этом пропишутся в окне MapBasic

-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
Все правильно, я хотел создать точечные объекты на карте. Как это сделать в MapInfo я знаю, но в окне бейсика в этот момент прописывается не все, только создать карту, и все. Если скопировать в MB то в результате получается пустая карта, даже через сохранение и открытие карты, карта открывается, но пустая. Вот поэтуму и ищу у Вас провфессионалов, совета.
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как создать карту в MapBasic
Действительно, "Создать точечные объекты" - не команда, а целая утилита, не выводится в окне MapBasic.
Тогда вот код:
сначала надо установить нужную систему координат:
потом открываем таблицу Excel в MapInfo
сохраняем копию, чтоб можно было редактировать (и присоединяем графику к таблице)
в цикле по строкам таблицы создаем для каждой строки объект типа Point (считая, что X и Y содержатся в первых двух колонках)
Тогда вот код:
сначала надо установить нужную систему координат:
Код: Выделить всё
Set CoordSys ...
Код: Выделить всё
Register Table "файл с координатами.XLS" TYPE XLS Into "файл с координатами.TAB"
Open Table "файл с координатами.TAB" As Координаты
Код: Выделить всё
Commit Table Координаты As "таблица с точками.tab"
Close Table Координаты
Open Table "таблица с точками.TAB" As Точки_по_координатам
Create Map For Точки_по_координатам CoordSys ...
Код: Выделить всё
row_id = 1
Fetch First From Точки_по_координатам
While Not EOT (Точки_по_координатам)
Update Точки_по_координатам
Set Obj = CreatePoint( Col1, Col2 )
Where Rowid = row_id
row_id = row_id + 1
Fetch Next From Точки_по_координатам
Wend
Map From Точки_по_координатам
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Как создать карту в MapBasic
Все хорошо, но цикл там не присуствует.
Работает и быстрее, и надежнее, и проще.
Код: Выделить всё
Update Точки_по_координатам
Set Obj = CreatePoint( Col1, Col2 )
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как создать карту в MapBasic
действительно, оплошала ) спасибо
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
Update Точки_по_координатам
Set Obj = CreatePoint( Col1, Col2 )
А здесь нужно задавать какой именно символ, или по умолчанию ставится определенный?
Set Obj = CreatePoint( Col1, Col2 )
А здесь нужно задавать какой именно символ, или по умолчанию ставится определенный?
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
Update sector_5
Set Obj = CreatePoint(Lon, Lat)
Symbol(53,RGB(187,187,187),48,CHEYUS,0,0)
Что то не получается задать символ, который меня интересует. Что не так ?
Set Obj = CreatePoint(Lon, Lat)
Symbol(53,RGB(187,187,187),48,CHEYUS,0,0)
Что то не получается задать символ, который меня интересует. Что не так ?
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как создать карту в MapBasic
немного наоборот, сначала задать стиль для будущих символов, а потом создавать их
Код: Выделить всё
Set Style Symbol MakeFontSymbol(53,RGB(187,187,187),48,CHEYUS,0,0)
Update sector_5
Set Obj = CreatePoint(Lon, Lat)
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
А название шрифта нужно ставить в кавычки ("Cheyus") или нет? А то мне кажется MI воспринимает шрифт как колонку, и ругается что не определена переменная или поле CHEYUS.
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как создать карту в MapBasic
да, конечно, название шрифта в кавычках.
в справке MapBasic очень понятно все расписано, проще было там найти
в справке MapBasic очень понятно все расписано, проще было там найти

-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
Я не волшебник, я только учусь! 

-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 04 апр 2009, 13:37
- Репутация: 0
Re: Как создать карту в MapBasic
Теперь нужно повернуть символ на азимут указанный в отдельной колонке. Есть подсказочки? 

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