Suite

Meilleur moyen de copier les métadonnées GDAL d'une image JP2 à une autre


J'ai une question distincte concernant les mauvaises performances de GDAL CreateCopy() sur un fichier jp2 volumineux (4096x4096), voici donc un aperçu sous un angle différent :

J'ai un programme openCV C++ qui prend une image JP2 et en fait une copie après avoir fait quelques manipulations. Le nouveau fichier image JP2 ne contient pas les métadonnées GDAL (voir exemple ci-dessous). Serait-il plus rapide de charger le GDALDataSet à partir de l'image d'origine, puis d'appeler GDAL SetMetaData() pour chaque élément de métadonnées ?

Si oui, quelqu'un a-t-il un exemple de code C++ pour parcourir les éléments de métadonnées dans le GDALDataSet d'origine ?

Métadonnées GDADINFO d'origine :

Pilote : pilote JP2OpenJPEG/JPEG-2000 basé sur la bibliothèque OpenJPEG Fichiers : mask.jp2 La taille est 4096, 4096 Le système de coordonnées est : GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTORITE["EPSG","7030"]], AUTORITE["EPSG","6326"]], PRIMEM["Greenwich",0], UNITÉ["degré",0.0174532925199433], AUTORITE["EPSG","4326 "]] Origine = (-97.025756835937500,32.398681640625000) Taille du pixel = (0.000001341104507, -0.000001341104507) Métadonnées de la structure de l'image : INTERLEAVE=PIXEL Coordonnées du coin : en haut à gauche (-97.0257568, 32.3986816) ( 97d 1'32.72"W, 32d23'55.25" N) En bas à gauche ( -97,0257568, 32,3931885) ( 97d 1'32.72"W, 32d23'35.48"N) En haut à droite ( -97,0202637, 32.3986816) ( 97d 1'12.95"W, 32d23'55.25"N) En bas à droite ( - 97.0202637, 32.3931885) ( 97d 1'12.95"W, 32d23'35.48"N) Centre ( -97.0230103, 32.3959351) ( 97d 1'22.84"W, 32d23'45.37"N) Bande 1 Bloc=1024x1024 Type=Byte, ColorInterp= Aperçus rouges : 2048x2048, 1024x1024, 512x512, 256x256 Aperçus : arbitraire Band 2 Block=1024x1024 Type=Byte , ColorInterp=Vert Aperçus : 2048x2048, 1024x1024, 512x512, 256x256 Aperçus : arbitraire Bande 3 Bloc=1024x1024 Type=Byte, ColorInterp=Bleu Aperçus : 2048x2048, 1024x1024, 512x512, 256x256 Aperçus : arbitraire

Une suggestion est d'utiliser un VRT (Virtual Raster).

Il y a un certain nombre de façons de le faire.

  1. Utilisez le pilote VRT pour créer une copie du JP2 d'origine en mémoire (sous forme de chaîne XML VRT) à l'aide du système de fichiers de mémoire virtuelle /vsimem, modifiez le fichier XML VRT en mémoire et modifiez l'élément SourceFilename pour pointer vers le nouveau raster traité (en utilisant VSFIOuvrir,VSIFLireetVSIFÉcrire) puis ouvrez le fichier en utilisant GDALOpen/GDALOpenShared

  2. Construisez le XML VRT en tant que variable de chaîne, utilisez GDALOpen/GDALOpenShared pour ouvrir la variable de chaîne directement. Cela fonctionne en python, je ne sais pas si cela fonctionne en C++. Si ce n'est pas le cas, écrivez le XML dans un fichier (sur le système de fichiers ou le système de fichiers de la mémoire virtuelle /vsimem), puis ouvrez le fichier à l'aide de GDALOpen/GDALOpenShared.

  3. Il existe d'autres exemples de création de VRT par programmation dans le didacticiel VRT.

Enfin, utilisez le pilote OpenJPEG CreateCopy pour créer la copie finale à partir du vrt

Vous trouverez ci-dessous du code python implémentant l'élément 1. (non testé car je n'exécute pas GDAL >=2.0dev):

depuis osgeo import gdal def read_vsimem(filepath): """ Lire les fichiers GDAL vsimem """ vsifile = gdal.VSIFOpenL(fn,'r') gdal.VSIFSeekL(vsifile, 0, 2) vsileng = gdal.VSIFTellL(vsifile) gdal.VSIFeekL(vsifile, 0, 0) return gdal.VSIFReadL(1, vsileng, vsifile) def write_vsimem(filepath,data): """ Écrire les fichiers GDAL vsimem """ vsifile = gdal.VSIFOpenL(fn,'w' ) size = len(data) gdal.VSIFWriteL(data, 1, size, vsifile) return gdal.VSIFCloseL(vsifile) def create_copy(ds, drivername, filepath, creation_options=[]): """ Créer une copie d'un GDAL dataset """ drv = gdal.GetDriverByName(drivername) return drv.CreateCopy(ds, filepath, creation_options) def copy_everything(inpath, fixpath, outpath): """ Copie _all_ le géoréférencement et d'autres métadonnées d'un fichier à un autre Suppose que les fichiers correspondent exactement… ! """ vrtpath= '/vsimem/foo.vrt' inds = gdal.Open(inpath) vrtds = create_copy(inds, 'VRT', vrtpath) vrtxml = read_vsimem(vrtpath) write_vsimem(vrtpath, (vrtxml.replace inpath, fixpath)) #USE_SRC_CODESTREAM=YES/NO onl y disponible dans GDAL >= 2.0 (EXPERIMENTAL!) outds = create_copy(ds, 'JP2OpenJPEG', outpath, creation_options=['USE_SRC_CODESTREAM=YES'])

Ce problème a été résolu en imitant le comportement de gdalcopyproj.py ; mais cela nécessitait une mise à jour vers le jeu de codes GDAL2.0 "pas encore stable".


Écrire les métadonnées GeoTIFF d'un fichier à l'autre

Ma tâche consiste à prendre un GeoTIFF, à effectuer une segmentation d'image et à l'enregistrer dans un nouveau GeoTIFF (avec les coordonnées existantes). Si je comprends bien, les coordonnées sont conservées dans les métadonnées GeoTIFF. Je récupère donc les métadonnées du fichier d'origine :

Et quand je fais System.out.println("Metadata: "+metadata) , je vois l'arborescence XML correcte des métabalises. Alors je fais de la magie avec l'image

En résultat, j'obtiens une BufferedImage (resultBufferedImage) avec une segmentation d'image réussie. Et ici commence mes problèmes, j'essaie de sauvegarder cette BufferedImage avec d'anciennes métadonnées :

Je suis imprimé "Après écriture". Mais le programme est toujours en cours d'exécution, j'ai essayé d'attendre, mais aucun résultat. Ainsi, lorsque je tue le processus, le fichier est créé avec succès, même avec des géodonnées. Comment puis-je déterminer la fin de l'écriture et arrêter le programme ? p.s. L'image dans la visionneuse Ubuntu par défaut semble être agréable, mais lorsque je l'ai ouverte dans QGIS, j'ai des champs transparents et comment puis-je rendre l'arrière-plan gris transparent?


2 réponses 2

Cette commande supprimera presque toutes les métadonnées mais conservera les balises ExifIFD:ColorSpace, ExifIFD:Gamma, InteropIFD:InteropIndex et ICC_Profile. ColorSpaceTags est un raccourci ExifTool pour les « balises standard contenant des informations sur l'espace colorimétrique » (ajouté dans la version 9.51).

Il y a quelques mises en garde. -all= ne supprimera pas le bloc Adobe APP14 dans les jpegs, car cela pourrait affecter les couleurs de l'image. Aucune information personnelle n'est contenue dans ce bloc, il n'est donc normalement pas nécessaire de le supprimer. Il ne supprimera pas non plus les balises Exif dans un fichier tiff ou tiff tel que les images brutes Nikon ou Canon (NEF ou CR2), car les données d'image elles-mêmes sont contenues dans le bloc Exif. -CommonIFD0= peut être ajouté à la commande pour effacer les balises Exif les plus courantes dans ces images (voir Balises de raccourci ExifTool pour la liste complète des balises contenues dans le raccourci CommonIFD0).

Je ne vous recommande pas de supprimer les métadonnées de vos images originales. Il est logique de le faire pour les images que vous souhaitez partager ou publier, lors de l'étape d'exportation pour les raisons suivantes :

  • Vous pourriez jeter un œil aux métadonnées de certaines de vos belles images plus tard, pour voir leur exposition, les informations GPS, etc.
  • Comme l'a dit Paul, les images avec le profil sRGB seront correctement visualisées à 99,9% sur n'importe quel appareil ou navigateur Web, tandis que les images avec d'autres profils peuvent être affichées de manière imprévisible pour d'autres personnes.
  • Vos images peuvent être optimisées pour une visualisation meilleure et plus rapide lors de l'exportation
  • Vous pouvez faire beaucoup d'autres choses de post-traitement avec vos images pendant l'exportation comme la netteté, l'application de filigranes, etc.

Alors ma proposition est : ne pas supprimer les métadonnées à partir de vos images qui a de la valeur pour vous. Et utilisez plutôt un logiciel de gestion de photos pour exportation vos images au bon format, applique votre profil, supprime les métadonnées, attribuez vos droits d'auteur et vos coordonnées et ajoutez vos filigranes.


Meilleur moyen de copier les métadonnées GDAL d'une image JP2 à une autre - Systèmes d'information géographique

Le cinéma numérique décrit l'utilisation de films avec une représentation de données numériques de la meilleure qualité. Traditionnellement, les films sont tournés sur pellicule et projetés avec un film. Aujourd'hui, cela se fait avec des appareils photo numériques et des projecteurs numériques. En raison de l'énorme quantité de données dans ce domaine d'application, la compression des données est nécessaire. Contrairement au Cinéma Electronique, qui utilise la numérisation du film pour de nouvelles voies de commercialisation, le Cinéma Numérique ne remplace que la chaîne du film de l'acquisition aux salles de cinéma. Par conséquent, le cinéma numérique doit atteindre et surpasser la meilleure qualité de film traditionnelle. Les paramètres pour la représentation numérique du film doivent être beaucoup plus étendus que dans les vidéos standard.

D'autres normes de compression ont des limites différentes pour l'utilisation dans le cinéma numérique. Cela peut être la résolution maximale, les possibilités de compression (uniquement avec perte), le type d'échantillonnage, l'espace colorimétrique ou la profondeur de bits. Cependant, JPEG2000 est une excellente norme de compression pour une utilisation dans le cinéma numérique, car il offre suffisamment de marge dans la description des données de film numérique et possède des fonctionnalités exceptionnelles, qui peuvent être utilisées. Certaines fonctionnalités de JPEG2000 sont le codage intraframe pour un accès d'édition simple, des capacités de compression sans perte, l'insertion de métadonnées, l'évolutivité de la résolution et de la qualité, etc. Toutes les fonctionnalités de l'image fixe JPEG2000 Standard 15444 - Part1 peuvent également être utilisées.

Les exigences en matière de compression de données pour le cinéma numérique, notamment une plage dynamique élevée, différents espaces colorimétriques, les résolutions d'image les plus élevées, la meilleure qualité de compression jusqu'à une compression sans perte, ont été rendues possibles par l'utilisation de JPEG 2000.

Marché de la diffusion

