RUS  ENG 

Запись координат центра объекта в таблицу (VBScript)

2 декабря 2015

Запись координат центра объекта в таблицу (VBScript)

'Пример записи географических координат центра объекта в таблицу Sub GetLatLon() 'Текущая активная карта Set Doc = Zulu.ActiveMapDoc 'Активный слой текущей карты Set L = Doc.Layers.Active Set Db = CreateObject("zb.database") 'Проекция слоя Set CRS1 = L.GetCrs() 'Создание проекция WGS84 Set CRS_WGS84 = CreateObject("zululib.CRS") CRS_WGS84.InitByCode("EPSG:4326") 'Открыли базу данных для типа -1 (примитивы) Db.Open L.BaseName 'Список ключей объектов слоя Set Keys = L.ElementKeys 'По всем объектам слоя For i = 1 To Keys.Count Set El = L.Elements.getElement(Keys.Item(i)) 'Если объект примитив If El.TypeID = -1 Then 'Получаем точку центра объекта в координатах проекции слоя Set Pt = El.GetCenter() 'Получаем широту и долготу точки в WGS84 Set Pt = CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84) 'Записываем широту и долготу в соответствующие поля ("X" и "Y") Db.UpdateBaseRecord Keys.Item(i), "X" + CHR(10) + "Y", CStr(Pt.X) + CHR(10) + CStr(Pt.Y), 0 End If Next End Sub

Скачать пример (1.08 КБ)


Возврат к списку

Последнее обновление — 27.12.2018 16:31:14