Файлы форм не отображаются на базовой карте Cartopy? - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь добавить несколько файлов форм в базовую карту Cartopy. Оказывается, что некоторые файлы форм работают, а другие нет. Я погуглил весь день без всякой удачи. Не могли бы вы помочь. Ниже приведен код, который я использую. Два файла формы можно скачать здесь:

https://www.dropbox.com/sh/2lp93uz28rmyfcs/AAAiA-p4ge5KzHDC5dXlflXga?dl=0

import matplotlib.pyplot as plt 
import cartopy.crs as ccrs
from cartopy.io.img_tiles import OSM
from cartopy.io import shapereader

#%% ======== map paramters =================
map_extent_eastings=(378000,390000)
map_extent_northings=(6427500,6443000)

#%%
plt.subplots(1,1,figsize=(10,10))
ax = plt.axes(projection=ccrs.epsg(28350))
ax.set_extent([map_extent_eastings[0],map_extent_eastings[1],map_extent_northings[0],map_extent_northings[1]],crs=ccrs.epsg(28350))

tiler = OSM() 
cur_CRS = tiler.crs
zoom = 8 #12 for the final 
ax.add_image(tiler, zoom, interpolation='bilinear' )


#============= Figure out why this deosn't work ===================
### this one doesn't work 
ax.add_geometries(shapereader.Reader('data/AdditionalPumping_south_v2_test.shp').geometries(), 
                  ccrs.epsg(28350),facecolor='none',edgecolor='r',linewidth=1.5,zorder=10)

# This one works 
ax.add_geometries(shapereader.Reader('data/MAR_locations_v2.shp').geometries(), 
                  ccrs.epsg(28350),facecolor='none',edgecolor='r',linewidth=1.5,zorder=10)

plt.show()

==============================

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Сообщество Cartopy на Github нашло решение по этому вопросу. Для тех, кто заинтересован в этом, см. https://github.com/SciTools/cartopy/issues/1217

0 голосов
/ 07 ноября 2018

Я проверил шейп-файл, который вы загрузили в Dropbox. Оказывается, шейп-файл не читается правильно.

когда я распечатываю записи для MAR_locations_v2.shp , это то, что я получаю

Запись (МНОГОПОЛИГОН (((386523.5418971451 6432084.711430285, 386523.5418971451 6432184.711430287, 386573.541897146 6432184.711430287, 386573.541897146 6432084.711430285, 386523.5418971451 6432084.711430285))), {'Name': ''},)

Запись (МНОГОПОЛИГОН (((386405.7078714892 6438043.356735789, 386405.7078714892 6438143.356735789, 386505.7078714911 6438143.356735789, 386505.7078714911 6438043.356735789, 386405.7078714892 6438043.356735789))), {'Name': ''},)

и когда я печатаю записи для AdditionalPumping_south_v2_test.shp , я получаю

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 1, 'row': 465.0, 'column_': 94.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 2, 'row': 469.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 3, 'row': 470.0, 'column_': 94.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 4, 'row': 473.0, 'column_': 106.0, 'Shape_Leng': 80.0, 'Shape_Area': -400.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 5, 'строка': 475,0, 'column_': 93,0, 'Shape_Leng': 240,0, 'Shape_Area': -2000.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 6, 'строка': 475.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 7, 'строка': 480.0, 'column_': 93.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 8, 'строка': 482.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 9, 'row': 482.0, 'column_': 110.0, 'Shape_Leng': 80.0, 'Shape_Area': -400.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 10, 'row': 485.0, 'column_': 92.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 11, 'строка': 489.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 12, 'row': 490.0, 'column_': 92.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 13, 'строка': 491,0, 'column_': 114,0, 'Shape_Leng': 80,0, 'Shape_Area': -400.0},)

Запись (ГЕОМЕТРИЧЕСКАЯ КОЛЛЕКЦИЯ ПУСТО, {'OBJECTID': 14, 'row': 495.0, 'column_': 91.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 15, 'row': 496.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 16, 'row': 500.0, 'column_': 91.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 17, 'row': 500.0, 'column_': 118.0, 'Shape_Leng': 80.0, 'Shape_Area': -400.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 18, 'строка': 503.0, 'column_': 97.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 19, 'строка': 509.0, 'column_': 120.0, 'Shape_Leng': 80.0, 'Shape_Area': -400.0},)

Запись (GEOMETRYCOLLECTION EMPTY, {'OBJECTID': 20, 'row': 510.0, 'column_': 96.0, 'Shape_Leng': 240.0, 'Shape_Area': -2000.0},)

Запись (ПУТЬ ГЕОМЕТРИКОЛЛЕКЦИИ, {'OBJECTID': 21, 'строка': 518.0, 'column_': 119.0, 'Shape_Leng': 80.0, 'Shape_Area': -400.0},)

это не полный ответ на вопрос, однако он отвечает на часть, почему вы не получаете сюжет. Возможно, вы захотите сохранить свой шейп-файл по-другому, чтобы вывести его на график.

...