Scénario de test & Cas d'usage
Traitement, manipulation et analyse d'images.
Découvrir toutes les actions de imageCrée une table 'SATELLITE_ANNOTATIONS' avec des données d'annotation hétérogènes pour des polygones (format Protobuf). La table inclut un enregistrement valide, un avec une valeur manquante pour l'annotation, et un avec une chaîne de caractères malformée qui ne peut pas être parsée comme un Protobuf.
| 1 | DATA casuser.SATELLITE_ANNOTATIONS; |
| 2 | LENGTH image_id $40 _protobuf_data_ $500; |
| 3 | |
| 4 | /* Cas 1: Donnée valide */ |
| 5 | image_id = 'SAT_IMG_FR_PARIS_001.tif'; |
| 6 | _protobuf_data_ = '1a2b0a290a0408011001122109f6...'; /* Chaîne Protobuf valide (simulée) */ |
| 7 | OUTPUT; |
| 8 | |
| 9 | /* Cas 2: Donnée manquante */ |
| 10 | image_id = 'SAT_IMG_FR_LYON_002.tif'; |
| 11 | _protobuf_data_ = ''; /* Chaîne vide */ |
| 12 | OUTPUT; |
| 13 | |
| 14 | /* Cas 3: Donnée malformée */ |
| 15 | image_id = 'SAT_IMG_DE_BERLIN_003.tif'; |
| 16 | _protobuf_data_ = 'ceci-nest-pas-un-protobuf'; /* Chaîne invalide */ |
| 17 | OUTPUT; |
| 18 | |
| 19 | /* Cas 4: Donnée avec valeur SAS manquante */ |
| 20 | image_id = 'SAT_IMG_ES_MADRID_004.tif'; |
| 21 | call missing(_protobuf_data_); |
| 22 | OUTPUT; |
| 23 | RUN; |
| 1 | PROC CAS; |
| 2 | image.annotateImages / |
| 3 | TABLE={name='SATELLITE_ANNOTATIONS'} |
| 4 | casOut={name='SATELLITE_ANNOTEES_ROBUST', replace=true} |
| 5 | annotations={{annotation={ |
| 6 | annotationType='PROTOBUF', |
| 7 | representation={representationType='SINGLE_COLUMN', columnName='_protobuf_data_'} |
| 8 | }}} |
| 9 | images={id='image_id', image='_image_'}; |
| 10 | RUN; |
| 11 | QUIT; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | list rows=10 casdata='SATELLITE_ANNOTEES_ROBUST'; |
| 4 | QUIT; |
| 5 |
L'action s'exécute jusqu'à son terme sans erreur fatale. La table 'SATELLITE_ANNOTEES_ROBUST' est créée et contient 4 lignes. Seule l'image 'SAT_IMG_FR_PARIS_001.tif' est visuellement annotée avec le polygone. Les trois autres images sont présentes dans la table mais ne sont pas annotées. Le journal (log) SAS doit contenir des avertissements indiquant que les annotations pour les images de Lyon, Berlin et Madrid n'ont pas pu être appliquées en raison de données manquantes ou invalides. Ce comportement confirme la robustesse de l'action.