JPEG 2000 a été adopté par l'industrie de la diffusion comme compression mezzanine dans les flux de production en direct. La compression offre des avantages uniques adaptés à la production vidéo comme alternative à la vidéo non compressée. Aujourd'hui, JPEG 2000 est utilisé pour sa haute qualité et sa faible latence dans les applications de vidéo sur IP telles que Contribution Links (événements en direct à la transmission en studio) et les récentes infrastructures de studio de diffusion IP. De plus, il est également utilisé comme format maître pour le stockage de contenu. Les implémentations de diffusion reposent essentiellement sur le JPEG 2000 Amd3 pour la contribution à la diffusion et le JPEG 2000 Amd8 pour les formats maîtres interopérables (IMF).

En 2014, plusieurs entreprises ont reçu un Emmy® Award pour leurs avancées dans la normalisation et la production du transport de vidéo avec le profil de diffusion JPEG 2000 dans les réseaux MPEG-2 TS sur IP.

Il existe plusieurs avantages principaux pour les flux de production de diffusion basés sur JPEG 2000 :

  • Compression intra-image JPEG 2000 est un schéma de codage basé sur l'intra-image, car il code chaque image indépendamment. C'est un grand avantage pour les applications d'édition de contenu, car le signal vidéo peut être coupé à n'importe quel endroit sans répercussion.
  • Qualité vidéo JPEG 2000 offre un ensemble d'outils amélioré particulièrement bien adapté à la vidéo de haute qualité. Alors que la force motrice du MPEG a toujours été de fournir une bonne qualité vidéo à de faibles débits, par ex. pour la diffusion TV/Mobile/Internet en améliorant la prédiction temporelle, la force motrice derrière JPEG 2000, d'autre part, a été de produire une norme avec une compression de haute qualité d'images ou d'images individuelles. JPEG 2000 peut allouer plus de bits par échantillon, par ex. Une vidéo 10 bits est proposée, ce qui est conforme aux spécifications de production de diffusion et à la pratique habituelle des studios.
  • Moins d'artefacts visuels Les erreurs de bits dans un flux JPEG 2000 créent moins d'artefacts visuels que les solutions MPEG, car l'erreur apparaît sous la forme d'un flou de courte durée dans l'image beaucoup moins perturbant visuellement que les effets de blocage qui peuvent également durer beaucoup plus longtemps.
  • Faible latence Le traitement à faible latence est crucial pour la contribution à la télévision en direct. La technologie JPEG 2000 est capable de fournir cette latence ultra faible requise car il n'y a aucune dépendance entre les trames signalées. En général, la technologie est capable d'atteindre facilement des latences d'encodage et de décodage inférieures à 1,5 trames, et certaines implémentations peuvent même offrir des latences inférieures à une trame.
  • Complexité symétrique et structure de coûts pour la vidéo en temps réel Il faut la même puissance pour faire une compression et une décompression et la même quantité pour faire n'importe quelle qualité de compression. L'architecture des systèmes de production audiovisuelle comporte le même nombre d'émetteurs/encodeurs et de récepteurs/décodeurs. Le coût et la complexité de l'émetteur et du récepteur doivent donc être de préférence les mêmes, ce qui est le cas avec JPEG 2000. L'encodage et le décodage peuvent se faire à l'aide des mêmes puces.
  • Transmission de la robustesse JPEG 2000 est un choix particulièrement judicieux pour la contribution de vidéo sur IP car il est exceptionnellement résistant aux erreurs de transmission. Comme décrit précédemment, JPEG 2000 ne fournit aucun artefact de blocage et toutes les erreurs introduites sont plus agréables à l'œil. De plus, étant donné que JPEG 2000 n'a pas de propagation d'erreur entre les images, les artefacts ont une durée de vie beaucoup plus courte. Intrinsèquement, JPEG 2000 possède également des mécanismes spéciaux pour augmenter la robustesse aux erreurs de transmission.
  • Robustesse à l'encodage multiple Dans une chaîne de processus de compression-décompression successifs sur le même matériau d'origine, la technologie de compression JPEG 2000 maintient très bien la même qualité et est robuste aux décalages de pixels.
  • Édition facile grâce à l'évolutivité des résolutions et de la qualité L'évolutivité de la résolution permet aux monteurs de manipuler facilement une séquence en ne manipulant qu'une faible résolution (proxy) du film. Toutes les opérations effectuées sur la basse résolution sont ensuite appliquées sur la version pleine résolution.

Archives d'images et bases de données

L'une des premières utilisations de JPEG 2000 sera comme format de fichier de base dans les archives d'images et les bases de données. Traditionnellement, les archives d'images stockent plusieurs copies d'un fichier individuel à différentes résolutions et niveaux de qualité afin qu'elles puissent fournir des données d'image appropriées sur demande. De plus, des métadonnées considérables sont détenues sur chaque image pour lui permettre d'être facilement classée et récupérée.

Les fichiers JPEG 2000 peuvent généralement contenir de nombreuses métadonnées stockées dans un environnement XML conforme à la norme. En plus de permettre aux métadonnées sélectionnées d'une base de données d'images d'être distribuées à ses utilisateurs, cela permet l'échange de fichiers d'images avec des métadonnées entre les bases de données et supprime le besoin d'une étape de saisie manuelle des données lors du catalogage de nouvelles images. De plus, les fichiers peuvent être stockés en haute qualité dans un environnement sans perte et à gestion des couleurs, avec une conversion vers une résolution inférieure ou une qualité inférieure effectuée « à la volée ». La capacité d'une partie d'un fichier JPEG 2000 à être utilisée pour la génération de telles images modifiées signifie également qu'il devient pratique de fournir d'autres capacités à la demande.

Un exemple pourrait être de filigraner chaque image telle qu'elle est livrée, non seulement avec des détails qui communiquent la paternité ou la propriété, mais également des informations transactionnelles. Cela pourrait inclure des restrictions de licence, des détails sur le client ou des informations qui permettraient à l'image d'être facilement reconnue grâce à un processus automatisé conçu pour tester les violations du droit d'auteur.

La nouvelle partie 8 de la norme JPEG 2000 (JPSEC) traitant de la sécurité aborde ces possibilités, tandis que la partie 9 (JPIP) définit comment les applications interactives entre un client et un serveur peuvent être créées. Cela aussi sera très important dans le domaine de la base de données d'images - à titre d'exemple, cela rend la récupération de parties sélectionnées d'une image beaucoup plus rapide et plus facile à contrôler, permettant des opérations de « panoramique et zoom » sur une partie d'une image. Des démonstrations de cette technologie existent déjà (par exemple en utilisant Kakadu) dans lesquelles plusieurs zones d'une image peuvent être sélectionnées par un utilisateur et sont livrées plus rapidement que les parties restantes moins intéressantes. Il existe donc une gamme de nouvelles opportunités de navigation pour les logiciels clients distants, faisant de la fourniture d'informations d'images volumineuses de haute qualité sous le contrôle de l'utilisateur une réalité pratique.

L'imagerie médicale

JPEG 2000 présente de nombreuses caractéristiques utiles à l'un de ses marchés cibles, l'imagerie médicale. Un certain contexte à ce sujet a été couvert dans un document du comité JPEG (N2782) qui donne également des informations utiles sur le fonctionnement de JPEG 2000. Un aspect clé qui préoccupe souvent la profession médicale est la nécessité de s'assurer que les images peuvent être communiquées sans perte, sans aucune distorsion introduite par un processus de compression qui peut conduire à un diagnostic erroné. Cela se traduit souvent par des fichiers volumineux, qui peuvent être difficiles à stocker, à gérer et à communiquer. JPEG 2000 peut être utilisé pour encoder des fichiers complètement (ou partiellement) sans perte et offre de bonnes performances de compression à cette fin (semblables, par exemple, à celles offertes par la méthode optimisée de JPEG pour une telle compression, JPEG-LS (IS 14495)). Il possède cependant plusieurs fonctionnalités supplémentaires qui rendent JPEG 2000 particulièrement attractif pour l'imagerie médicale :

  • prise en charge des images volumétriques via la partie 10
  • des parties sélectionnées de l'image peuvent être définies comme des régions d'intérêt - elles peuvent alors être livrées avant d'autres parties de l'image, ou sans perte, tandis que d'autres parties de l'image qui sont moins critiques utilisent une compression normale avec perte.
  • le flux codé JPEG 2000 peut être commandé pour fournir des images de résolution inférieure ou de qualité réduite, bien avant que l'image complète puisse être transmise. Cela aide considérablement à parcourir les applications et signifie qu'un seul fichier est nécessaire pour plusieurs applications
  • des métadonnées étendues peuvent être incluses avec l'image, dans une association étroite. Cela signifie que les fichiers peuvent être transmis entre les destinataires qui peuvent être facilement traités ou indexés dans une base de données existante. Certaines applications, telles que celles relatives aux normes DICOM, ont leurs propres méthodes sophistiquées pour gérer ces métadonnées, et JPEG travaille avec le comité DICOM pour s'assurer que ces deux normes importantes peuvent être facilement intégrées.
  • de nombreuses formes différentes d'images peuvent être utilement compressées à l'aide de JPEG 2000 - par exemple radiologique, IRM, CAT et d'autres modalités d'imagerie médicale, qui utilisent des capteurs non visuels, et peuvent utiliser des techniques d'amélioration telles que la pseudo-coloration de l'image résultante

Héritage culturel

De nombreuses institutions du patrimoine culturel telles que les musées et les galeries d'art possèdent des collections très étendues qui ne sont pas visibles par le public en raison de leur capacité d'exposition et pour d'autres raisons. Des projets, tels que 'NOF-Digitise' au Royaume-Uni avec un budget de plus de 80 millions de dollars, sont en cours de création pour essayer de fournir des ressources d'apprentissage en ligne et d'autres solutions pour un accès mondial. Les catastrophes naturelles telles que les incendies, les tremblements de terre et les inondations, ainsi que les problèmes créés par la guerre, le vandalisme et le terrorisme montrent la nécessité de préserver ces informations sous une forme aussi précise que possible de peur que le patrimoine ne soit perdu à jamais. En outre, il est extrêmement important d'utiliser des normes largement adoptées qui ont une certaine chance de longévité face aux changements technologiques. Le projet britannique « Domesday », par exemple, dans lequel la BBC a aidé de nombreuses écoles et individus à constituer un dossier complet du Royaume-Uni (en novembre 1986) pour célébrer le 900e anniversaire du Domesday Book a été créé à l'aide d'un ordinateur BBC Master avec un interface propriétaire à un vidéodisque analogique. Les problèmes moins de 20 ans plus tard sont évidents et les dépenses importantes pour le projet risquent d'être perdues, à moins que des émulateurs pour le matériel puissent être créés.

