Ich habe eine Maske über einem Vektor Shapefile erstellt und dann eine andere erstellt, die in den relevanten Bereich zoomt. Das Problem, das ich mit dieser neuen Maske habe, ist, dass der maskierte Bereich das Bit ist, das ich möchte, also muss ich es irgendwie invertieren. (Bitte beachte, dass ich numpy als np importiert)Wie invertiere ich ein maskiertes numpy Array?
Dies ist der Code, den ich für die zweite Maske verwendet:
catchment_mask = gmask[minrow:minrow+nrow, mincol:mincol+ncol]
catchment_mask = np.where(catchment_mask == 1, 1., np.nan)
Ich habe versucht, diesen Code verwenden es zu invertieren, aber es hat eine Anwendung Maske auf die gesamte Fläche:
inverse_catchment_mask = (np.logical_not(catchment_mask))
Ich wäre wirklich dankbar für Anregungen!
Ihre Einrückung ist deaktiviert. Es gibt eine 'np.ma', MaskedArray-Unterklasse, aber ich glaube nicht, dass Sie das haben. Es sieht so aus, als ob Ihre 'Maske' ein Stück' gmask' ist, aber dann erstellen Sie ein neues Array mit 'where'. Warum? Das ist keine Sicht mehr. Warum der 'np.nan'? 'logic_not' davon ist' False'. – hpaulj