Bilder mit den Integration Services verarbeiten

htc_diamondAuf der diesjährigen CeBIT bin ich auf dem Microsoft Stand bei einem Kurzvortrag zu Live Mesh stehen geblieben. Der Sprecher hat dabei ein Foto mit seinem Handy gemacht und demonstriert wie schnell das Foto über die neue Microsoft Cloud mit seinem Laptop synchronisiert wird. “Schnell” war dabei allerdings relativ, was meiner Ansicht nach nicht unbedingt an Microsofts Dienst liegt, sondern vielmehr an den häufig in solchen “Ballungsräumen” zur Verfügung stehenden Bandbreite sowie den immer Leistungsstärker werdenden Kameras in Handys. Ich habe den Handy Markt zwar nicht 100% im Blick, gehe aber davon aus, das mein Handy mit (immerhin) 3.2 Mega Pixel wahrscheinlich nicht mehr zu den Top-Kamera-Modellen gehört.

 

Kannte man bisher Kameras mit GPS Empfänger nur aus dem hochpreisigen Digitalkamerabereich, so findet man GPS Funktionalitäten auch immer häufiger in aktuellen Handys. Eigentlich als Pocket-Navi angedacht, verbinden jedoch immer mehr Hersteller die in einem Gerät zur Verfügung stehenden Dienste miteinander. Bei einigen Herstellern stehen Benutzern diese Funktionen allerdings erst nach ein paar Tweaks zur Verfügung.

Die so erstellen Fotos weisen nun also nicht nur eine hohe Qualität auf, sondern sind zusätzlich mit einer Reihe von Metadaten bestückt. Diese Metadaten werden innerhalb des EXIF Standards definiert, und können neben den GPS Daten auch noch Informationen wie Datum und Uhrzeit, Brennweite, Belichtungszeit usw. aufnehmen.

Da der SQL Server 2008 nun auch mit räumlichen/geographischen Daten umgehen kann und die neue Filestream Data Funktionalität lockt auch mehr BLOB Daten über den SQL Server zu speichern/verwalten, stellte sich mir die Frage, “Wie bekomme ich jetzt meine geocodierten Bilder mit allen EXIF Daten in den SQL Server?”.

Ich habe hierfür angefangen eine SSIS DataSource “Image Source” zu schreiben und die Version 0.3 bei Codeplex veröffentlicht. Die SSIS Komponente bedient sich dem quelloffenen Projekt Dot Net Library, welches ebenfalls bei Codeplex gehostet wird. Die Library stellt verschiedene Informationen zu Verfügung um eine ganze Reihe an EXIF Daten aus Bildern auszulesen.

SSIS ImageSource         SSIS ImageSource003

Die Komponente liest derzeit alle in einem Verzeichnis liegenden Bilder (JPG/JPEG/TIFF/PNG/GIF) und dazu die ca. 70 EXIF und Datei Informationen und führt diese zusammen mit den Bild als BLOB in den Datenfluss. Derzeit ist die Komponente mit der Version 0.3 Beta noch in einem frühen Status verfügbar. In einer spätere Version soll die Komponenten noch um eine vernünftige GUI erweitert werden.