La norme JPEG originale existe depuis presque aussi longtemps que les vidéodisques du projet Domesday décrits ci-dessus. Bien qu'il n'y ait qu'un ou deux lecteurs Domesday fonctionnels et quelques tentatives pour sauver la situation, il existe des centaines de millions d'appareils qui peuvent imager des fichiers JPEG. La norme JPEG 2000 a été conçue dès le départ pour essayer de traiter de nombreux domaines qui concernent les utilisateurs du secteur du patrimoine culturel.Ceux-ci inclus:

  • compression sans perte de haute qualité avec gestion complète des couleurs
  • extensions aux images animées et 3D avec les mêmes avantages
  • une base de référence sans redevance ni licence pour un déploiement à grande échelle
  • protection de la morale et des droits d'auteur grâce à un mécanisme de sécurité bien défini qui peut (par exemple) offrir un affichage en miniature non déformé et un affichage haute résolution crypté à partir du même fichier image
  • une architecture client/serveur complète pour que les utilisateurs puissent zoomer et dézoomer sur les images, ou pour demander que les régions d'intérêt soient desservies avant le matériel de fond
  • possibilités étendues de métadonnées, y compris l'incorporation d'informations d'appareil photo numérique (telles que celles contenues dans les fichiers EXIF), ainsi que les métadonnées Dublin Core utilisées comme base pour de nombreux projets de patrimoine culturel
  • adhésion à des normes bien acceptées et définies, y compris l'utilisation de XML, HTTP et autres dans l'architecture définie
  • un historique d'exactitude et d'acceptation par l'industrie

Imagerie sans fil

Les communications sans fil présentent leur propre ensemble de problèmes. Plus précisément, les réseaux sans fil se caractérisent par l'apparition fréquente d'erreurs de transmission avec une faible bande passante. De ce fait, ils imposent de fortes contraintes à la transmission des images numériques. Étant donné que JPEG2000 offre une efficacité de compression élevée, c'est un bon candidat pour les applications multimédias sans fil. De plus, en raison de sa grande évolutivité, JPEG2000 permet un large éventail de stratégies de qualité de service (QoS) pour les opérateurs de réseau.

Pour être largement adopté pour les applications multimédia sans fil, JPEG 2000 doit être résistant aux erreurs de transmission. Pour résoudre ce problème, le comité JPEG a établi un nouvel élément de travail, JPEG 2000 Wireless (JPWL), en tant que partie 11 de la norme. Son objectif est de normaliser les outils et les méthodes pour parvenir à une transmission efficace des images JPEG 2000 sur un réseau sans fil sujet aux erreurs.

La principale fonctionnalité du système JPWL est de protéger le flux codé contre les erreurs de transmission. Plus précisément, la technique de protection modifie le flux codé pour le rendre plus résistant aux erreurs, par ex. en ajoutant de la redondance ou en entrelaçant les données. Le processus de décodage détecte l'apparition d'erreurs et les corrige dans la mesure du possible.

Une deuxième fonctionnalité consiste à décrire le degré de sensibilité des différentes parties du flux codé aux erreurs de transmission. Ces informations peuvent ensuite être utilisées pour une protection inégale contre les erreurs. Plus précisément, les parties sensibles du flux codé peuvent être plus fortement protégées que les parties moins sensibles.

Une troisième fonctionnalité consiste à décrire les emplacements des erreurs résiduelles dans le flux codé. Ces informations peuvent ensuite être utilisées pour informer un décodeur de la perte d'informations et empêcher le décodage de parties corrompues du flux.

En utilisant les technologies standardisées dans JPWL, JPEG2000 devient très résistant aux erreurs de transmission. Par conséquent, JPEG2000 est un candidat idéal pour la transmission efficace d'images et de vidéos numériques dans les applications sans fil. En effet, des études récentes ont montré que Motion JPEG2000 est très bien adapté à la transmission vidéo sur des canaux sans fil. Plus précisément, il a été démontré que Motion JPEG2000 surpasse le MPEG-4 de pointe en termes d'efficacité de codage, de résistance aux erreurs, de complexité, d'évolutivité et de délai de codage.

Bien que les solutions proposées ne soient pas adaptées à un protocole réseau spécifique, une attention particulière a été portée à trois cas d'utilisation importants : les réseaux de téléphonie sans fil de 3e génération (3GPP/3GPP2), WLAN (famille de normes IEEE 802.11) et Digital Radio Mondiale (DRM) .

Parmi les applications potentiellement mortelles pour JPWL, le service de messagerie multimédia (MMS) connaît une croissance très rapide et est largement considéré comme l'un des seuls points positifs de l'industrie des télécommunications sans fil. D'autres applications potentielles incluent le streaming vidéo et la vidéoconférence.

Pré-presse

Le prépresse est le processus utilisé lorsque les fichiers numériques sont préparés pour l'impression. Deux exigences clés de ce processus sont la fidélité et la cohérence. Dans le passé, l'industrie du prépresse dépendait d'une compression d'image sans perte (par exemple en utilisant les formats de fichier EPS ou TIFF) et d'un étalonnage des couleurs de tous les composants du processus, en utilisant des conditions d'éclairage et de visualisation définies afin d'obtenir des résultats optimaux.

JPEG 2000 offre à l'industrie du prépresse la possibilité à la fois de remplacer ses formats traditionnels par les aspects plus avancés inhérents à JPEG 2000, et de réutiliser son contenu pour lui permettre d'être utilisé dans la publication sur Internet ou dans d'autres contextes. La même image JPEG 2000 peut générer des vignettes, des images d'écran et du matériel prêt à imprimer simplement en tronquant un flux codé préparé à différents points. De plus, la gestion et l'association puissantes des métadonnées dans les fichiers JPEG 2000 signifient que les processus de gestion des actifs numériques ou de flux de travail peuvent être facilement liés à la livraison prépresse, offrant ainsi une sécurité au photographe, au créateur d'images et à l'imprimeur.

Une facette clé est la capacité de JPEG 2000 à fournir une véritable compression sans perte - dans un mode de fonctionnement possible, même la transformation de couleur à partir d'un profil de couleur défini tel que sRGB est sans perte. JPEG 2000 permet d'utiliser un certain nombre de profils de gestion des couleurs bien définis, et en particulier les profils de couleurs ICC, prenant en charge les espaces CMJN utilisés dans l'industrie du prépresse. Comme le format de fichier peut inclure des définitions complètes de l'espace colorimétrique (au moins dans la version étendue de JPEG 2000 définie dans la partie 2 de la norme), y compris la formule utilisée pour la transformation vers un autre espace colorimétrique, des représentations de couleurs propriétaires et précises peuvent être transférées entre les systèmes (au moins dans les limites des périphériques de sortie pour les rendre).

Télédétection et SIG

Les systèmes d'information géographique (SIG) permettent la visualisation et l'analyse de plusieurs couches d'informations liées à l'espace associées à un emplacement géographique ou une région. Le SIG permet aux entreprises et aux gouvernements d'analyser facilement le développement, l'entretien et l'impact des routes, de la végétation, des services publics (eau, électricité, communication, égouts).

Le SIG comprend des cartes, des informations vectorielles et des images. La collecte d'images est généralement réalisée par télédétection. La télédétection a commencé avec la photographie aérienne à la fin des années 1800 à bord d'un ballon. Des avions ont été utilisés pour collecter des informations d'en haut au début des années 1900 et la première image prise de l'espace était à bord du vaisseau spatial Apollo en 1969. Au début des années 1970, le premier satellite d'imagerie (ERTS-1) a collecté des images de la Terre. Les images continuent d'être collectées à la fois dans l'espace et dans les avions et sont disponibles pour un usage commercial et personnel sur Internet. Le défi pour les images de télédétection pour les SIG et d'autres applications est la taille de l'image. Actuellement, il est courant d'avoir des images supérieures à 10 000 x 10 000 pixels, à plusieurs bandes et supérieures à 8 bits par pixel par bande. Alors que JPEG DCT est actuellement utilisé pour la collecte, le stockage et la livraison de plusieurs applications SIG et systèmes de télédétection, d'autres techniques de compression et de format de fichier sont devenues populaires en raison d'une plus grande efficacité de stockage et d'accès aux images volumineuses.

Les exigences initiales pour JPEG 2000 comprenaient les exigences de la communauté de la télédétection et des SIG, qui ont été respectées. Des profondeurs de bits, des tuiles, une progression de résolution, une progression de qualité et un accès rapide aux emplacements spatiaux plus importants contribuent tous à la capacité et à la fonctionnalité de JPEG 2000, ce qui en fait une technologie idéale pour les applications de télédétection et SIG. En tant que norme ouverte, on s'attend à ce que JPEG 2000 devienne plus répandu dans les applications de télédétection et de SIG.

La photographie numérique

La photographie a changé la façon dont les gens enregistrent et se souviennent des images, des événements et des informations scientifiques. La photographie, qui a commencé au milieu des années 1800, a continué d'évoluer au cours des deux derniers siècles de découverte scientifique. Le développement du film flexible à la fin des années 1800, de la photographie couleur au milieu des années 1900 et des appareils photo automatiques à la fin des années 1900 a changé la façon dont les photographies sont prises et présentées. L'ajout le plus récent de la photographie numérique a également changé la façon dont les gens collectent, stockent, modifient, diffusent et affichent des images. La photographie numérique a commencé avec l'avènement des premiers appareils photo numériques commerciaux pour les consommateurs et les professionnels au début des années 1990, ainsi que les premiers systèmes de numérisation d'images de films. À mesure que la technologie progressait, le coût des appareils photo numériques et des services de numérisation de films a baissé et la qualité de l'image a augmenté. La taille de l'image des appareils photo numériques portables professionnels continue de croître, passant d'environ 1 mégapixel en 1993 à 10 mégapixels ou plus en 2003.

À mesure que les appareils photo numériques évoluent, les exigences relatives au format de fichier utilisé pour stocker les données d'image continuent d'évoluer également. Les appareils photo numériques continuent d'augmenter la taille et la profondeur de bits collectées pour une image afin d'augmenter la résolution et d'étendre la plage dynamique et la gamme de couleurs. La photographie numérique nécessite la capacité de compresser des images à trois bandes de 8 à 16 bits par composant. La photographie numérique nécessite une compression efficace et de haute qualité ainsi qu'un décodage rapide d'images correctement dimensionnées pour l'écran d'affichage de l'appareil photo. Les métadonnées pour l'utilisation et l'affichage appropriés de l'image sont une exigence pour la photographie numérique.

Scientifique et Industriel

De nombreuses applications dans le secteur scientifique et industriel se tournent maintenant vers l'utilisation de matériel d'image pour remplacer ou améliorer les enregistrements de données existants. Les exemples incluent l'utilisation d'images de photographies satellites ou aériennes pour établir un lien avec un système de cartographie ou de SIG, et la facilité d'utilisation d'appareils photo numériques pour fournir la preuve de l'achèvement satisfaisant des travaux - par exemple dans l'excavation de canalisations routières. Dans une certaine mesure, ceux-ci dépendent de l'ubiquité et de la disponibilité de la norme, et par conséquent, les projets utilisent souvent des solutions éprouvées et éprouvées. La disponibilité généralisée des appareils photo numériques et des logiciels PC pour afficher et imprimer les résultats est susceptible de réduire les coûts, ce qui est particulièrement important dans les secteurs où le déploiement doit être étroitement lié à la rentabilité de l'entreprise.

Cependant, il est courant d'avoir de nombreuses versions différentes d'images du même élément. Par exemple, un constructeur automobile peut avoir des images d'un moteur de véhicule utilisé dans des applications de service, de marketing, d'assurance qualité, de formation et de test. À mesure que la gestion des actifs numériques devient reconnue comme un contrôle important qu'une entreprise doit utiliser, une plus grande attention devra donc être consacrée à la réutilisation et à la réutilisation des actifs numériques tels que les images. JPEG 2000 offre de nombreuses fonctionnalités utiles dans ce contexte - une gestion appropriée des couleurs, une compression pouvant inclure à la fois des versions avec et sans perte d'une image dans le même fichier, et des options étendues pour ajouter des métadonnées définies par l'utilisateur et standard à un fichier image.

