Як покращити ефективність візуалізації дуже великого формфайлу?


20

У мене є файл формату багатокутника, який містить 100 МБ .dbf та 500 Мб. Причина вона настільки велика, що її класифікують як земельну базу для цілого району.

Щоразу, коли я переглядаю файл в ArcCatalog або ArcMap і трохи переміщую вікно перегляду, весь файл потрібно перемальовувати з нуля. Я спробував просторову індексацію та імпорт в базу даних геоданих - жоден підхід не забезпечує помітного поліпшення продуктивності відносно візуалізації.

Довідкова сторінка Есрі говорить про те, що для покращення продуктивності файлу форми користувач може узагальнити файл . Хоча це, очевидно, спрацювало б, я не хочу втрачати жодної інформації. Розщеплення файлу не є ідеальним, оскільки я роблю багато геопроцедур / запитів з усією областю. Я думаю, я міг би уникати перегляду всієї області одразу - але іноді, наприклад, добре бачити, які частини файлу вибрали запит.

Чи є якийсь інший підхід, який я міг би скористатись, щоб покращити ефективність візуалізації?

(Теоретично, побудувати формулярні "піраміди" було б ідеально. Я не впевнений, чому ArcGIS ніколи не підтримував такий підхід - принаймні, що мені відомо ...)


2
Маючи таку велику форму файлів, це просто просити клопоту. На моєму досвіді, великі шаблони форми дуже легко псуються. Отримайте його у базі даних Geodatabase, щоб уникнути корупції. Краще виконання малювання було б додатковим бонусом.
Devdatta Tengshe

Як я зауважував вище, я виявив, що імпорт великого формату файлів у gdb не покращує - з точки зору чистого відображення. Ви абсолютно праві, хоча з загальної точки зору мало сенсу мати великий файл shp в gdb (з усіляких причин).
youzer

2
Чи думали ви використовувати растр замість файлу форми?
Кірк Куйкендалл

я збентежений в одному, що, якщо розмір файлу - 2 Гб, а пам'ять комп'ютера - також 2 ГБ, то як аркгіс буде обробляти ці файлові дані, оскільки це буде мати повну пам'ять
user2174920

якщо у вас мільйони маленьких багатокутників, ви повинні використовувати растр - це ганебна приказка (якщо ви не робите шар ґрунту ...)
Якщо ви не знаєте - просто ГІС

Відповіді:


22

Мої думки:

  1. Експортуйте свій файл форми у клас об’єктів бази даних геоданих - я думаю, його ефективність малювання буде кращою, але я не впевнений на скільки
  2. Якщо ви використовуєте ArcGIS Desktop 10.0 або пізнішої версії, перемістіть його в шар базової карти - це значно покращить ефективність малювання
  3. Якщо вам подобається звук пірамід для векторних даних, обов'язково проголосуйте за цю ідею ArcGIS .

3
За винятком того, що ви не можете робити аналіз або вибір на базових шарах IIRC.
blah238

4
Підозрюєте, що можна було обійтись, маючи другий шар у TOC, що вказує на той самий джерело, а не шар базової карти, який, як правило, вимикається, але може бути показаний, коли потрібно для аналізу чи відбору.
PolyGeo

PolyGeo - дякую за відповідь. Я спробував базовий рівень, і справді головне поліпшення продуктивності - це коли клацнути «масштаб на шар», файл не виводиться з нуля. Вирішення запропонованого вами коментаря blah238, можливо, може спрацювати з деякими проектами, але я знайшов додаткову річ, яка обмежує використання базового рівня, що ви не можете уявити dbf за допомогою будь-якої символіки. З цим обмеженням я б також міг узагальнити файл для посилання (а не базовий), а потім приховати "реальний" шар, коли це потрібно. Насправді не чудове рішення .. Я буду голосувати за ідею "піраміди", як ви пропонуєте!
youzer

6

Існує багато порад щодо підвищення продуктивності ArcMap, які можуть допомогти, але ось три запропоновані мною пропозиції.

  1. Я би переконався, що система координат Data Frame відповідає моєму файлу форми та будь-яким іншим шарам, який я маю в TOC; але чим менше буде відображатися шарів, тим краще.
  2. Я використовував би мою символіку лише на основі простих ліній та наповнень без прозорості та інших складностей.
  3. Якщо вам потрібен як огляд, так і можливість наблизитися близько до себе, спробуйте скористатися лупою або переглядачем.

як правило, дуже хороша порада. Я все-таки реалізував усе це в своїх початкових тестах - схоже, що більше / різні хитрощі потрібні для вирішення дуже великих класів характеристик / форм-файлів.
youzer

4

Можна покращити візуалізацію, встановивши параметри відображення шару так, щоб шар не відображався у великих масштабах (наприклад,> 1: 10000). Цю опцію можна знайти у властивостях шару: Властивості шару> Вкладка Загальні> "Не показувати шар при збільшенні масштабу понад ..."

Також важливе значення має місце розташування пам’яті - наприклад, якщо він зберігається на старому сервері з низькою пропускною здатністю, вам гарантовано буде низька продуктивність. Я регулярно обробляю 1 ГБ + векторні дані на сервері, що змушує мене запитати, чи потрібно оновлювати технічні характеристики вашої системи (для довідки, я використовую 12 Гб оперативної пам’яті, 2-й рід i7, середня відеокарта).

введіть тут опис зображення


3

Вам потрібно зробити карту, щоб зробити запити? Що робити, якщо ви запускали сценарії python та отримували доступ до даних, не малюючи карту? Я не впевнений у вашому точному процесі, потребах тощо, але думка.


3

Як трохи подальший відповідь на відповідь Аарона , ви також можете використовувати запит на визначення, щоб обмежити кількість результатів, що повертаються для візуалізації (і він включає аналіз - я вважаю, що він дуже схожий на вибір). Якщо не всі функції потрібні для перегляду в будь-який момент, і ви не перемикаєте регіони на тону, запит на визначення може бути ефективним рішенням, хоча і не точною відповіддю на ваше питання або потреби.


3

Я чую ваше розчарування. Я регулярно працюю з великими подібними файлами, як правило, і не маю проблем із відображенням. Я погоджуюся з усіма коментарями, наведеними вище, особливо переконуюсь, що все в одній проекції, включаючи рамки даних. Я припускаю, що ви скопіювали файл локально і не намагаєтесь отримати доступ до нього через мережу? Одне, що спричинить проблеми з відображенням файлів форм цього розміру, - це якщо у вершинній мережі є велика кількість вершин. Єдине рішення, яке я знайшов для цього, - це створити сценарій python для визначення визначень шару на льоту, тому я малюю лише декілька за раз. Інша справа - оновити графічну пам’ять і графічну карту ваших комп'ютерів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.