Решение возможных проблем с производительностью при открытии рабочих наборов

 

Некоторые пользователи могут столкнуться с проблемой, когда MapInfo Pro неоправданно долго открывает рабочий набор. В данной статье мы рассмотрим потенциальные проблемы с производительностью при открытии рабочих наборов, а также дадим несколько советов, как их можно исправить или, по крайней мере, проанализировать причины их возникновения.

 

 

Возможные проблемы

 

Вот список некоторых типичных проблем, приводящих к долгому открытию рабочего набора:

 

  1. Настройки принтера: рабочие наборы могут содержать ссылки на принтеры и размер листа. Если указанный принтер был удален из сети, MapInfo Pro может потратить некоторое время на попытки его найти.

  2. Запросы: если вы сохраните рабочий набор после выполнения ряда запросов, а результирующие таблицы запросов все еще открыты в MapInfo Pro, эти операторы запросов будут по возможности сохранены в рабочем наборе.

  3. Доступ к данным: если данные, на которые ссылается рабочий набор, расположены на сетевом диске с медленным временем доступа, MapInfo Pro может потребоваться некоторое время для доступа к этим данным. То же самое относится и к живому доступу к таблицам базы данных.

  4. Создание предварительного просмотра для растровых файлов: при открытии растровых файлов формата, поддерживаемых MapInfo Raster, растровый движок сгенерирует набор файлов кэша (обычно файлы .pprc и .ghx) для повышения производительности. Если растровые файлы находятся в папке, доступной только для чтения, эти файлы кэша каждый раз будут создаваться во временной папке, что замедлит процесс.

  5. Визуализация карты: для визуализации очень сложных карт может потребоваться некоторое время, кроме того открытие рабочего набора с большим количеством окон карты также занимает больше времени.


Приведенный выше список дает некоторое представление о том, почему MapInfo Pro может понадобиться много времени для открытия рабочего набора, однако, возможны и другие причины.

 

 

Что следует сделать первым делом?


Самое быстрое решение - начать отключать некоторые настройки. Одна из них быстро покажет, связана ли ваша проблема с принтерами.

«Стартовые» параметры запуска, которые можно найти на вкладке Pro, в разделе «Настройки», позволяют настроить MapInfo Pro на игнорирование параметров принтера в рабочих наборах.

 

 

Первым делом попробуйте отключить этот параметр в диалоговом окне «Стартовые режимы», сняв галочку с пункта «Извлекать настройки печати из рабочего набора».

 

 

Если это решит проблему, следует открыть рабочий набор, изменить используемый принтеры и снова сохранить рабочий набор.

Если снятие отметки с этой опции не улучшает ситуацию, можно проанализировать на что MapInfo Pro тратит время загрузки. Ниже разберем, как это сделать.

 

 

Анализ времени открытия рабочего набора


Рабочий набор MapInfo Pro по своей сути - это просто текстовый файл, содержащий перечень операторов MapBasic, которые открывают все таблицы и все окна, расположив их в тех местах и в том порядке, в котором они находились в момент сохранения. Что означает, что вы можете самостоятельно прописать в него дополнительные операторы, которые помогут вам определить, на что тратится время. Эти операторы будут выводить сообщения с временной меткой и информацией во время открытия набора в окне «Сообщение».

 

Данный оператор MapBasic, который нужно добавить, выглядит примерно так:

 

Print Time(24) + " Opening tables..."

 

Он состоит из трех частей:

 

Print - оператор MapBasic, который указывает MapInfo Pro написать что-нибудь в окне сообщений.
Time (24) - функция MapBasic, которая создает временную метку типа «13:01:24», используя текущее время.
+ " Opening tables ..." - строка с нашим комментарием, которая впоследствии сообщит нам о том, что происходит в рабочем наборе. Мы изменим эту строку для разных частей рабочего набора.


Поскольку мы будете вносить изменения в файл, на всякий случай рекомендуется создать его резервную копию с помощью проводника Windows. Файл рабочего набора можно открыть и отредактировать в любом предпочитаемом вами текстовом редакторе.

 

Вот несколько строк из файла рабочего набора:

 

!Workspace
!Version 1900
!Charset UTF-8
Open Table "Addresses" As Addresses Interactive
Open Table "Nature Conservation Areas" As Nature_Conservation_Areas Interactive
Open Table "Nature Conservation Areas Proposals" As Nature_Conservation_Areas_Prop Interactive
Open Table "Planning Zones" As Planning_Zones Interactive
Open Table "Planning Zones Proposal" As Planning_Zones_Proposal Interactive
Open Table "Parcels" As Parcels Interactive
Open Table "DTK Skærmkort.TAB" As DTK_Skærmkort Interactive
Open Table "Streets" As Streets Interactive
Select * from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query3
Select p . * , CartesianBuffer ( p . Obj , 32 , 10 , "m" ) object from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query4
Select p . * , CartesianBuffer ( p . Obj , 32 , 10 , "m" ) object from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query5
Select p . ESR_EJDNR , aggregatebuffer ( p . Obj , 32 , 10 , "m" ) from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query6 group by p . ESR_EJDNR
Map From Addresses,Streets,Query6,Nature_Conservation_Areas_Prop
  ,Nature_Conservation_Areas,Planning_Zones_Proposal,Planning_Zones,Parcels,DTK_Skærmkort
  Position (0.75,2.45833) Units "in"
  Width 9.89167 Units "in" Height 4.45833 Units "in"
Set Window FrontWindow() ScrollBars Off Autoscroll On Enhanced On Smooth Text Antialias Image High Vector Antialias
Set Map
  CoordSys Earth Projection 8, 115, "m", 9, 0, 0.9996, 500000, 0
  Center (547766.2685,6303441.682)
  Zoom 1564.794702 Units "m"
  Preserve Zoom Display Zoom
  Distance Units "m" Area Units "hectare" XY Units "m"
  Distance Type Cartesian