De plus, de nombreux aspects de l'utilisation scientifique et industrielle impliquent un traitement ultérieur d'une image numérique, par exemple pour améliorer des fonctionnalités ou compter des éléments. L'utilisation de toute forme de compression avec perte pour les images dans ce contexte peut créer des problèmes - après tout, les informations rejetées lors de la compression avec perte sont généralement des informations imperceptibles à l'œil humain - ne présentant pas nécessairement les mêmes caractéristiques que les logiciels de traitement d'images informatiques. Il devient donc plus important de s'assurer que les documents d'archives sont conservés avec la plus grande fidélité possible - mais qu'ils soient toujours rapidement consultables et consultables lors d'une étape de pré-traitement par exemple. Là encore, JPEG 2000 peut offrir des avantages significatifs dans cet environnement.

Des kits d'outils logiciels complets sont disponibles auprès d'un certain nombre de fournisseurs qui prennent en charge la nouvelle norme JPEG 2000. Ceux-ci vont des logiciels Jasper et JJ2000 disponibles gratuitement qui sont liés à la partie 5 de la norme JPEG 2000 (logiciel de référence), aux alternatives commerciales de KakaduSoft, Aware, Algovision Luratech, Leadtools, Pegasus et autres. Ceux-ci permettent l'intégration des fonctionnalités complètes de JPEG 2000 dans une large gamme de produits et de systèmes.

L'Internet

De nombreuses applications clés de la nouvelle norme JPEG 2000 utiliseront Internet et les technologies Internet pour distribuer des images. Les images JPEG 2000 ont un certain nombre de propriétés qui les rendent très adaptées à une utilisation avec Internet. En règle générale, les utilisateurs d'Internet sont contraints de télécharger des images volumineuses et de haute qualité en raison de la taille de leur fichier physique. Souvent, les fournisseurs d'images doivent créer trois versions ou plus d'une image, allant d'une minuscule miniature à une image de la taille d'une page.

Les appareils photo numériques se sont améliorés en qualité et en résolution à un niveau où ils rivalisent désormais efficacement avec les films traditionnels. Les images qu'ils génèrent ne sont souvent plus directement adaptées au déploiement Internet - la qualité et la taille sont gaspillées sur les écrans d'ordinateur traditionnels. Cela est dû en partie au fait que le moniteur peut ne pas afficher plus d'un quart de l'image capturée sans défilement, et en partie au fait que la fidélité des couleurs du moniteur ne correspond pas à celle de l'appareil photo.

Ces deux problèmes sont traités par les normes JPEG 2000. Les images enregistrées au format JPEG 2000 peuvent être codées de sorte que les données transmises et imagées augmentent progressivement en résolution, en commençant par une vignette, ou augmentent progressivement en qualité. Une combinaison de ces mesures de qualité (et d'autres) peut également être réalisée - et l'utilisateur peut arrêter la transmission de l'image une fois qu'il a suffisamment de détails pour faire son prochain choix, car les données sont ordonnées dans le fichier de la bonne manière pour simplifier sa livraison par les serveurs d'images.

Les parties de JPEG 2000 qui ont été créées pour faciliter ces méthodes de livraison sont par exemple :

  • La partie 8 (JPSEC) traite de la sécurité des images - par exemple, montre comment utiliser le filigrane et d'autres technologies pour fournir la base technique dont de nombreuses applications de commerce électronique auront besoin pour pouvoir montrer leur matériel sans risquer son piratage
  • La partie 9 (JPIP) définit de nouvelles méthodes pour lier et fournir les métadonnées de l'image (informations sur l'image, comme son heure et son lieu de création) avec l'image elle-même, et pour fournir d'abord sous le contrôle de l'utilisateur les éléments les plus importants de ces informations. Par exemple, un médecin regardant une radiographie pourrait zoomer sur des zones d'intérêt qui pourraient être agrandies ou délivrées avec une qualité nettement améliorée bien avant le reste de l'image.
  • La partie 10 (JP3D) traite de la manière dont les représentations tridimensionnelles des images pourraient être communiquées. La partie 11 (JPWL) examine comment les caractéristiques particulières des communications sans fil et de la téléphonie mobile peuvent affecter la transmission des images JPEG 2000. Elle est bien sûr fortement liée au travail en JPSEC et JPIP

Surveillance

La technologie de surveillance traditionnelle a mis du temps à profiter des avantages du traitement numérique des images. Cela s'explique en partie par le fait que les volumes considérables de données ont nécessité des méthodes de stockage analogiques telles que les enregistreurs vidéo à temps écoulé, et en partie parce que le coût du passage à une base numérique a été prohibitif. Cependant, au cours des dernières années, les coûts ont considérablement diminué, tandis que la puissance et les capacités de traitement se sont améliorées tout aussi rapidement. Cela permet de remédier à bon nombre des lacunes des applications de surveillance traditionnelles, tout en tenant compte de nombreuses préoccupations de la société en matière de confidentialité et d'intrusion.

La détection de mouvement et de nombreuses formes plus sophistiquées d'analyse d'image peuvent être couplées à une nouvelle technologie de capteur pour permettre une surveillance et des alarmes beaucoup plus proactives. L'utilisation de l'amélioration de la « région d'intérêt » permet une identification précise des suspects tout en excluant de l'analyse et de l'exposition publique ultérieure, le spectateur innocent. Un contrôle strict peut être exercé sur l'utilisateur de la technologie de surveillance - par exemple, montrer suffisamment de détails pour permettre la reconnaissance d'un individu reconnu avoir passé un chèque volé, tout en ne permettant pas suffisamment de détails pour permettre à un spectateur corrompu de la scène de voir et copier une signature en cours.

La nécessité pour les preuves stockées d'être d'une qualité suffisante soulève cependant également des préoccupations et un besoin de protection contre la falsification et la fabrication. Il est très facile dans l'environnement numérique de modifier subtilement ou complètement les aspects d'une image et les métadonnées qui l'entourent. Des techniques telles que le cryptage et le filigrane peuvent être utilisées pour aider à se protéger contre ce risque, mais il existe un réel besoin de techniques de gestion des médias bien acceptées qui peuvent aider à réduire les risques dans ce domaine, par exemple en utilisant des tiers de confiance et la technologie cryptographique. De plus, il est important que les preuves ne soient pas segmentées et conservées dans un seul fichier pour éviter les risques évidents de désinformation.

Bon nombre de ces aspects soulignent l'utilité potentielle de JPEG 2000 dans cet environnement :

  • l'utilisation de Motion JPEG 2000 présente des avantages évidents pour capturer des séquences d'actions, dans lesquelles la vue initiale peut être à basse résolution, passer sous le contrôle du moniteur à des résolutions plus élevées, des fréquences d'images plus rapides et inclure plus de métadonnées et de régions d'intérêt
  • les formats de fichier définis pour JPEG 2000 permettent de stocker à la fois des métadonnées standardisées et des métadonnées utilisateur avec les données d'image
  • les nouvelles parties de JPEG 2000 étendent son utilité en ajoutant une nouvelle prise en charge de la sécurité, des communications client-serveur efficaces et la possibilité de lier ses fonctionnalités à une infrastructure sans fil sujette aux erreurs
  • en tant que norme, les coûts de mise en œuvre de la technologie devraient être considérablement inférieurs à ceux d'une technologie propriétaire avec moins de risque de « verrouillage »

Imagerie de documents

Les applications d'imagerie documentaire sont souvent un compromis entre qualité et compression. À mesure que la technologie s'est améliorée et que la couleur est devenue la norme pour de nombreux formats de publication, les attentes des utilisateurs en matière de qualité ont également augmenté. Comme il y a souvent une exigence pour une visualisation précise à l'écran, ainsi que la possibilité d'imprimer des fac-similés de haute qualité d'un document original, les exigences de compression sont souvent contradictoires. De nombreux documents contiennent des zones qui sont mieux communiquées au format texte codé par caractères (pour permettre une compression et une indexation optimales), ainsi que des images photographiques ou en demi-teintes, des graphiques et d'autres types d'images.


Quelles métadonnées includegraphics peut-il lire et rapporter ?

J'utilise TeXlive 2016 avec LuaTeX. Mes documents TeX incluent des images, qui doivent être en niveaux de gris aplatis 8 bits (pas de transparence) ou monochromes 1 bit, au format PNG. Je suis bon avec les programmes graphiques et je prépare correctement les images avec le modèle et la résolution appropriés, j'ai fini d'utiliser Magick mogrify -strip et j'ai vérifié avec identifier -verbose .

Apparemment, includegraphics sait comment dimensionner une image à une échelle de 100 %, en fonction de ses pixels et de sa résolution. Il a lu les métadonnées, je suppose. Maintenant, pour ma question : includegraphics (ou une autre commande dans LuaLaTeX, pas shell) peut-il donner une réponse oui-non pour savoir si une image est vraiment en niveaux de gris ou monochrome ? Les images sont toujours au format PNG.

Mon souci est qu'une image non traitée (disons dans le modèle rgba, en utilisant uniquement des nuances de gris) pourrait accidentellement être incluse. Je ne m'attends pas à ce que TeX convertisse l'image ou opère dessus de quelque manière que ce soit. Tout ce que je veux, c'est qu'il soit inspecté. Si ce n'est pas gris ou monochrome aplati, j'écrirais un message d'avertissement dans le journal.Je saurais alors que j'ai inclus par erreur le mauvais type d'image.

Possible, sans rames de code ? J'ai la spécification PDF, mais sa lecture n'est pas pour les amateurs.

Ma question est plus large qu'il n'y paraît. Toute personne préparant un PDF pour l'impression à la demande en noir et blanc serait confrontée à des problèmes similaires. Je me rends compte que les images ne sont pas PNG dans le PDF, mais c'est ainsi qu'elles sont entrées dans TeX.

EDIT : après avoir examiné la réponse de David, ci-dessous, j'ai examiné le format de l'image plus en détail. Quelque chose de similaire s'applique à JPG, mais je vais me concentrer sur PNG.

La spécification PNG nécessite un bloc IHDR au début du fichier. Le dixième octet après la chaîne IHDR est un code pour le modèle de couleur de l'image. Une image en niveaux de gris (ou monochrome), sans canal alpha, a le code hexadécimal 00. Ainsi, si Lua a la capacité de lire directement les octets du fichier image, il devrait pouvoir rechercher IHDR, compter jusqu'à dix et signaler l'octet.


Qu'est-ce qui est le plus prometteur : la science des données ou le génie logiciel ? | Investisseur axé sur les données

Il y a environ un mois, alors que j'étais assis dans un café et que je travaillais sur le développement d'un site Web pour un client, j'ai trouvé cette femme…

Toutes mes explications sont centrées sur l'actuel Zindi: Farm Pin Crop Detection Challenge. Commençons.

