как замаскировать данные конкретного массива на основе шейп-файла

Вот мой вопрос:данные двумерного массива представляют некоторые свойства каждого пространства сеткишейп-файл как административное деление учебного района (например, города).Например:

http://i4.tietuku.com/84ea2afa5841517a.png

Вся область имеет сетку 40x40, и я хочу извлечь данные внутри фиолетовой области. Другими словами, я хочу замаскировать данные за пределами административной границы в np.nan.

Моя ранняя попытка

Я помечаю номер сетки и выбираю конкретные данные массива в np.nan.

http://i4.tietuku.com/523df4783bea00e2.png

 value[0,:] = np.nan
 value[1,:] = np.nan
       .
       . 
       .
       .

Может ли кто-нибудь показать мне более простой способ достижения цели?

добавлять

Нашел ответВот который может отображать растровые данные в шейп-файл, но сами данные не изменяются.

Обновление -2016-01-16

Я уже решил эту проблему, вдохновленный некоторыми ответами.
Кто-то, кто заинтересован в этой цели, проверьте эти два сообщения, которые я спросил:
1.Точка тестирования с входным / выходным векторным шейп-файлом
2.Как использовать заданный обтравочный контур для полигона Basemap

Ключевым шагом было проверить точку в / из шейп-файла, который я уже преобразовал в shapely.polygon.

Ответы на вопрос(2)

Ваш ответ на вопрос