У меня есть полигональный шейп-файл с файловым компонентом 100 МБ .dbf и 500 МБ .shp. Причина, по которой он так велик, заключается в том, что он классифицируется как база земли для всего района.
Каждый раз, когда я просматриваю файл в ArcCatalog или ArcMap и слегка перемещаю окно просмотра, весь файл необходимо перерисовать с нуля. Я пробовал пространственное индексирование и импорт в базу геоданных - ни один из подходов не обеспечивает заметного улучшения производительности в отношении рендеринга.
Страница справки Esri предполагает, что для повышения производительности шейп -файла пользователь может обобщить файл . Хотя это, очевидно, сработает, я не хочу терять какую-либо информацию. Разделение файла не является идеальным, так как я делаю много геообработки / запросов по всей его области. Думаю, я мог бы избежать одновременного просмотра всей области, но иногда, например, полезно видеть, какие части файла выбрал запрос.
Есть ли какой-то другой подход, который я мог бы использовать для улучшения производительности рендеринга?
(Теоретически, создание «пирамид» шейп-файлов было бы идеальным - я не уверен, почему ArcGIS никогда не поддерживал такой подход - по крайней мере, я знаю ...)
Ответы:
Мои мысли:
источник
Есть много советов по улучшению производительности ArcMap, которые могут помочь, но вот три совета, которые я использовал.
источник
Вы можете улучшить рендеринг, установив параметры отображения слоя, чтобы слой не отображался в больших масштабах (например,> 1: 10000). Вы можете найти эту опцию в свойствах слоя: Свойства слоя> вкладка «Общие»> «Не показывать слой при уменьшении масштаба за пределами ...»
Кроме того, местоположение хранилища имеет значение - например, если оно хранится на старом сервере с низкой пропускной способностью, вы гарантированно будете иметь низкую производительность. Я обычно обрабатываю 1 ГБ + векторные данные на сервере, что заставляет меня задаться вопросом, нужно ли обновлять спецификации вашей системы (для справки, я использую 12 ГБ ОЗУ, 2-е поколение i7, средняя видеокарта).
источник
Вам нужно сделать карту, чтобы сделать ваши запросы? Что если вы запустили скрипты Python и получили доступ к данным, не рисуя карту? Я не уверен, что ваш точный процесс, потребности и т. Д., Но мысль.
источник
В качестве продолжения ответа Аарона вы также можете использовать запрос определения, чтобы ограничить число результатов, возвращаемых для визуализации (и оно включает анализ - я считаю, что он работает во многом как выбор). Если не все функции необходимы для просмотра в любой конкретный момент и вы не переключаете регионы на тонну, запрос определения может быть работоспособным решением, но не точным ответом на ваш вопрос или потребности.
источник
Я слышу ваше разочарование. Я обычно работаю с такими большими шейп-файлами, и у меня вообще нет проблем с отображением. Я согласен со всеми вышеприведенными комментариями, особенно чтобы убедиться, что все в одной проекции, включая фрейм данных. Я предполагаю, что вы скопировали файл локально и не пытаетесь получить к нему доступ по сети? Одна вещь, которая вызовет проблемы с отображением шейп-файлов такого размера, - это наличие большого количества вершин, как в потоковой сети. Единственное решение, которое я нашел в этом, - это создание скрипта Python для определения слоя на лету, поэтому я рисую только несколько за раз. Другое дело было бы обновить графическую память вашего компьютера и графическую карту.
источник