Tout d'abord, nous devons télécharger les données. Nous utiliserons deux archives : train.zip contenant GeoJSON et 201-01-01.zip contenant les fichiers GeoTIFF. Ce sont toutes des données open source du satellite Sentinel-2. À l'intérieur, vous trouverez des fichiers .jp2.


    et ogrinfo - pour imprimer des métadonnées sur un fichier (système de coordonnées, tuilage, bandes, champs d'attributs, etc.). Outils avec gdal dans le nom sont pour les fichiers raster et avec ogr pour les fichiers vectoriels. et ogr2ogr - pour changer le format et modifier les fichiers. et ogr2ogr - pour modifier le système de coordonnées et ogr2ogr - pour joindre les fichiers - modifier les fichiers raster en place
  • GDAL a en outre de nombreux autres outils, pour une référence complète, voir la page des programmes GDAL où tous les outils et options des outils sont décrits en détail.

Il est important de noter que la plupart des outils créent un nouveau fichier, puis que certains paramètres peuvent changer, car les valeurs par défaut de GDAL sont utilisées, par exemple la mosaïque interne de raster ou la compression. Si vous souhaitez les conserver, vérifiez avec gdalinfo ce qui a été utilisé et ajoutez des options supplémentaires aux commandes.


J'ai trouvé une réponse, juste pour la collection de sites créée à la racine de l'application Web.

Utilisez cette commande pour sauvegarder une collection de sites

Il est important d'utiliser un chemin absolu comme paramètre -Path.

Créez ensuite une nouvelle application Web, puis exécutez la commande suivante

J'espère que cela pourra vous aider.

quelques choses que vous pouvez faire.

1) Sauvegardez la collection de sites actuelle, puis restaurez-la avec un nom et une URL différents.

2) vous pouvez utiliser la collection de sites d'exportation et la collection de sites d'importation. Vous perdrez les métadonnées, etc.

3) vous pouvez utiliser l'outil tiers pour cela, ce qui vous donne plus de puissance et de flexibilité et moins d'effort. essayez l'outil de migration ShareGate. ils ont 15 jours d'essai, essayez-le.

Pour SharePoint Online - la façon de le faire est via PnP :-

Cela obtiendra toutes les colonnes du site, les types de contenu du site, le magasin de termes, les définitions de liste, les listes (vides), la structure du site et les copiera sur le nouveau site.

Si vous souhaitez également déplacer du contenu, cela nécessite plus de PowerShell, mais c'est faisable.

Un moyen simple de le faire consiste à utiliser l'applet de commande Copy-SPSite. J'ai dû créer plusieurs collections de sites basées sur une collection de sites originale qui a été créée en tant que "modèle". Création de la collection de sites modèles dans sa propre base de données (utilisez CA ou New-SPSite pour ajouter une base de données à une application Web). Ensuite, chaque fois que j'ai besoin d'une nouvelle collection de sites :

  1. Créez une nouvelle base de données de collection de sites.
  2. Utilisez Copy-SPSite pour copier la collection de sites modèles vers une nouvelle sur la nouvelle base de données.

Ma base de données était un peu agacée par le nombre de bases de données créées mais nous avons appris que mettre chaque collection de sites dans sa propre base de données facilite les tâches d'administration de SharePoint (sauvegarde/restauration/déplacement/quotas/etc.).


Documentation de la fonction membre

Définissez les paramètres PDS à partir d'un fichier source.

Les paramètres actuels sont effacés avant que les nouveaux paramètres ne soient déplacés, mais pas avant que les nouveaux paramètres aient été obtenus avec succès à partir du fichier source. Ensuite, les informations de projection sont initialisées.

N.B.: Le nom du groupe de paramètres est défini sur le chemin du fichier source.

Paramètres:

chemin d'accèsLe chemin d'accès au fichier source qui sera analysé pour les paramètres PVL.
Retour: Cet objet PDS_Projection_Data. Des exceptions:
std::ios::échecSi le fichier source n'est pas accessible ou lu.
idaeim::PVL::Invalid_SyntaxSi le fichier source contient une syntaxe PVL non valide.
Voir également: idaeim::PVL::Parseur initialize_geo_transform() initialize_spatial_reference()

Définissez les paramètres PDS à partir d'un agrégat de paramètres.

Les paramètres actuels sont effacés avant que les nouveaux paramètres ne soient déplacés. Ensuite, les informations de projection sont initialisées.

N.B.: Le nom du groupe de paramètres est défini sur le nom de l'agrégat de paramètres.

Paramètres:

paramètresUn agrégat de paramètres qui est la source de nouveaux paramètres.
Retour: Cet objet PDS_Projection_Data. Voir également: initialize_geo_transform() initialize_spatial_reference()

Obtenez le tableau de géo-transformation.

La géotransformation contient les six coefficients d'une transformation affine bidimensionnelle. Dans l'expression classique de la matrice de transformation affine bidimensionnelle de Newman et Sproull (Newman, WM et Sproull, RF, "Principles of Interactive Computer Graphics", McGraw-Hill, 1979, section 4-3 Matrix Representations, p. 57ff) une représentation matricielle 3x3 est utilisée. La dernière colonne est élidé car c'est toujours le vecteur identité :

Pour une opération de translation d'image par Ox,Oy les valeurs de la matrice sont :

Pour une opération de mise à l'échelle de l'image par Sx,Sy, les valeurs de la matrice sont :

Pour une opération de rotation d'image d'un angle A les valeurs de la matrice sont :

Ces opérations peuvent être concaténées - chaque matrice d'opération, y compris le vecteur d'identité de la troisième colonne, multipliée par la matrice d'opération suivante - pour produire une seule matrice qui incorpore toutes les opérations de transformation individuelles.

Pour le tableau de géotransformation les valeurs correspondantes sont, par indice de tableau, GT[0]=c, GT[1]=a, GT[2]=b, GT[3]=f, GT[4]=d, GT[5]=e, ou :

Le tableau de géotransformation contient les six coefficients résultant de la concaténation d'un décalage de l'image en arrière (négatif) par rapport à l'origine de la projection, de la rotation de l'image pour l'aligner sur la projection (vers le nord) et de la mise à l'échelle des unités de pixels à l'unité mondiale (mètres ):

  1. -(Sx * Ox * cos (A)) - (Sx * Oy * sin (A))
  2. Sx * cos (A)
  3. Sx * péché (A)
  4. (Sy * Ox * sin (A)) - (Sy * Oy * cos (A))
  5. Sy * -sin (A)
  6. Sy * cos (A)

Ox,Oy Le décalage, en pixels, de l'origine de la projection par rapport au coin supérieur gauche du pixel supérieur gauche de l'image. Sx,Sy Dimensions de la taille des pixels, en mètres. A L'angle de rotation dans le sens horaire autour de l'origine de la projection par rapport à l'axe vertical (pointant vers le nord).

Pour le cas normal d'une projection d'image sans rotation, cela se réduit à :

N.B.: Les coordonnées des pixels de l'image utilisent un système de coordonnées gaucher dans lequel l'axe horizontal des x est positif vers la droite à partir de l'origine dans le coin supérieur gauche du pixel supérieur gauche le long du nombre d'échantillons croissant et l'axe vertical des y est positif vers le bas à partir de l'origine le long des numéros de ligne croissants. Cependant, la géotransformation fonctionne dans le système de coordonnées droitier conventionnel (en mètres) dans lequel l'axe x est positif vers la droite de l'origine de projection et l'axe vertical y est positif vers le haut à partir de l'origine. Cette inversion de la direction verticale positive peut être source de confusion lors de l'utilisation des valeurs de la géotransformation.

Retour: Un pointeur vers le tableau de six valeurs doubles de la géo-transformation. N.B.: ce tableau appartient à l'objet PDS_Projection_Data, sa modification affectera les résultats de son utilisation dans les opérations de projection ultérieures.

Obtenez le OGRSpatialReference.

Retour: Si un OGRSpatialReference a été assemblé à partir des valeurs de paramètres disponibles, une copie est renvoyée, sinon NULL est renvoyé.

Le code Projection_Type, autre que UNKNOWN_PROJECTION, peut être utilisé comme index dans le tableau Projection_Definitions pour obtenir des détails sur le mappage entre les paramètres PDS et les paramètres GDAL SRS.

Retour: Un code Projection_Type. Si une projection n'a pas pu être initialisée, ce sera la valeur UNKNOWN_PROJECTION.

Obtenez le nom de la projection applicable.

Tout type de projection donné peut avoir plusieurs alias pour son nom. Le nom renvoyé par cette méthode est celui qui est spécifié par le paramètre PDS PROJECTION_TYPE_PARAMETER_NAME. Pour obtenir le nom de projection reconnu par la classe GDAL OGRSpatialReference, utilisez le code du type de projection, s'il n'est pas UNKNOWN_PROJECTION, comme index dans la liste des définitions de projection et utilisez la première entrée du tableau Aliases :

Retour: Une chaîne ayant le nom formel de la projection applicable. Si une projection n'a pas pu être initialisée, ce sera une chaîne vide.

Initialisé les valeurs du tableau de géo-transformation à partir des valeurs des paramètres PDS.

Il y a trois paramètres obligatoires : PIXEL_SIZE_PARAMETER_NAME, HORIZONATAL_OFFSET_PARAMETER_NAME et VERTICAL_OFFSET_PARAMETER_NAME. Si un groupe de paramètres avec IMAGE_MAP_PROJECTION_GROUP_NAME est présent, les paramètres seront recherchés dans ce groupe, sinon ils peuvent apparaître n'importe où dans le PDS_Data actuel. Si aucun des paramètres requis ne peut être trouvé, le tableau de géo-transformation sera défini sur les valeurs d'identité.

Les valeurs de géotransformation sont définies comme suit :

Le pixel est supposé avoir une forme carrée, donc la valeur PIXEL_SIZE du paramètre PIXEL_SIZE_PARAMETER_NAME s'applique à la fois à la dimension horizontale et verticale.

Les valeurs de géo-transformation se trouvent dans un espace du monde réel dans lequel la distance est mesurée en mètres. Le dictionnaire de données PDS spécifie que les unités du paramètre PIXEL_SIZE_PARAMETER_NAME doivent être « KM/PIX ». Cependant, pour certains produits de données (par exemple HiRISE), la taille des pixels est mesurée en mètres. La seule façon de distinguer quelles unités s'appliquent est d'examiner la chaîne d'unités associée à la valeur. Cependant, si la valeur n'a pas de chaîne d'unités, il faut supposer que les unités du dictionnaire de données PDS sont en vigueur. Ainsi, units_scale vaut 1000 si la chaîne d'unités du paramètre est vide ou spécifie des kilomètres sinon c'est 1.

N.B.: La dimension verticale du pixel (GT[5]) est négative pour compenser le système de coordonnées d'image gauche dans lequel la verticale positive est vers le bas et le système de coordonnées géographiques de droite dans lequel la verticale positive est vers le haut.

Les valeurs HORIZONTAL_OFFSET et VERTICAL_OFFSET des paramètres HORIZONATAL_OFFSET_PARAMETER_NAME et VERTICAL_OFFSET_PARAMETER_NAME, respectivement, sont les décalages de l'origine de la projection cartographique par rapport à l'origine de l'image dans l'espace de coordonnées de l'image (échantillon, ligne). Étant donné que l'origine de l'image PDS est (1,1) - il n'y a pas de pixel (0,0) - alors que l'origine de projection géographique est (0,0), les valeurs de décalage sont ajustées à une origine d'image conventionnelle (0,0).