Set Map
  Layer 1
    Display Global
    Global Pen (1,2,22015) Brush (1,16777215,16777215) Symbol (32,14708736,4,"MapInfo Symbols",0,0) Line (2,2,22015) Font ("Arial",0,8,8421504)
    Selectable Off
    Override Add "Layer Display Override" Zoom (0, 5000) Units "m" Enable On
    Override Add "Layer Display Override" Zoom (5000, 50000) Units "m" Enable On
      Symbol (35,8421504,4,"MapInfo Symbols",0,0)
    Label Line Arrow Position Center Font ("Arial",256,7,0,16777215) Pen (1,2,0)
      With StreetBuildingIdentifier
      Parallel On Auto On Overlap Off Duplicates On Offset 2
      Visibility Zoom (0, 5000) Units "m"
Layer 2
  Display Graphic ...
"

 

В приведенном ниже примере можно увидеть наши дополнительные операторы, которые помогут проанализировать, сколько времени MapInfo Pro использует для загрузки отдельных частей рабочего набора:

 

!Workspace
!Version 1900
!Charset UTF-8


Print Time(24) + " Opening tables..."


Open Table "Addresses" As Addresses Interactive
Open Table "Nature Conservation Areas" As Nature_Conservation_Areas Interactive
Open Table "Nature Conservation Areas Proposals" As Nature_Conservation_Areas_Prop Interactive
Open Table "Planning Zones" As Planning_Zones Interactive
Open Table "Planning Zones Proposal" As Planning_Zones_Proposal Interactive
Open Table "Parcels" As Parcels Interactive
Open Table "DTK Skærmkort.TAB" As DTK_Skærmkort Interactive
Open Table "Streets" As Streets Interactive


Print Time(24) + " Running Queries..."


Select * from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query3
Select p . * , CartesianBuffer ( p . Obj , 32 , 10 , "m" ) object from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query4
Select p . * , CartesianBuffer ( p . Obj , 32 , 10 , "m" ) object from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query5
Select p . ESR_EJDNR , aggregatebuffer ( p . Obj , 32 , 10 , "m" ) from Parcels as "p" where p . ESR_EJDNR = 8400005654 into Query6 group by p . ESR_EJDNR


Print Time(24) + " Creating a map..."


Map From Addresses,Streets,Query6,Nature_Conservation_Areas_Prop
  ,Nature_Conservation_Areas,Planning_Zones_Proposal,Planning_Zones,Parcels,DTK_Skærmkort
  Position (0.75,2.45833) Units "in"
  Width 9.89167 Units "in" Height 4.45833 Units "in"
Set Window FrontWindow() ScrollBars Off Autoscroll On Enhanced On Smooth Text Antialias Image High Vector Antialias


Print Time(24) + " Configuring the map..."


Set Map
  CoordSys Earth Projection 8, 115, "m", 9, 0, 0.9996, 500000, 0
  Center (547766.2685,6303441.682)
  Zoom 1564.794702 Units "m"
  Preserve Zoom Display Zoom
  Distance Units "m" Area Units "hectare" XY Units "m"
  Distance Type Cartesian


Print Time(24) + " Configuring the layers..."


Set Map
  Layer 1
    Display Global
    Global Pen (1,2,22015) Brush (1,16777215,16777215) Symbol (32,14708736,4,"MapInfo Symbols",0,0) Line (2,2,22015) Font ("Arial",0,8,8421504)
    Selectable Off
    Override Add "Layer Display Override" Zoom (0, 5000) Units "m" Enable On
    Override Add "Layer Display Override" Zoom (5000, 50000) Units "m" Enable On
      Symbol (35,8421504,4,"MapInfo Symbols",0,0)
    Label Line Arrow Position Center Font ("Arial",256,7,0,16777215) Pen (1,2,0)
      With StreetBuildingIdentifier
      Parallel On Auto On Overlap Off Duplicates On Offset 2
      Visibility Zoom (0, 5000) Units "m"
Layer 2
  Display Graphic ...
"

 

Следует также добавить дополнительный оператор в конце рабочего набора, чтобы увидеть общее время загрузки.

Сохраните изменения в файле рабочего набора в текстовом редакторе и откройте его в MapInfo Pro.

Во время загрузки файла вы должны увидеть текст в окне «Сообщение», аналогичный тому, что вы видите ниже.

 

 

В данном примере MapInfo Pro открыла рабочий набор за одну секунду. Но прежде чем все окна отобразятся на экране, может пройти немного больше времени.

По мере прохождения анализа может потребоваться добавить дополнительные утверждения. Если вы, например, узнали, что MapInfo Pro долго открывает таблицы, вы можете добавить больше операторов между отдельными таблицами, чтобы понять, какие именно таблицы являются проблемой.

Обратите внимание, что вы не можете вставить эти дополнительные строки в любое место в коде. Нужно убедиться, что они не вставлены в середину существующего оператора, так как это нарушит рабочий набор. Как правило, операторы следует добавлять только перед строкой без отступа.

 

 

Надеемся, что эта статья была полезна и поможет вам решить потенциальные проблемы с производительностью, которые могут возникнуть при открытии рабочих наборов MapInfo Pro.

 


 

Другие полезные статьи:

 

ГСК-2011 (ГОСТ 32453-2017) в проекции Гаусса-Крюгера для MapInfo Pro
Создание анимированного GIF в MapInfo Pro
Анализ лесного полога по данным LiDAR в MapInfo Pro Advanced