Есть ли место, где я могу сконфигурировать и поместить шейп-файлы из естественной земли, которые могут использовать все пользователи? Моя система с воздушным зазором не может связаться с Интернетом, чтобы загрузить файлы, поэтому мне нужно указать в картопе местный магазин шейп-файлов и настроить его так, чтобы он смотрел туда, а не пытался связаться, если не может найти их в ~ /.local/share/cartopy/shapefiles/ структура файла. По этой причине даже самые простые тесты моей установки терпят неудачу. Я нашел несколько ссылок на то, как разместить шейп-файлы в этой структуре, так что я могу подражать этому где-то еще. Я полагаю, что можно было бы также создать символическую ссылку на каталоги каждого пользователя .local / share / cartopy / shapefiles в центральном месте, но это похоже на кучу. Есть ли лучший способ, по которому я скучаю?
РЕДАКТИРОВАТЬ: (надеюсь, что это способ переполнения стека - я оригинальный отправитель)
OK. Я вернулся к этому. Я загрузил шейп-файлы ne_110m_yada_yada, распаковал их и поместил в свой .local / share / cartopy / shapefile / natural_earth /ultural | физический), поскольку нашел их на подключенном ноутбуке, когда запустил эту тестовую программу:
import cartopy
import matplotlib.pyplot as plt
def main():
ax = plt.axes(projection=cartopy.crs.PlateCarree())
ax.add_feature(cartopy.feature.LAND)
ax.add_feature(cartopy.feature.OCEAN)
ax.add_feature(cartopy.feature.COASTLINE)
ax.add_feature(cartopy.feature.BORDERS, linestyle=':')
ax.add_feature(cartopy.feature.LAKES, alpha=0.5)
ax.add_feature(cartopy.feature.RIVERS)
ax.set_extent([-20, 60, -40, 40])
plt.show()
if __name__ == '__main__':
main()
Это сработало, как и ожидалось. Я спрятал файлы в моем кэше .local, и мой системный администратор взломал cartopy.config, чтобы он указывал на файл / data / cartopy /, где я надеялся, что он найдет / data / cartopy / shapefiles / natural_earth / культурный | физический файл, где находятся сжатые данные в конечном итоге проживал. Это ожидает сжатые файлы там, или это только, если это пытается выйти и загрузить их? Картопи не нашел там zip-файлов и попытался зайти в интернет. Каковы правила размещения данных в pre_existing_data_dir? Найдет ли cartopy zip-файлы, если они находятся в / data / cartopy /, и сделает все правильно. Или мне нужны подкаталоги shapefile / natural_earth? Я хотел бы просто указать это только на / data / cartopy и найти в нем любой шейп-файл или растровые данные, которые я запарковал в этой иерархии, независимо от источника. Естественная Земля - это всего лишь контрольный пример. Я не исключаю, что мой сисадмин все испортил, но он чрезвычайно компетентен, и я, возможно, ввел его в заблуждение.
Ссылки и документация, приведенные в первоначальном ответе, были полезны, но не настолько полезны для меня, кто бросил вызов картопии.