Экспорт результатов моделирования в cad системы
ЦЕЛЬ РАБОТЫ: изучить методику экспорта данных в различные CAD системы.
ЗАДАЧИ РАБОТЫ
1. Изучить методику экспорта в CAD системы.
2. Освоить экспорт в текстовый формат.
3. Научиться изменять параметры экспорта в текстовый формат.
ИСХОДНЫЕ ДАННЫЕ: файл Module 4.imp
Контрольные вопросы:
1. Что означают параметры Delimited и Fixed Width для настройки
экспорта в окне Export: ASCII File Format?
Delimited - разделитель между колонками, Fixed Width – фиксированная ширина
2. В какие CAD системы можно экспортировать данные?
Например AutoCAD и MicroStation
3. Какой формат имеют данные, получаемые в результате сканирования?
*.coe
*.dxf
А так же экспорт результатов наземного лазерного сканирования возможен и в текстовый формат(*.txt).
4. Поясните методику экспорта и импорта пространственных моделей в CAD системы?
Экспорт данных в CAD системы осуществляется командой File/ Export. В результате появится окно. При этом необходимо задать путь, где будет храниться файл экспорта.
Для экспорта результатов наземного лазерного сканирования выполните следующие действия:
• выберите тип файла, например, *.coe (cyclone object exchange format) или *.dxf;
• введите имя файла;
• после команды «Сохранить» начнется процесс экспорта. Теперь данный файл готов для импорта в CAD системы.
Экспорт результатов наземного лазерного сканирования возможен и в текстовый формат (*.txt). Для этого:
• дайте команду File/ Export;
• в окне экспорта данных в текстовый формат выберите тип файла *.txt, а также введите имя файла;
• после этого нажмите «Сохранить».
SQL – язык запросов для работы с базами данных.
Лабораторная работа №1
Работа с таблицами базы данных на основе SQL
Цель: Формирование таблиц базы данных
Исходные данные: Текстовые документы - Ведомость.doc и Аттестация.doc на сервере 10.1.103.3
В окне MapBasic напишите инструкцию для добавления трех новых колонок в таблицу Ведомость: Имя Char(15), Отчество Char(20), Оценки Smallint, на основе оператора SQL - ALTER TABLE
ALTER TABLE Ведомость (ADD Имя Char(15), Отчество Char(20), Оценки Smallint)
Откройте таблицу Ведомость после модификации на основе оператора SQL - Browse * From Ведомость.
BROWSE * FROM Ведомость
Ввести записи в таблицу Ведомость на основе оператора SQL -INSERT INTO в соответствии с документом Ведомость.doc. Сохраните таблицу в рабочей папке на основе SQL (Commit Table Ведомость).
INSERT INTO Ведомость VALUES ("Александров", "Денис", "Олегович", "4")
INSERT INTO Ведомость VALUES ("Алентов", "Иван", "Александрович", "4")
INSERT INTO Ведомость VALUES ("Белоус", "Роман", "Сергеевич", "3")
INSERT INTO Ведомость VALUES ("Борисов", "Сергей", "Александрович", "2")
INSERT INTO Ведомость VALUES ("Волошкин", "Вячеслав", "Александрович", "5")
INSERT INTO Ведомость VALUES ("Горлатых", "Константин", "Николаевич", "3")
INSERT INTO Ведомость VALUES ("Гулиев", "Рустам", "Вахидович", "5")
INSERT INTO Ведомость VALUES ("Евсеев", "Алексей", "Викторович", "5")
INSERT INTO Ведомость VALUES ("Егоров", "Максим", "Владимирович", "3")
INSERT INTO Ведомость VALUES ("Ерёменко", "Дмитрий", "Сергеевич", "4")
INSERT INTO Ведомость VALUES ("Ермаков", "Павел", "Иванович", "4")
INSERT INTO Ведомость VALUES ("Иванов", "Павел", "Станиславович", "3")
INSERT INTO Ведомость VALUES ("Каёшкин", "Дмитрий", "Александрович", "3")
INSERT INTO Ведомость VALUES ("Корсиков", "Сергей", "Александрович", "2")
INSERT INTO Ведомость VALUES ("Куданов", "Анатолий", "Валерьевич", "2")
INSERT INTO Ведомость VALUES ("Кузнецов", "Евгений", "Александрович", "4")
INSERT INTO Ведомость VALUES ("Курочкин", "Андрей", "Петрович", "4")
INSERT INTO Ведомость VALUES ("Лысогор", "Мария", "Викторовна", "3")
INSERT INTO Ведомость VALUES ("Попов", "Денис", "Викторович", "4")
COMMIT TABLE Ведомость
Создайте новую таблицу Аттестация в соответствии с документом Аттестация.doc , внесите необходимые данные и сохраните таблицу в рабочей папке на основе SQL (Commit Table Аттестация).
CREATE TABLE Аттестация (Фамилия Char(30), Имя Char(15), Отчество Char(20), Физика Smallint, Информатика Smallint)
INSERT INTO Аттестация VALUES ("Носков", "Виктор", "Сергеевич", "3", "4")
INSERT INTO Аттестация VALUES ("Александров", "Анатолий ", "Иванович", "4", "4")
INSERT INTO Аттестация VALUES ("Иудинов", "Александр", "Семенович", "2", "3")
INSERT INTO Аттестация VALUES ("Дзекановский", "Юрий", "Анатольевич", "5", "5")
INSERT INTO Аттестация VALUES ("Литвинюк", "Александр", "Владимирович", "5", "4")
INSERT INTO Аттестация VALUES ("Сурайкин ", "Виталий", "Викторович", "5", "5")
INSERT INTO Аттестация VALUES ("Бурова", "Ирина", "Александровна", "4", "4")
INSERT INTO Аттестация VALUES ("Вишнякова", "Валентина", "Васильевна", "3", "4")
INSERT INTO Аттестация VALUES ("Леонова", "Татьяна", "Николаевна", "3", "3")
INSERT INTO Аттестация VALUES ("Шикуля ", "Наталья", "Александровна", "2", "2")
INSERT INTO Аттестация VALUES ("Рогозин", "Владимир", "Валерьевич", "3", "2")
INSERT INTO Аттестация VALUES ("Николаева", "Валентина", "Васильевна", "3", "3")
INSERT INTO Аттестация VALUES ("Лебедева", "Галина", "Петровна", "4", "3")
INSERT INTO Аттестация VALUES ("Григорьев", "Иван", "Викторович", "4", "4")
INSERT INTO Аттестация VALUES ("Чащина", "Лилия", "Георгиевна", "5", "5")
INSERT INTO Аттестация VALUES ("Шаран", "Богдан", "Петрович", "3", "2")
INSERT INTO Аттестация VALUES ("Романова", "Жанна", "Евгеньевна", "3", "3")
COMMIT TABLE Аттестация
BROWSE * FROM Аттестация
Лабораторная работа №2
Запросы на выборку и изменение данных на основе SQL
Цель: Изучение методов работы с табличной базой данных.
Выбрать фамилии студентов, получивших отличные оценки по «Информатике» и открыть результаты выборки по команде: Browse * From Selection в отдельной таблице;
SELECT * FROM Аттестация WHERE Информатика = 5
BROWSE * FROM SELECTION
Выбрать студентов, получивших отличные оценки по Физике и Информатике и окрыть результаты выборки по команде: Browse * From Selection в отдельной таблице;
SELECT * FROM Аттестация WHERE Информатика = 5 AND Физика = 5
BROWSE * FROM SELECTION
Выбрать студентов, успевающих по всем дисциплинам и окрыть результаты выборки по команде: Browse * From Selection в отдельной таблице;
SELECT * FROM Аттестация WHERE Информатика > 2 AND Физика > 2
BROWSE * FROM SELECTION
Выбрать студентов, не успевающих по Информатике и открыть результаты выборки в отдельной таблице;
SELECT * FROM Аттестация WHERE Информатика <= 2
BROWSE * FROM SELECTION
Выбрать студентов, получивших неудовлетворительные оценки по всем дисциплинам и открыть результаты выборки в отдельной таблице;
SELECT * FROM Аттестация WHERE Информатика <= 2 AND Физика <= 2
BROWSE * FROM SELECTION
Составить SQL – инструкцию для исправления неудовлетворительных оценок всем студентам по данным дисциплинам на «хорошо». Результаты запроса на иправление оценок открыть в отдельной таблице;
UPDATE Аттестация SET Информатика = 4 WHERE Информатика <= 3
UPDATE Аттестация SET Физика = 4 WHERE Физика <= 3
COMMIT TABLE Аттестация
Подсчитать средний бал по Физике и Информатикена основе базовой таблицыАттестация.
SELECT AVG(Информатика) FROM Аттестация
BROWSE * FROM SELECTION
SELECT AVG(Физика) FROM Аттестация
BROWSE * FROM SELECTION
Подсчитать количество отличных, хороших и удовлетворительных оценок по информатике на основе базовой таблицыАттестация.
SELECT COUNT(*) FROM Аттестация WHERE Информатика = 3
BROWSE * FROM SELECTION
SELECT COUNT(*) FROM Аттестация WHERE Информатика = 4
BROWSE * FROM SELECTION
SELECT COUNT(*) FROM Аттестация WHERE Информатика = 5
BROWSE * FROM SELECTION
Лабораторная работа №3
Запросы на вычисление данных на основе SQL
Цель: Применение оператора Update для обновления данных.
На основе таблицы Зарплатавыбрать работников, перевыполнивших план на 100% и более и открыть результаты выборки по команде: Browse * From Selection в отдельной таблице;
SELECT * FROM Зарплата WHERE Производительность > 100
BROWSE * FROM SELECTION
Повысить зарплату на 15% работникам, перевыполнившим план (100% и более) по данным в таблице;
UPDATE Query1 SET Зарплата = Зарплата + ((Зарплата / 100) * 15) WHERE Производительность > 100
Выбрать работников, перевыполнившим план более чем на 120% и открыть результаты выборки по команде: Browse * From Selection в отдельной таблице ;
SELECT * FROM Зарплата WHERE Производительность > 120
BROWSE * FROM SELECTION
Повысить зарплату на 7% работникам с производительностью труда более чем 120% по данным таблицы Query2;
UPDATE Query2 SET Зарплата = Зарплата + ((Зарплата / 100) * 7) WHERE Производительность > 120
Выбрать работников с производительностью труда 130% и более и открыть результаты выборки в отдельной таблице;
SELECT * FROM Зарплата WHERE Производительность > 130
BROWSE * FROM SELECTION
Назначить премию 10000 рублей работникам с производительностью труда 130% и более по данным таблицы.
UPDATE Query3 SET Зарплата = Зарплата + 10000 WHERE Производительность > 130
Выбрать работников женского пола (с помощью оператора Like) и назначить премию с учетом производительности труда, исходя из базовой выплаты в 15000 рублей за 100 %;
SELECT * FROM Зарплата WHERE Отчество LIKE "%на"
BROWSE * FROM SELECTION
UPDATE Query4 SET Зарплата = Зарплата + (15000 * Производительность/100)
Подсчитать сумму выплат зарплат со всеми доплатами на основе таблицы Зарплата;
SELECT SUM(Зарплата) "Сумма зарплат" FROM Зарплата
Подсчитать среднюю зарплату по данным таблицы Зарплата.
SELECT AVG(Зарплата) "Средняя зарплата" FROM Зарплата
Лабораторная работа №4
Запросы на основе SQL
Цель: Изучение методов работы с табличной базой данных
Выбрать государства, население которых (по колонке pop_1994) находится в диапазоне 200000000 и 500000000 человек, на основе оператора Between.
SELECT * FROM World WHERE Pop_1994 BETWEEN 200000000 AND 500000000
BROWSE * FROM SELECTION
Вычислить количество жителей на Земном шаре.
SELECT SUM(Pop_1994) "Количество жителей" FROM World
BROWSE * FROM SELECTION
Вычислить количество жителей в Российской Федерации.
SELECT Pop_1994 "Количество жителей в РФ" FROM World WHERE COUNTRY = "Russian Federation"
BROWSE * FROM SELECTION
Вычислить количество жителей на Азиатском континенте.
SELECT SUM(Pop_1994) "Количество жителей в Азии" FROM World WHERE Continent = "Asia"
BROWSE * FROM SELECTION
Выполнить SQL запрос на основе оператора Like из таблицы «World» всех государств азиатского континента, начинающихся на букву J
SELECT Country FROM World WHERE Country LIKE "J%" AND Continent = "Asia"
BROWSE * FROM SELECTION
Выполнить SQL запрос на основе оператора In из таблицы «World» для выбора всех государств, расположенных на Европейском континенте
SELECT Country FROM World WHERE Continent IN ("Europe")
BROWSE * FROM SELECTION
Выполнить запрос на основе функции Area (obj, "sq km") для вычисления площади государств, расположенных на Азиатском континенте.
SELECT Area(obj, "sq km") FROM World WHERE Continent = "Asia"
BROWSE * FROM SELECTION
Вычислить площадь территории Российской Федерации.
SELECT Area(obj, "sq km") FROM World WHERE Country = "Russian Federation"
BROWSE * FROM SELECTION
Вычислить плотность населения на территории Российской Федерации.
SELECT Area(obj, "sq km"), Pop_1994 FROM World WHERE Country = "Russian Federation"
SELECT col2/col1 FROM Query9
BROWSE * FROM SELECTION
Лабораторная работа №5
Запросы и подзапросы на основе SQL
Цель: Изучение методов работы с табличной базой данных
Составьте инструкцию на объединение данных из двух таблицWorldи WorldCapдля получения третьей таблицы (Query1), в которой три колонки Continent, Country и pop_1994должны быть взяты из таблицыWorld,а две колонкиCapitalи Cap_Popдолжны быть из таблицыWorldCap.
SELECT World.Continent, World.Country, World.pop_1994, WORLDCAP.Capital, WORLDCAP.Cap_Pop FROM World, WORLDCAP WHERE World.Capital = WORLDCAP.Capital
BROWSE * FROM SELECTION
Подсчитайте количество жителей, проживающих во всех государствах (по колонке pop_1994) и столицах (по колонке Cap_Pop )из таблицыQuery1.
SELECT Sum(Pop_1994), Sum(Cap_Pop) FROM Query1
BROWSE * FROM SELECTION
Подсчитать количество жителей во всех государствах (по колонке pop_1994из таблицы Query1),проживающих на Азиатском континенте.
SELECT Sum(Pop_1994) FROM Query1 WHERE Continent = "Asia"
BROWSE * FROM SELECTION
Выбрать государства из таблицы Query1, население которых (по колонке pop_1994) находится в диапазоне 2000000 и 5000000 человек, на основе оператора Between.
SELECT Country, Pop_1994 FROM Query1 WHERE Pop_1994 BETWEEN 2000000 AND 5000000
BROWSE * FROM SELECTION
Выполните SQL запрос на основе оператора Like из таблицы World всех государств Азиатского континента, начинающихся на букву N.
SELECT Country FROM Query1 WHERE Continent = "Asia" AND Country LIKE "N%"
BROWSE * FROM SELECTION
Выполните SQL запрос из таблицы World для выбора всех государств (с учетом подзапроса на основе оператора In из таблицы WorldCap) с населением в столицах (в колонке Cap_Pop) более 9000.
SELECT World.Country, WORLDCAP.Cap_Pop FROM World, WORLDCAP WHERE (World.Capital = WORLDCAP.Capital) AND WORLDCAP.Cap_Pop > "9000"
Выполнить запрос с подзапросом на основе таблиц World и WorldCap для выбора всех государств, расположенных на Европейском континенте, где население в столицах более 100000.
SELECT World.Country, WORLDCAP.Cap_Pop FROM World, WORLDCAP WHERE (World.Capital = WORLDCAP.Capital) AND Continent = “Asia” AND WORLDCAP.Cap_Pop > "1000"
Лабораторная работа №6
Цель: Изучение методов работы с табличными базами данных
Составьте SQL инструкцию для вычисления количества городского и сельского населения в процентном отношении во всех областяхРоссийской федерации на основе таблицы RUS_OBL.
SELECT Name_r , ROUND (городское_1995 / (sum_1995 / 100), 1) "Процент городского населения", ROUND(сельское_1995 / (sum_1995 / 100), 1) "Процент сельского населения" FROM RUS_OBL
BROWSE * FROM SELECTION
Составьте инструкцию на объединение данных из двух таблицRUS_OBLи CITY_200 для получения третьей таблицы (Query2), в которой две колонки Name_r и sum_1995должны быть взяты из таблицыRUS_OBL,а две колонкиRus_nameи Pop_1995должны быть из таблицыCITY_200.
SELECT RUS_OBL.Name_r, RUS_OBL.sum_1995, CITY_200.Rus_name, CITY_200.Pop_1995 FROM RUS_OBL, CITY_200 WHERE RUS_OBL.АББ = CITY_200.АББ
BROWSE * FROM SELECTION
Подсчитайте количество жителей, проживающих во всех областях (по колонке sum_1995) и областных центрах (по колонке Pop_1995 )из таблицыQuery2.
SELECT sum(sum_1995), sum(pop_1995) FROM Query2
BROWSE * FROM SELECTION
Выполните SQL запрос из таблицы RUS_OBLдля выбора всех областей (с учетом подзапроса на основе оператора In) и городов (из таблицы CITY_200), основанных более 400 лет назад.
SELECT RUS_OBL.Name_r, CITY_200.Rus_Name, CITY_200.Год_основания FROM RUS_OBL, CITY_200 WHERE (RUS_OBL.АББ = CITY_200.АББ) AND ((2016 - CITY_200.Год_основания) >= 400)
BROWSE * FROM SELECTION
Выполнить запрос из таблицы Компании для выбора фамилии сотрудника (ФИО) и названия города (Город) с подзапросом из таблицы CITY_200 для выбора города, основанного в 903 году.
SELECT Компании.ФИО, Компании.ГОРОД, CITY_200.Год_основания FROM Компании, CITY_200 WHERE CITY_200.Rus_Name = Компании.Город AND CITY_200.Год_основания = 903
BROWSE * FROM SELECTION
Лабораторная работа №7
Цель: Применение методов работы с табличными базами данных
Составьте SQL инструкцию для создания новой таблицы УЛИЦЫ_МОСКВЫ с одной текстовой колонкой Названия_улиц.
CREATE TABLE УЛИЦЫ_МОСКВЫ (Названия_улиц Char(100))
Browse * From УЛИЦЫ_МОСКВЫ
Подсчитайте количество улиц по таблице УЛИЦЫ_МОСКВЫ.
INSERT INTO УЛИЦЫ_МОСКВЫ SELECT R_Name FROM M_STREET
SELECT COUNT(*) FROM УЛИЦЫ_МОСКВЫ
BROWSE * FROM SELECTION
На основе данных таблицы M_STREET определите длины улиц Москвы с помощью функции ObjectLen(obj, "km").
SELECT R_Name, ObjectLen(obj, "km") FROM M_STREET
BROWSE * FROM SELECTION
Определите самую длинную улицу Москвы.
SELECT R_NAME, MAX(ObjectLen(obj, "km")) FROM M_STREET
BROWSE * FROM SELECTION
Определите общую длину всех улиц Москвы.
SELECT SUM(ObjectLen(obj, "km")) FROM M_STREET
BROWSE * FROM SELECTION
Определите длину реки Москвы по данным таблицы WATER.
SELECT ObjectLen(obj, "km") FROM WATER
BROWSE * FROM SELECTION