Avertissement: Différents produits de données PDS localisent l'origine de l'image différemment : certains utilisent le coin supérieur gauche du pixel supérieur gauche, tandis que d'autres utilisent le centre du pixel supérieur gauche. Malheureusement, rien dans l'étiquette du PDS n'indique quel emplacement est utilisé. Cette mise en œuvre suppose que l'origine de l'image est située dans le coin supérieur gauche du pixel supérieur gauche.

Retour: Cet objet PDS_Projection_Data. Des exceptions:

std::logic_errorSi le paramètre PROJECTION_ROTATION_PARAMETER_NAME est trouvé et qu'il a une valeur non nulle (espérons que cela pourra être pris en charge dans une future version de cette classe).
idaeim::PVL_Invalid_ValueSi l'un des paramètres PDS requis n'est pas une affectation d'une seule valeur numérique.
Voir également: geo_transform()

Initialisez les informations de référence spatiale d'un nouvel objet OGRSpatialReference.

Un objet GDAL OGRSpatialReference (http://www.gdal.org/ogr/classOGRSpatialReference.html) est initialisé si toutes ses valeurs de paramètre PDS requises sont trouvées avec succès.

Tout d'abord, le nom de la projection est effacé, le type de projection est initialisé sur UNKNOWN_PROJECTION, tout objet OGRSpatialReference existant est supprimé et la référence spatiale définie sur NULL.

Si un groupe de paramètres avec IMAGE_MAP_PROJECTION_GROUP_NAME est présent, tous les paramètres PDS restants seront recherchés dans ce groupe, sinon ils peuvent apparaître n'importe où dans les données PDS_Data actuelles.

Un paramètre PROJECTION_TYPE_PARAMETER_NAME est requis pour nommer le type de projection applicable. Cela détermine le nom de projection qui est utilisé pour rechercher dans la liste des définitions de projection connues une Projection_Definition avec un nom correspondant dans sa liste d'alias. Si aucune correspondance n'est trouvée, rien de plus n'est fait.

Un objet OGRSpatialReference provisoire est construit et initialisé (OGRSpatialReference::SetProjection) avec le nom de projection formel - le premier nom dans la liste d'alias de la définition de projection - qui peut être différent du nom de projection PDS. La valeur de chaque paramètre PDS requis de la définition de projection est utilisée pour initialiser (OGRSpatialReference::SetNormProjParm) le paramètre de système de référence spatiale de l'objet OGRSpatialReference associé. De plus, chaque valeur par défaut de la définition de projection est utilisée pour initialiser le paramètre de système de référence spatiale de l'objet OGRSpatialReference associé.

Le nom du système de coordonnées de projection de l'objet OGRSpatialReference est initialisé (OGRSpatialReference::SetProjCS) avec le nom de projection formel suivi, après un seul caractère d'espacement, du nom de la planète. Le nom de la planète est obtenu à partir du paramètre PDS PLANET_PARAMETER_NAME s'il ne peut pas être trouvé "Unknown" est utilisé. La spécification du système de coordonnées géographiques est initialisée (OGRSpatialReference::SetGeogCS) avec les valeurs suivantes :

Nom de la planète Le nom de la planète, tel que déterminé ci-dessus. Si le type de projection est EQUIRECTANGULAIRE, un suffixe "_localRadius" est appliqué. Si le type de projection est POLAR_STEREOGRAPHIC, un suffixe "_polarRadius" est appliqué. Nom géographique Le nom de la planète inchangé avec un préfixe "GCS_". Nom de référence Le nom de planète inchangé avec un préfixe "D_". Rayon de l'axe de la planète

Le rayon de l'axe planétaire est la valeur du paramètre SEMI_MAJOR_RADIUS_PARAMETER_NAME. Cependant, si la projection n'est pas géocentrique et que le type de projection est POLAR_STEREOGRAPHIC ou STEREOGRAPHIC avec une valeur absolue du paramètre CENTER_LATITUDE_PARAMETER_NAME de 90 (c'est-à-dire stéréographique centré sur un pôle), la valeur du paramètre SEMI_MINOR_RADIUS_PARAMETER_NAME est utilisée.

L'utilisation d'une projection géocentrique (c'est-à-dire planétographique) est déterminée par le paramètre COORDINATE_SYSTEM_PARAMETER_NAME, ou le LATITUDE_TYPE_PARAMETER_NAME si le premier n'est pas trouvé. À moins que la valeur du paramètre ne soit « planétocentrique » (insensible à la casse), la planétographie s'applique. Cependant, les types de projection EQUIRECTANGULAIRE, ORTHOGRAPHIQUE et SINUSOIDDAL ne sont pas soumis à cette condition ils sont toujours réputés planétocentriques.

Aplatissement planétaire inverse L'inverse d'un aplatissement d'un modèle de planète ellipsoïdale est le rapport du rayon du demi-grand axe à cette valeur moins le rayon du demi-petit axe (en utilisant les paramètres indiqués ci-dessus). Notez que lorsque les deux valeurs approchent de l'égalité, le rapport approche l'infini, si la différence est inférieure ou égale à 0,00000001, l'aplatissement inverse est défini sur zéro, ce qui indique un modèle de planète sphérique. De plus, si la projection est planétocentrique (comme déterminé ci-dessus) ou stéréographique centrée sur les pôles (comme déterminé ci-dessus), alors l'aplatissement inverse est toujours mis à zéro. Nom du premier méridien Ce nom descriptif est défini sur "Reference_Meridian". Décalage du méridien premier Réglé sur 0.

Si l'objet provisoire OGRSpatialReference ne peut pas être initialisé pour une raison quelconque, il est supprimé. Sinon, il est défini comme l'objet de référence spatiale actuel. Notez qu'il est possible d'avoir identifié un nom de projection et un type de projection mais de ne pas réussir à initialiser un objet de référence spatiale.

Retour: Cet objet PDS_Projection_Data. Des exceptions:

idaeim::Invalid_ArgumentSi un paramètre PDS requis est introuvable.
idaeim::PVL_Invalid_ValueSi un paramètre PDS requis n'est pas une affectation d'une seule valeur numérique (ou chaîne, selon la situation).
std::logic_errorSi une opération d'initialisation OGRSpatialReference échoue.

Obtenez une JP2_Box avec le contenu des données GeoTIFF.

La GeoTIFF JP2_Box est une JP2_Box::UUID_BOX_TYPE dont le contenu commence par la signature GEO_TIFF_UUID. Immédiatement après la signature se trouvent des données binaires produites par la fonction GDAL GTIFMemBufFromWkt qui fonctionne sur la représentation du système de référence spatiale Well-Known_Text des spécifications de projection actuelles (générées par la méthode OGRSpatialReference::exportToWkt) et le tableau de géo-transformation actuel.

Retour: Un pointeur vers une JP2_Box contenant les données GeoTIFF, ou NULL si aucun objet de référence spatiale n'a été initialisé. N.B.: La propriété de la JP2_Box est transférée à l'appelant. Des exceptions:

std::logic_errorSi la production de données GeoTIFF par GDAL échoue.

Obtenez une JP2_Box avec du contenu de données GML.

Si les arguments de largeur ou de hauteur de l'image ne sont pas spécifiés, les paramètres PDS IMAGE_WIDTH_PARAMETER_NAME et IMAGE_HEIGHT_PARAMETER_NAME seront utilisés pour obtenir les valeurs requises.

La GML JP2_Box est une JP2_Box::ASSOCIATION_BOX_TYPE contenant une JP2_Box::LABEL_BOX_TYPE avec une étiquette "gml.data" et une JP2_Box::ASSOCIATION_BOX_TYPE contenant une JP2_Box::LABEL_BOX_TYPE avec une étiquette "gml.root-instance"_Box suivie d'une JP2_Box : :XML_BOX_TYPE contenant un document XML "gml:FeatureCollection" qui fournit les spécifications de géo-transformation actuelles. N.B. Ce document XML est une copie codée en dur du texte au format du document repris textuellement de la méthode GDAL GDALJP2Metadata::CreateGMLJP2.

Si l'objet de référence spatiale actuel est marqué comme projeté (OGRSpatialReference::IsProjected) ou géographique (OGRSpatialReference::IsGeographic), son nom d'autorité correspondant (OGRSpatialReference::GetAuthorityName) est "epsg" (insensible à la casse) le XML "srsName" sera " urn:ogc:def:crs:EPSG ::" suivi du code d'autorité de référence spatiale (OGRSpatialReference::GetAuthorityCode).

Si aucun code d'autorité EGSG n'est trouvé, le XML "srsName" sera "gmljp2://xml/CRSDictionary.gml#ogrcrs1" et une JP2_Box::ASSOCIATION_BOX_TYPE supplémentaire sera ajoutée à la JP2_Box principale. Celui-ci contiendra un JP2_Box::LABEL_BOX_TYPE avec un libellé "CRSDictionary.gml" suivi d'un JP2_Box::XML_BOX_TYPE contenant un document XML "gml:Dictionary" avec les références suivantes :

  • gml:id="CRSU1"
  • xmlns:gml="http://www.opengis.net/gml"
  • xmlns:xlink="http://www.w3.org/1999/xlink"
  • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Le document de dictionnaire XML est produit par la méthode OGRSpatialReference::exportToXML de l'objet de référence spatiale courant.

ATTENTION: Au moment d'écrire ces lignes, aucun test n'a pu confirmer que le contenu GML est correct.

Paramètres:

Largeur de l'imageLa largeur de l'image doit être référencée. Si zéro, la valeur du paramètre IMAGE_WIDTH_PARAMETER_NAME, si disponible, sera utilisée.
hauteur de l'imageLa hauteur de l'image doit être référencée. Si zéro, la valeur du paramètre IMAGE_HEIGHT_PARAMETER_NAME, si disponible, sera utilisée.
Retour: Un pointeur vers une JP2_Box contenant les données GML, ou NULL si aucun objet de référence spatiale n'a été initialisé. N.B.: La propriété de la JP2_Box est transférée à l'appelant. Des exceptions:
idaeim::ExceptionSi les valeurs de largeur ou de hauteur de l'image ne peuvent pas être déterminées à partir du fichier PDS_Data.
std::logic_errorSi la production de données GeoTIFF par GDAL échoue.

Essayez de faire correspondre un nom à une liste d'alias.

Le nom est d'abord en majuscule, les espaces sont remplacés par des barres de soulignement, puis comparés à chaque nom de la liste d'alias sous forme de majuscule. Si cela échoue, la comparaison est alors effectuée avec chaque alias en majuscule avec tous les caractères de soulignement supprimés. Notez que la correspondance de nom est insensible à la casse. N.B.: les noms d'alias contenant des espaces ne seront jamais mis en correspondance. N'utilisez pas d'espaces dans les noms d'alias.

Paramètres:

NomLe nom à vérifier.
aliasLa liste de noms d'alias terminée par NULL.
Retour: true si une correspondance a été trouvée false dans le cas contraire.

Obtenez le code de type de projection pour un nom de projection.

La liste des définitions de projection connues est recherchée pour un alias de nom de projection qui correspond au nom de projection spécifié.

Paramètres:

nom_projectionNom de la projection à comparer à une liste d'alias Projection_Definition.
Retour: Le code Projection_Type pour la Projection_Definition correspondante, ou UNKNOWN_PROJECTION si aucune correspondance n'a pu être trouvée.


Meilleur moyen de copier les métadonnées GDAL d'une image JP2 à une autre - Systèmes d'information géographique

En février 2005, l'Open Geospatial Consortium (OGC) a lancé une nouvelle expérience d'interopérabilité d'encodage concernant l'utilisation du langage de balisage géographique dans les fichiers d'images JP2 (JPEG 2000). L'objectif est de prendre en charge un mécanisme normalisé pour l'inclusion d'informations de géoréférencement sous forme de métadonnées codées XML dans le format d'image ISO 15444 JPEG 2000.

Le Geography Markup Language (GML) est la spécification ouverte la plus largement prise en charge pour la représentation d'informations géographiques (spatiales et de localisation). Il définit le codage XML pour le transport et le stockage des informations géographiques, y compris à la fois la géométrie et les propriétés des entités géographiques. Conformément à la politique de propriété intellectuelle de l'OGC pour les normes OGC libres de droits, la spécification GML est disponible gratuitement pour une utilisation à des conditions libres de droits. GML fournit une variété de types d'objets pour décrire la géographie, y compris les caractéristiques, les systèmes de référence de coordonnées, la géométrie, la topologie, le temps, les unités de mesure et les valeurs généralisées.

En mars 2004, l'OGC a approuvé la publication de la version 3.1.0 de la spécification de mise en œuvre GML en tant que document de recommandation de l'OGC accessible au public. La spécification GML est maintenant éditée conjointement dans le groupe de travail sur la révision du GML de l'OGC et dans l'ISO/TC 211/WG 4 (Informations géographiques/géomatique). Standardisé en tant qu'ISO 19136 dans le contexte ISO/TC 211, GML est « une implémentation XML détaillée du General Feature Model (GFM) et de la plupart des ISO 19123, 19107, 19108, 19111, ainsi que certains types de fonctionnalités utilitaires tels que les observations, et les composants utilitaires tels que les unités de mesure.

JPEG 2000 est le successeur de la norme ISO 10918-1 'JPEG' pour les images numériques. JPEG 2000 "utilise la technologie" ondelettes "en plus d'être meilleur pour la compression des images (plus de 20 %), il peut permettre de conserver une image sans aucune distorsion ni perte." JPEG 2000 comme ISO/IEC 15444-1, selon LizardTech, est une alternative haut de gamme au format d'image JPEG populaire qui offre une compression d'image avec et sans perte de haute qualité dans un format multi-résolution (pyramidal) qui est interne au structure de fichiers. JPEG 2000 est hautement évolutif dans plusieurs dimensions : il prend en charge des tailles de fichiers allant jusqu'à l'échelle du gigaoctet et au-delà, des ensembles de données multispectrales et hyperspectrales avec des profondeurs de bits accrues et une décompression sélective de scènes dans l'image à des qualités contrôlables par l'utilisateur. Il fournit un riche ensemble de primitives pour transporter des données d'images compressées dans un environnement de services Web : dans un environnement de réseau, les images JPEG 2000 peuvent être diffusées du serveur au client tout en restant sous forme compressée, permettant aux téléspectateurs d'accéder uniquement aux données (pixels) dont ils ont besoin et uniquement à la résolution et à la qualité dont ils ont besoin."

Comme avec d'autres formats de fichiers d'images basés sur XML ou compatibles XML, la norme JPEG 2000 prévoit plusieurs formes de métadonnées codées XML au format de fichier JPX dans des « boîtes » réservées. L'annexe normative M « définition et syntaxe étendues des métadonnées au format de fichier JPX » définit un ensemble complet d'éléments de métadonnées facultatifs qui peuvent être intégrés dans un fichier JPX dans des boîtes XML. Les types de métadonnées sont documentés dans quatre groupes logiques : les métadonnées de création d'images, les métadonnées de description de contenu, les métadonnées d'historique des métadonnées et les métadonnées de droits de propriété intellectuelle. La section M.8 fournit la définition de type de document de métadonnées étendues (DTD) JPX. La partie standardisée du modèle de métadonnées est basée sur la norme de métadonnées DIG35 pour les images numériques. Cependant, les informations contenues dans la « boîte » XML ne sont pas spécifiques à l'application, ce qui permet des métadonnées codées XML conformes arbitraires.

Le nouveau Open Geospatial Consortium "GML in JPEG" Interoperability Experiment a été formé pour "tester et affiner un projet de spécification d'implémentation qui définit comment le Geography Markup Language doit être utilisé dans les packages de données JPEG 2000 pour l'imagerie géographique. L'Interoperability Experiment mettra en œuvre plusieurs prototypes Codecs GMLJP2 (compresseurs/décompresseurs de données) basés sur un projet de spécification OGC 04-045 intitulé "GML in JPEG 2000 for Geographic Imagery", cette proposition de spécification a été soumise à l'OGC par Galdos Systems Inc. et LizardTech. Le but est de confirmer que la spécification prendra en charge les exigences de l'imagerie géospatiale sur Internet et améliorera la spécification si elle ne prend pas en charge ces exigences. Les participants effectueront plusieurs expériences individuelles de complexité croissante et démontreront un codage similaire à GeoTIFF. "

Les organisations initiatrices sont Galdos Systems, Inc. (Canada), LizardTech, Inc. (États-Unis) et le European Union Satellite Center (Espagne). Les autres organisations participant à l'initiative incluent DM Solutions Group (Canada), ITT Industries Space Systems Division (États-Unis) SPOT Image (France), US Geological Survey, Astrogeology US NASA Jet Propulsion Laboratory et Intergraph (Z/I Imaging) (États-Unis).

L'équipe du projet OGC produira un rapport d'expérience d'interopérabilité de codage GMLJP2 basé sur les grandes lignes des objectifs identifiés dans le document proposé, couvrant la spécification des utilisations de GML dans JPEG 2000, les mécanismes d'empaquetage pour inclure GML dans JPEG 2000 et les schémas d'application GML pour l'encodage. des couvertures OGC au sein de JPEG 2000. Un certain nombre d'expériences seront effectuées à l'aide de schémas d'application GML (Coverage Range Coverage Range Image Copy Annotated Image Embedded CRS Embedded Units of Measure Definition Bundled GML Features Multi-image Case) ainsi que des expériences d'instance minimale pour Image Import/Export et lecture de métadonnées. Les autres spécifications de l'OGC impactées par l'étude incluent le service de fonctionnalités Web (WFS) et le service de couverture Web (WCS).

Les initiatives classées en tant qu'expériences d'interopérabilité de l'OGC font partie du programme d'interopérabilité de l'OGC, qui est "un élément essentiel du processus rapide, efficace et inclusif de l'OGC axé sur l'utilisateur pour développer, tester, démontrer et promouvoir l'utilisation des spécifications de l'OGC. Les expériences d'interopérabilité de l'OGC sont conçu comme « des initiatives brèves, peu coûteuses et à faibles frais généraux dirigées et exécutées par les membres de l'OGC pour atteindre des objectifs techniques spécifiques qui font avancer la référence technique de l'OGC. Ils offrent aux membres de l'OGC la possibilité de lancer et de gérer une initiative sans le parrainage plus important qui soutient les bancs d'essai et les projets pilotes traditionnels de l'OGC. Ces initiatives peuvent être destinées au développement, à l'affinement ou aux tests de spécifications ou à d'autres fins approuvées par le comité d'examen de l'OGC.

L'Open Geospatial Consortium (OGC) est « un consortium industriel international de plus de 270 entreprises, agences gouvernementales et universités participant à un processus de consensus pour développer des spécifications d'interface accessibles au public. et les services basés sur la localisation, et l'informatique grand public. Les spécifications permettent aux développeurs de technologies de rendre les informations et services spatiaux complexes accessibles et utiles avec toutes sortes d'applications. »

À propos du langage de balisage géographique (GML)

"Geography Markup Language est une grammaire XML écrite en XML Schema pour la modélisation, le transport et le stockage d'informations géographiques. Les concepts clés utilisés par Geography Markup Language (GML) pour modéliser le monde sont tirés de la spécification OpenGIS Abstract et de l'ISO 19100 séries.

GML fournit une variété de types d'objets pour décrire la géographie, y compris les caractéristiques, les systèmes de référence de coordonnées, la géométrie, la topologie, le temps, les unités de mesure et les valeurs généralisées.

Une caractéristique géographique est « une abstraction d'un phénomène du monde réel, c'est une caractéristique géographique si elle est associée à un emplacement par rapport à la Terre ». Ainsi, une représentation numérique du monde réel peut être considérée comme un ensemble de caractéristiques. L'état d'une caractéristique est défini par un ensemble de propriétés, où chaque propriété peut être considérée comme un tripler.

Le nombre de propriétés qu'une entité peut avoir, ainsi que leurs noms et types, sont déterminés par sa définition de type. Les entités géographiques avec géométrie sont celles dont les propriétés peuvent avoir une valeur géométrique. Une collection d'entités est une collection d'entités qui peut elle-même être considérée comme une entité, par conséquent une collection d'entités a un type d'entité et peut donc avoir des propriétés distinctes qui lui sont propres, en plus des caractéristiques qu'elle contient.

Les caractéristiques géographiques dans GML incluent les couvertures et les observations en tant que sous-types. Une couverture est un sous-type d'entité qui a une fonction de couverture avec un domaine spatial et une plage de valeurs de tuples homogènes de 2 à n dimensions. Une couverture peut représenter une caractéristique ou un ensemble de caractéristiques « pour modéliser et rendre visibles les relations spatiales entre les phénomènes terrestres et leur distribution spatiale ».

Une observation modélise l'acte d'observer, souvent avec une caméra, une personne ou une forme d'instrument ("un acte de reconnaître et de noter un fait ou un événement impliquant souvent une mesure avec des instruments"). Une observation est considérée comme une caractéristique GML avec une heure à laquelle l'observation a eu lieu, et avec une valeur pour l'observation. Un système de référence fournit une échelle de mesure pour attribuer des valeurs « à un lieu, à une heure ou à une autre quantité ou qualité descriptive ».

Un système de référence de coordonnées se compose d'un ensemble d'axes de système de coordonnées qui sont liés à la terre par un système de référence qui définit la taille et la forme de la terre. Les géométries en GML indiquent le système de coordonnées de référence dans lequel leurs mesures ont été effectuées. L'élément géométrique « parent » d'un complexe géométrique ou d'un agrégat géométrique fournit cette indication pour ses géométries constitutives.

Un système de référence temporel fournit des unités standard pour mesurer le temps et décrire la longueur ou la durée temporelle. Conformément à la norme ISO 8601, le calendrier grégorien avec UTC est utilisé dans GML comme système de référence temporelle par défaut. Un dictionnaire d'unités de mesure (UOM) fournit des définitions de mesures numériques de grandeurs physiques, telles que la longueur, la température et la pression, et des conversions entre UOM. " [à partir de la spécification de la version 3.0.1 Introduction]

"ISO 19136 (publié par Open GIS Consortium en tant que GML 3.1) est une implémentation XML détaillée du modèle de caractéristiques générales (GFM) et de la plupart des normes ISO 19123, 19107, 19108, 19111, ainsi que certains types de fonctionnalités utilitaires tels que les observations et composants utilitaires tels que les unités de mesure. L'encodage GML est décrit directement à l'aide du schéma XML du W3C (WXS). Cependant, les règles de mappage du GML vers et depuis les modèles UML sont soigneusement décrites dans les annexes E et F de la norme ISO 19136. Ces règles peuvent être appliqué à condition que l'UML suive le profil décrit dans la norme ISO 19103. En particulier, GML fournit un modèle pour définir des types de caractéristiques spécifiques au domaine. GML utilise WXS pour définir les composants dans le gml espace de noms. Chaque langage spécifique à un domaine basé sur GML est appelé langage d'application GML et définit des composants (en particulier des fonctionnalités) dans leur propre espace de noms, qui sont dérivés de ou incorporent des composants tirés de GML. En fait, la représentation WXS complète pour le langage d'application GML est une formalisation du catalogue de types de fonctionnalités pour le domaine d'application, ainsi que certains composants de support. [Wiki de la conférence SEEGRID II]

Aperçu des initiatives JPEG 2000 et GML de l'OGC

  • Modèles de capteurs: Les images satellites et aériennes d'origine sont désormais bien plus que trois bandes RVB 8 bits, et JPEG 2000 prend en charge de nombreuses exigences d'imagerie que les utilisateurs voient maintenant, telles que des profondeurs de bits de 16 ou plus et des bandes hyperspectrales. Ces images ont généralement de riches ensembles de métadonnées associées. Par exemple : (1) les descriptions complètes des caméras peuvent inclure les caractéristiques des capteurs telles que le nombre et les longueurs d'onde des bandes spectrales, les informations de précision et d'étalonnage, et le type de capteur (2) les informations de positionnement peuvent inclure le système de coordonnées habituel et la position du image relative à la Terre (3) les informations sur la qualité de l'image peuvent inclure des estimations de la couverture nuageuse, l'évaluation NIIRS et la qualité de l'air au moment de la collecte. À l'aide de GML, un schéma d'application peut être écrit pour capturer cette structure de métadonnées. Cela pourrait être défini et fourni par le fournisseur d'images dans les images JP2 fournies. Les données d'instance GML fourniraient le contenu réel des métadonnées.

  • Images multiples et identification des caractéristiques: JPEG 2000 permet de contenir plusieurs images dans le même fichier. Considérons un flux de travail dans lequel les images d'une région particulière doivent être capturées et analysées pendant une période de plusieurs mois : (1) plusieurs ensembles d'images de paires stéréo doivent être stockés, chaque paire a des métadonnées associées, y compris des horodatages de date et d'heure (2) le les images partagent toutes un système de coordonnées commun, mais toutes sont à des positions de coordonnées légèrement différentes (3) toute image individuelle peut avoir des caractéristiques spécifiques identifiées sur cette image. Toutes ces informations peuvent être contenues dans un seul fichier JP2. En plus des données correspondant aux images individuelles, le fichier peut contenir des données GML « partagées » décrivant le système de coordonnées et des descriptions de caractéristiques pour toutes les images et des données GML « privées » pour chaque image décrivant des instances de caractéristiques spécifiques et des décalages dans l'image.

  • Le Web spatial: Les données géospatiales sont de plus en plus utilisées dans l'environnement Web spatial, où les services Web sont utilisés pour effectuer de manière transparente des opérations telles que : (1) fournir un accès au catalogue à de grandes archives de données géospatiales (2) exporter les données elles-mêmes, sur la base de paramètres de requête ( 3) effectuer des opérations de mosaïquage et de superposition (4) effectuer une classification, une description et une extraction de caractéristiques simples (5) styliser les données pour la présentation. De tels workflows sont déjà utilisés aujourd'hui avec des données vectorielles GML est le langage du GeoWeb utilisé pour décrire des régions et des étendues, définir et étiqueter des entités et exprimer des requêtes. Au fur et à mesure que les utilisateurs ajoutent des images raster à ce système, étiquetez les entités et exprimez les requêtes. Au fur et à mesure que les utilisateurs ajoutent des images raster à ce système, ils doivent pouvoir utiliser GML pour caractériser l'imagerie et ses caractéristiques associées. "

GML - JPEG 2000 : Discussion précédente 2004

"L'OGC propose d'utiliser GML pour stocker des informations de géolocalisation, de superposition de fonctionnalités, d'annotations et de texte dans les fichiers JP2. Malheureusement, cela est susceptible d'être incompatible avec le format GeoJP2 existant. Les métadonnées spécifiques proposées par l'OGC pour le stockage sont : (1) données d'acquisition/heure (2) type d'imagerie, source et rendu (3) résolution spatiale et précision de la géolocalisation (4) SensorML &mdash une variante XML utilisée pour contenir les métadonnées du capteur (5) métadonnées d'évaluation de la qualité telles que le pourcentage de couverture nuageuse et les pixels manquants (6 ) Les éléments de métadonnées ISO 19115 tels que le titre, la source et la classification.

L'un des grands problèmes à résoudre est de savoir s'il faut utiliser JP2 ou JPX comme standard OGC. JP2, étant plus restrictif et rigide, est moins capable de contenir l'ensemble de métadonnées proposé et d'être étendu à l'avenir. D'un autre côté, il existe un risque que les lecteurs JP2 existants soient incapables de gérer un format géospatial basé sur JPX.

Mark Kyle (LizardTech) a fait une présentation qui "a couvert les travaux de Galdos Systems, LizardTech et du Centre satellitaire de l'UE pour utiliser l'encodage GML du géoréférencement de la couverture dans JP2 (à la fois pour les grilles géo-rectifiées et géo-référençables). Le modèle de métadonnées intègre la définition de la couverture. , les métadonnées de couverture et les métadonnées de valeur. L'annotation d'image intégrée se compose de texte et de régions géographiques associées. Les entités géographiques sont définies via un schéma d'applications associé, soit en ligne, soit via des pointeurs d'URL. Le style des entités et des annotations est basé sur StyledLayerDescriptors et ignore les primitives de dessin fournies dans la spécification du format JP2. Ceci permet d'éviter des styles mixtes, mais présente l'inconvénient que certains fournisseurs utilisent les primitives de dessin JP2.

Source : « Session conjointe IES/GML sur l'inclusion du GML dans le format d'image JPEG2000 », rapport sur la réunion technique du Open Geospatial Consortium à l'Illinois Institute of Technology, Chicago.

À propos des expériences d'interopérabilité OGC

« Les expériences d'interopérabilité, un nouveau type d'initiative d'interopérabilité de l'OGC, sont des initiatives brèves, peu coûteuses et peu coûteuses dirigées et exécutées par les membres de l'OGC pour atteindre des objectifs techniques spécifiques qui font avancer la base technique de l'OGC. lancer et exécuter une initiative sans le parrainage plus substantiel qui soutient les bancs d'essai et les projets pilotes traditionnels de l'OGC. Ces initiatives peuvent être destinées au développement, à l'amélioration ou aux tests de spécifications ou à d'autres fins approuvées par le comité d'examen de l'OGC. Les expériences d'interopérabilité fonctionnent conformément aux règles de l'OGC. Politiques et procédures d'expérience d'interopérabilité ».

Pour commencer une expérience d'interopérabilité, les membres intéressés soumettent au comité d'examen de l'OGC un plan d'activité et des lettres de soutien d'au moins trois membres votants de l'Open Geospatial Consortium. Si le comité d'examen approuve l'expérience d'interopérabilité, le comité désigne un membre du personnel de l'OGC pour superviser l'expérience.

Avant le début de l'expérience d'interopérabilité, l'OGC publie un communiqué de presse annonçant l'IE afin que les organisations aient la possibilité de participer ou d'observer.

À la fin de l'expérience d'interopérabilité, les livrables techniques, les ébauches de spécifications, sont documentés en tant que « rapports IE ». Celles-ci peuvent être introduites dans le programme de spécifications pour examen, révision éventuelle et adoption éventuelle par les comités techniques et de planification de l'OGC en tant que spécifications de mise en œuvre OpenGIS adoptées. [extrait du résumé IE]

À propos des brevets 'JPEG'

L'effort technique JPEG 2000 cherche à s'affranchir du fameux « terrorisme des brevets » entourant la norme « JPEG » antérieure. Voici des extraits de la FAQ « Quelle est la situation des brevets avec JPEG 2000 ? » :

". Premièrement, le comité JPEG a essayé de s'assurer dans son travail de normalisation que de nombreuses parties « de base » de la norme JPEG 2000 devraient être implémentées en totalité ou en partie sans paiement de redevances (liées au volume) ou de droits de licence (non -lié au volume). Comment ont-ils fait cela ?

De nombreuses entreprises participent aux travaux de JPEG. Dans tous les cas où il existe des brevets pouvant porter sur la technologie de base proposée pour ce que JPEG appelle la « base » de la norme (la partie de la norme que toutes les implémentations doivent mettre en œuvre), les actions suivantes sont prises :

(1) Les titulaires de brevets sont priés de confirmer qu'ils offriront ces brevets sous licence sans redevance ni redevance, la seule contrainte étant celle de la réciprocité. Nous entendons par là que le titulaire du brevet est censé délivrer une licence pour cette utilisation par rapport à la mise en œuvre de base d'une norme de la série JPEG 2000 [i] sans frais, [ii] et qui exige uniquement que le titulaire de la licence accorde une concession similaire sur tous les brevets. que le titulaire de licence pourrait détenir qu'il prétendrait également s'appliquer à cette partie de la norme

(2) Si un tel accord ne peut être obtenu, le comité JPEG examinera alors des alternatives qui évitent l'utilisation d'une technologie brevetée, pour laquelle une licence ne peut être obtenue sur la base ci-dessus. Dans le cas où une telle option n'existe pas, la caractéristique ou la spécification requise est supprimée de la spécification de base définie dans la norme.

Dans le cas spécifique de JPEG 2000 Partie 1 (ISO/IEC IS 15444-1 | UIT-T T.800), au 17 juillet 2003, un total de 27 déclarations de ce type provenant de 11 sociétés ou individus ont été soumises. Tous les brevets que le GT1 considère comme essentiels à la pratique de JPEG 2000 Partie 1 sont disponibles sur la politique de brevets 2.1 de l'UIT-T, qui est gratuite. Des travaux sont en cours pour compiler une base de données sur les brevets de l'UIT-T.

Le comité JPEG reconnaît l'importance de pouvoir mettre en œuvre ses normes fondamentales sans avoir à payer les titulaires de brevets, et continue de s'efforcer d'atteindre cet objectif dans la mesure du possible.

De plus, le comité JPEG reconnaît qu'il peut y avoir des occasions où l'utilisation d'une technologie non gratuite est inévitable, ou où elle offre des avantages techniques significatifs par rapport à une solution gratuite. Dans ces cas, JPEG peut inclure une telle technologie dans ses normes conformément à la politique de brevets de l'ISO et de l'UIT, qui exigent qu'une déclaration signée soit obtenue avant la publication indiquant que ces brevets sont disponibles dans des conditions « raisonnables et non discriminatoires » (RAND) . À titre d'exemple, la partie 2 de JPEG 2000 détaille de nombreuses extensions de la spécification de base, dont certaines peuvent nécessiter l'utilisation d'une technologie brevetée disponible uniquement sur une base RAND. Au 17 juillet 2003, une seule déclaration de ce type était enregistrée dans la base de données de l'UIT-T. " [du site Web JPEG 2000]