Suite

Remplir la table Access (*.mdb) avec le texte des éléments de texte pour inventorier les MXD à l'aide d'ArcPy/Python ?

Remplir la table Access (*.mdb) avec le texte des éléments de texte pour inventorier les MXD à l'aide d'ArcPy/Python ?


J'essaie d'écrire un morceau de code pour remplir une table Access mdb avec des informations provenant d'éléments de texte dans un mxd (les éléments de texte ont tous des "noms"). Le but de ceci est de créer un catalogue de mes mxd et de ce qu'ils contiennent sans avoir à ouvrir manuellement chaque mxd. Notez que les "noms" des éléments de texte sont tous les mêmes dans chaque mxd. Donc, je vais finir avec un script qui récupère le texte d'un élément de texte et l'insère dans la table Access à un endroit spécifique. La table d'accès sera de 1 enregistrement par mxd.

La version d'ArcGIS que j'utilise est 10.2.2.

Notez que je suis nouveau en relativité en python, donc je m'excuse si je ne l'ai pas bien expliqué et je me ferai un plaisir de clarifier tout.


Faire ce que vous décrivez sera un processus en plusieurs parties, je vous recommande donc de commencer par écrire quelques scripts qui ne font qu'un seul composant, puis de regarder plus tard comment combiner leur logique.

Par exemple:

  • Essayez d'écrire un script qui imprime simplement le nom de chaque MXD sur votre système de fichiers (ou à partir d'un dossier particulier et de tous ses sous-dossiers) - j'utiliserais arcpy.da.Walk pour le faire.
  • Essayez d'écrire un script qui imprime simplement le nom et le contenu de chaque élément de texte dans un seul MXD - j'utiliserais arcpy.mapping.ListLayoutElements pour le faire.
  • Essayez d'écrire un script pour écrire des lignes de test dans une base de données Access - @Lemur a proposé des idées pour le faire en tant que commentaire sur votre question

MS Access 2016 utilisant des listes SharePoint en tant que tableaux - Problème de blocage d'accès

Nous utilisons Access 2016 et SharePoint (notre package Office 365). J'ai construit une base de données Access de 7 tables et j'ai lié ces tables à des listes SharePoint (les tables dans Access s'affichent sous la forme d'icônes jaunes). Cela fonctionne bien sur mon poste de travail et je peux travailler sur cette base de données Access à la fois en ligne et hors ligne (à l'aide de l'icône External Data-Web - Linked Lists - Work Offline)

J'ai donné à tous les utilisateurs des droits d'administration sur ces listes liées sur le site SharePoint

Lorsque le fichier de base de données Access est copié sur un autre poste de travail (un autre utilisateur) puis ouvert sur ce poste de travail, Access essaie simplement d'ouvrir puis échoue, passe par « essayer de trouver une réponse au problème » et « essayer de récupérer des données » et puis ferme

Quelqu'un a-t-il des idées s'il vous plait ?


Accès aux données à l'aide de curseurs dans un script de géotraitement

Un curseur est un objet d'accès aux données qui peut être utilisé pour parcourir l'ensemble de lignes d'une table ou insérer de nouvelles lignes dans une table. Les curseurs ont trois formes, appelées curseur de recherche, d'insertion ou de mise à jour.


En savoir plus sur la méthode InsertCursor
En savoir plus sur la méthode SearchCursor
En savoir plus sur la méthode UpdateCursor
Chaque type de curseur est créé par une méthode de géoprocesseur correspondante (SearchCursor, InsertCursor ou UpdateCursor) sur une table, une vue tabulaire, une classe d'entités ou une couche d'entités. Un curseur de recherche peut être utilisé pour récupérer des lignes. Un curseur de mise à jour peut être utilisé pour mettre à jour et supprimer des lignes de manière positionnelle, tandis qu'un curseur d'insertion est utilisé pour insérer des lignes dans une table ou une classe d'entités.
Les trois méthodes de curseur créent une énumération d'objets de ligne. Les méthodes prises en charge par l'objet de ligne dépendent du type de curseur créé. La méthode Next sur un curseur de recherche ou de mise à jour renvoie la ligne suivante de l'énumération. Pour récupérer toutes les lignes d'une table contenant N lignes, le script doit effectuer N appels à Next. En Python, un appel à Next après la récupération de la dernière ligne du jeu de résultats renvoie None, qui est un type de données spécial qui agit comme un espace réservé.
Les curseurs ne peuvent être parcourus que dans une direction avant, ils ne prennent pas en charge la sauvegarde et la récupération des lignes qui ont déjà été récupérées ou la réalisation de plusieurs passages sur les données. Si un script doit effectuer plusieurs passages sur les données, l'application doit réexécuter la méthode qui a renvoyé le curseur. Si les deux exécutions d'une méthode sont effectuées dans la même session d'édition (ou transaction de base de données avec le niveau d'isolement approprié), l'application est garantie de ne voir aucune modification apportée aux données par d'autres applications s'exécutant simultanément. Cet exemple montre une opération de curseur simple. Il imprime la valeur du premier champ pour chaque ligne d'un tableau.

La méthode DeleteRow peut être utilisée pour supprimer la ligne à la position actuelle d'un curseur de mise à jour (c'est-à-dire pour supprimer la ligne renvoyée par le dernier appel à Next sur ce curseur). Après avoir récupéré l'objet de ligne à l'aide de Next, le script doit appeler DeleteRow sur le curseur pour supprimer la ligne.

Les curseurs d'insertion sont utilisés pour insérer des lignes en bloc. La méthode InsertRow prend un objet de ligne comme argument. Le script obtient un nouvel objet de ligne à l'aide de la méthode NewRow sur l'objet d'énumération dans lequel les lignes doivent être insérées. Chaque appel à InsertRow sur le curseur crée une nouvelle ligne dans la table dont les valeurs initiales sont définies sur les valeurs de la ligne d'entrée. Les curseurs honorent les requêtes et les sélections de définition de couche/vue de table. L'objet d'énumération de lignes contiendra uniquement les lignes qui seraient utilisées par un outil de géotraitement au cours d'une opération.

GetValue et SetValue

L'objet de ligne peut accéder aux valeurs des champs et les mettre à jour à l'aide des noms de champs ou de la position d'index d'un champ. Cette approche fonctionne bien lorsque les noms ou l'ordre des champs sont connus, mais ce n'est pas toujours le cas. Les variables peuvent être utilisées pour créer des scripts génériques sans savoir quels champs existent dans une table. La ligne a deux méthodes qui permettent l'utilisation de variables comme noms de champs. La méthode GetValue renvoie simplement la valeur d'un champ, le nom du champ étant le seul paramètre d'entrée. La méthode SetValue a deux paramètres—le champ à mettre à jour et la valeur à utiliser.

L'exemple ci-dessous crée une table de recherche pour toutes les classes d'entités surfaciques dans un espace de travail. La table de recherche contient un ID qui correspond à l'ObjectID de chaque entité de la classe d'entités et une valeur de distance qui pourrait être utilisée pour l'outil Tampon.


Python prend en charge l'utilisation d'une variable comme nom de propriété ou de méthode à l'aide de la fonction Eval. Tous les langages de script ne prennent pas en charge l'évaluation d'une variable en tant que propriété ou méthode d'objet. Dans ces cas, les méthodes GetValue et SetValue sont particulièrement utiles.

Spécification d'une requête

Le langage de requête structuré (SQL) est un langage puissant que vous utilisez pour définir un ou plusieurs critères qui peuvent être constitués d'attributs, d'opérateurs et de calculs. Par exemple, imaginez que vous disposez d'un tableau de données client et que vous souhaitez trouver ceux qui ont dépensé plus de 50 000 $ avec vous l'année dernière et dont le type d'entreprise est Restaurant. Vous devez sélectionner les clients avec cette expression : “Sales > 50000 AND Business_type = ‘Restaurant’”.
Lorsqu'une requête est spécifiée pour un curseur de mise à jour ou de recherche, seuls les enregistrements satisfaisant cette requête sont renvoyés. Une requête SQL représente un sous-ensemble des requêtes de table unique qui peuvent être effectuées sur une table dans une base de données SQL à l'aide de l'instruction SQL Select. La syntaxe utilisée pour spécifier la clause where est la même que celle de la base de données sous-jacente contenant les données. Reportez-vous au système d'aide d'ArcGIS Desktop pour plus d'informations sur la définition des clauses where SQL. L'exemple ci-dessous filtre les lignes d'un curseur de recherche sur les routes d'un certain type uniquement :

L'objet géométrique

À l'aide d'un objet de géométrie, le géoprocesseur prend en charge l'accès du curseur à la géométrie de l'entité. L'objet, créé par l'objet de ligne lorsque le champ Shape est spécifié, expose un certain nombre de propriétés qui décrivent une fonctionnalité. L'exemple ci-dessous montre comment créer un objet de géométrie pour chaque entité linéaire dans une classe d'entités et additionner leur longueur :

Toutes les classes d'entités simples nécessitent un champ de type de géométrie. Il contient la géométrie réelle d'une entité et est généralement appelé Forme. Les méthodes ListFields ou Describe peuvent être utilisées pour récupérer le champ géométrique d'une classe d'entités. Le nom du champ peut être déterminé à partir de l'objet champ.

Lecture de géométries

Chaque entité d'une classe d'entités contient un ensemble de points définissant les sommets d'un polygone ou d'une ligne ou une seule coordonnée définissant une entité ponctuelle. Ces points sont accessibles à l'aide de l'objet Geometry, qui les renvoie dans un tableau d'objets ponctuels. L'objet réseau peut contenir un nombre quelconque d'objets de géotraitement, tels que des points, des géométries ou des références spatiales.

Les entités d'une géodatabase ou d'un fichier de formes peuvent avoir plusieurs parties. La propriété PartCount de l'objet de géométrie renvoie le nombre de pièces d'une entité. La méthode GetPart renverra un tableau d'objets ponctuels pour une partie particulière de la géométrie si un index est spécifié. Si aucun index n'est spécifié, un tableau contenant un tableau d'objets ponctuels pour chaque partie de la géométrie sera renvoyé. L'exemple ci-dessous imprimera les coordonnées de toutes les entités dans la fenêtre de sortie :

Les entités ponctuelles renvoient un objet ponctuel unique au lieu d'un tableau d'objets ponctuels. Tous les autres types d'entités—polygone, polyligne et multipoints—retournent un tableau d'objets ponctuels ou un tableau contenant plusieurs tableaux d'objets ponctuels si l'entité comporte plusieurs parties.

Un polygone sera composé d'un certain nombre d'anneaux s'il contient des trous. Le tableau d'objets ponctuels renvoyé pour un polygone contiendra les points de l'anneau extérieur et de tous les anneaux intérieurs. L'anneau extérieur est toujours renvoyé en premier, suivi des anneaux intérieurs, avec des objets à point nul comme séparateur. Chaque fois qu'un script lit les coordonnées de polygones dans une géodatabase ou un fichier de formes, il doit contenir une logique pour gérer les anneaux intérieurs si cette information est requise par le script, sinon, seul l'anneau extérieur sera lu. Le script suivant imprime les coordonnées des polygones dans une classe d'entités. Il montre comment gérer les polygones en plusieurs parties et les polygones avec plusieurs anneaux.

Les chaînes peuvent être facilement concaténées en Python à l'aide de l'opérateur d'addition. La fonction Str peut être utilisée pour renvoyer la valeur de chaîne de n'importe quel objet afin que la valeur puisse être concaténée avec d'autres chaînes.
Une entité multipartie est composée de plusieurs parties physiques mais ne fait référence qu'à un seul ensemble d'attributs dans la base de données. Par exemple, dans une couche d'états, l'état d'Hawaï peut être considéré comme une entité en plusieurs parties. Bien que composé de plusieurs îles, il serait enregistré dans la base de données comme une seule entité.
Un anneau est un chemin fermé qui définit une zone à deux dimensions. Un anneau valide consiste en un chemin valide, tel que les points de départ et d'arrivée de l'anneau ont les mêmes coordonnées x,y. Un anneau dans le sens des aiguilles d'une montre est un anneau extérieur et un anneau dans le sens inverse des aiguilles d'une montre définit un anneau intérieur.

Ecrire des géométries

À l'aide des curseurs d'insertion et de mise à jour, les scripts peuvent créer de nouvelles entités dans une classe d'entités ou mettre à jour des entités existantes. Un script peut définir une entité en créant un objet point, en remplissant ses propriétés et en le plaçant dans un tableau. Ce tableau peut ensuite être utilisé pour définir la géométrie d'une entité. Une pièce géométrique unique est définie par un tableau de points, de sorte qu'une entité multi-parties peut être créée à partir de plusieurs tableaux de points.

Vous trouverez ci-dessous un exemple de fichier pouvant être traité par le script ci-dessous :
1-61845879.096845047635.4861
1-3976119.9679146073695.0451
11154177.8272-25134838.3511
1-62051091.0086-26160897.9101
217365918.859844431999.7507
239939229.158245252847.3979
241170500.629127194199.1591
217981554.595227809834.8945
317365918.859844431999.7507
315519011.653511598093.8619
352046731.954713034577.2446
352867579.6019-16105514.2317
317160706.948-16515938.0553

L'exemple suivant montre comment lire un fichier texte contenant une série de coordonnées linéaires (comme ci-dessus) et les utiliser pour créer une nouvelle classe d'entités.

Un tableau de points n'est pas nécessaire lors de l'écriture d'entités ponctuelles. Un objet point unique est utilisé pour définir la géométrie d'une entité ponctuelle.
Le géoprocesseur valide toutes les géométries avant qu'elles ne soient écrites dans une classe d'entités. Les problèmes tels que l'orientation incorrecte de l'anneau et les polygones auto-sécants, entre autres, sont corrigés lorsque la géométrie est simplifiée avant son insertion. Le géoprocesseur n'écrira pas de géométrie non valide.

Définir la référence spatiale d'un curseur

Par défaut, la référence spatiale de la géométrie renvoyée par un curseur de recherche ou définie par un curseur de mise à jour ou d'insertion est la même que la classe d'entités référencée par le curseur. Une référence spatiale différente pour les entités en entrée ou en sortie peut être spécifiée lors de la création du curseur. Dans le cas d'un curseur de recherche, la spécification d'une référence spatiale différente de la référence spatiale de la classe d'entités en entrée se traduira par des géométries qui seront projetées sur la référence spatiale du curseur. L'exemple ci-dessous a une classe d'entités ponctuelles avec un système de coordonnées de la zone 21 Nord de Mercator transverse universel (UTM), défini dans sa référence spatiale. Le script produira un fichier texte avec les coordonnées des points en degrés décimaux.
importer win32com.client, sys, sortie de fichier
# Créer l'objet géoprocesseur
GP = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1")

# Décrire une classe d'entités avec un système de coordonnées géographiques
desc = GP.Describe("D:/St_Johns/data.mdb/latlongbnd")

# Créer un curseur de recherche. Utilisez l'objet de référence spatiale du
# classe d'entités décrite afin que les géométries soient renvoyées en degrés décimaux.
rows = GP.SearchCursor("D:/St_Johns/data.mdb/buildings", "", desc.SpatialReference)
ligne = lignes.Suivant()

# Ouvrez le fichier pour la sortie. Cela crée également le fichier s'il n'existe pas.
out = open(sys.argv[1],"w")

# Imprimer les coordonnées de chaque entité de point de construction
tandis que la ligne:
# Créer l'objet géométrie
exploit = ​​ligne.forme
# Récupère l'objet point de la géométrie.
pnt = feat.GetPart()
# Écrire la coordonnée x,y dans le fichier de sortie
out.write(pnt.x + "" + pnt.y + " ")
ligne = lignes.Suivant()

# Fermez le fichier de sortie
out.close()
La référence spatiale d'une classe d'entités décrit son système de coordonnées (par exemple, géographique, UTM et State Plane), son domaine spatial et sa précision. Le domaine spatial est mieux décrit comme la plage de coordonnées autorisée pour les coordonnées x,y, les valeurs m- (mesure) et les valeurs z. La précision décrit le nombre d'unités système par unité de mesure. La définition de la référence spatiale d'un curseur d'insertion ou de mise à jour est requise lorsque le système de coordonnées des géométries en entrée est différent de la classe d'entités référencée. La définition de la référence spatiale d'un curseur d'insertion ou de mise à jour permet au curseur de projeter les coordonnées à la volée avant qu'elles ne soient réellement écrites dans la classe d'entités. Un script qui écrit les coordonnées du système de positionnement global (GPS) dans une classe d'entités avec un système de coordonnées State Plane est un exemple idéal de définition de la référence spatiale d'un curseur.

Les curseurs d'insertion et de mise à jour respectent les verrous de table définis par ArcGIS. Les verrous empêchent plusieurs processus de modifier la même table en même temps. Il existe deux types de serrures partagées et exclusives. Un verrou partagé est appliqué à chaque accès à une table ou à un ensemble de données. Plusieurs verrous partagés peuvent exister pour une table, mais aucun verrou exclusif n'est autorisé s'il existe un verrou partagé. L'affichage d'une classe d'entités dans ArcMap ou la prévisualisation d'une table dans ArcCatalog sont des exemples de cas où un verrou partagé serait appliqué. Des verrous exclusifs sont appliqués lorsque des modifications sont apportées à une table ou à une classe d'entités. La modification et l'enregistrement d'une classe d'entités dans ArcMap, la modification du schéma d'une table dans ArcCatalog ou l'utilisation d'un curseur d'insertion sur un fichier de formes dans PythonWin sont des exemples de cas où un verrou exclusif est appliqué par ArcGIS.
Les curseurs de mise à jour et d'insertion ne peuvent pas être créés pour une table ou une classe d'entités si un verrou exclusif existe pour ce jeu de données. Les méthodes UpdateCursor ou InsertCursor renverront une erreur indiquant que les méthodes ont échoué car un verrou exclusif existe pour l'ensemble de données. Si ces méthodes réussissent à créer un curseur, elles appliqueront un verrou exclusif sur l'ensemble de données afin que deux scripts ne puissent pas créer une mise à jour ou insérer un curseur sur le même ensemble de données.
Les verrous persistent jusqu'à ce que l'application ou le script libère l'ensemble de données, soit en fermant soit en libérant explicitement l'objet curseur. Dans un script, l'objet curseur doit être supprimé afin que le verrou exclusif qu'il a placé sur l'ensemble de données soit libéré. Sinon, toutes les autres applications ou scripts pourraient être inutilement empêchés d'accéder à un ensemble de données. L'exemple ci-dessous montre comment ouvrir un curseur de mise à jour et le libérer. Un gestionnaire d'erreurs est utilisé pour vérifier si la méthode UpdateCursor échoue en raison d'un autre verrou exclusif sur la table.

Une session de mise à jour dans ArcMap appliquera un verrou partagé aux données pendant la session de mise à jour. Un verrou exclusif est appliqué lorsque les modifications sont enregistrées. Un jeu de données n'est pas modifiable si un verrou exclusif existe déjà.
D'autres langages de script ont différentes fonctions ou instructions pour annuler le référencement aux objets. Par exemple, VBScript utilise l'instruction Set pour libérer un objet en le définissant sur Nothing. Pour plus d'informations sur la gestion des objets, reportez-vous à la référence du langage que vous utilisez.
Lorsque vous travaillez dans un éditeur Python, tel que PythonWin, vous devrez peut-être nettoyer les références d'objet pour supprimer les verrous d'ensemble de données définis par les curseurs. Utilisez le module gc (garbage collection) dans la fenêtre interactive pour contrôler quand les objets inutilisés sont supprimés et/ou supprimer explicitement les références dans votre script.


Ajouter des données au jeu de classes d'entités

Vous allez maintenant ajouter des données au jeu de données d'entités des parcs.

    Cliquez avec le bouton droit sur le jeu de classes d'entités parks dans l'arborescence du catalogue, pointez sur Importer , puis cliquez sur Classe d'entités (multiple) .

L'outil de géotraitement Classe d'entités vers géodatabases (multiple) s'ouvre.

La géodatabase de communauté a été installée avec les données du didacticiel. Par conséquent, accédez à l'emplacement où vous avez installé les données du didacticiel du serveur de base de données.

Si vous ne voyez pas le message contextuel, vous pouvez ouvrir la fenêtre Résultats à partir du menu Géotraitement : Géotraitement > Résultats .

Le jeu de données d'entité parks doit désormais contenir les classes d'entités park_areas, tree et water_bodies.


Liste des problèmes traités par ArcGIS 10.2

1 ArcGIS 10.2 Liste des problèmes résolus ArcGIS for Desktop ArcGIS for Server Amazon Caching Feature Services Services de géotraitement GIS Server Image Services Manager Services de carte Services d'analyse de réseau OGC Printing Services Rest API Security Server Object Extensions Web Adapter ArcSDE

2 Statistiques zonales NIM d'ArcGIS Desktop : augmentez la plage de valeurs pouvant être prises en charge dans l'entrée Valeur avant qu'elle n'échoue. Améliorez également les limites de Desktop à celles de Workstation. La priorité d'étiquette par défaut NIM n'est pas lue correctement lors de l'utilisation de SLE (Standard Label Engine). L'outil NIM Ascii3DToFeatureClass doit afficher des messages d'erreur corrects sur les sorties multipoints et ponctuelles. NIM L'utilisation de l'outil de fusion sur une polyligne avec des valeurs z et la désactivation de « Créer des entités multiparties » échoue avec une erreur. NIM ISpatialFilter::SpatialRel::esriSpatialRelIntersects renvoie des résultats incorrects lorsque les données sont dans SDE. Le mappage de champ NIM avec l'outil Ajouter et l'option NO_TEST ne fonctionne pas correctement. NIM Le processus d'outil Raster vers TIN doit être limité à l'étendue de l'analyse de géotraitement. NIM Demande de prise en charge de l'imagerie satellite DMC (caméra de cartographie numérique) en tant que type raster pour le serveur d'images. NIM Lors de l'enregistrement d'un modèle dans un emplacement qui n'est pas une boîte à outils ou un jeu d'outils, améliorez le message renvoyé par la boîte de dialogue Enregistrer, afin que l'utilisateur sache ce qui se passe, ou donnez à l'utilisateur le choix de créer une boîte à outils à cet emplacement.NIM L'outil de géotraitement d'identité se bloque lorsqu'il est exécuté sur un ensemble de données spécifique. NIM L'outil Ajouter des niveaux de pyramide de terrain ne fonctionne pas dans ModelBuilder si le jeu de classes d'entités n'existe pas déjà et est créé par le modèle. NIM Workbench reste ouvert après la fermeture d'ArcGIS. NIM Lorsque des données CAO sont affichées dans ArcMap, la valeur d'ID des entités d'insertion (BLOC) doit être le FID. Actuellement, la valeur d'ID affichée dans la boîte de dialogue Identifier les entités est extraite du champ RefName. NIM Le bouton Revenir à l'étendue précédente de la barre d'outils Outils est inactif lorsqu'une échelle fixe est définie. NIM Lors de la réception de l'erreur, le texte multiligne que vous avez entré a été placé dans le calculateur de champs, la fenêtre d'erreur s'ouvre plusieurs fois après avoir cliqué sur OK. Les courbes NIM dans un fichier.dxf sont affichées sous forme de lignes dans ArcMap. NIM La manipulation d'une valeur dans le champ TextString réinitialise la valeur dans un champ antérieur modifié dans une annotation non liée à une fonctionnalité. Amélioration NIM : autorisez les produits logiciels Esri à respecter les stratégies de restriction logicielle Windows. NIM L'option Afficher les astuces de carte dans la boîte de dialogue Propriétés de la couche est grisée pour une vue spatiale. NIM Fournit un nouveau type de synchronisation qui vous permet d'écraser toutes les propriétés d'un élément qui sont enregistrées dans ses métadonnées, à l'exception de son titre et de son type de contenu.

3 NIM L'outil de géotraitement Supprimer les lignes ne comprend pas correctement les propriétés de la classe de relations. Lors de la suppression d'un objet d'origine dans une relation simple, la valeur du champ de clé étrangère pour l'objet de destination correspondant n'est pas définie sur Null. NIM Terrain ne s'affiche pas correctement lorsque le bloc de données est pivoté en mode Mise en page. L'outil NIM Appliquer la symbologie à partir d'une couche n'applique pas la symbologie d'une couche à la couche en entrée lorsqu'il est utilisé dans une itération, et la symbologie est basée sur un champ joint. Les statistiques zonales NIM et l'outil Statistiques zonales sous forme de table se bloquent sur les types de statistiques MAJORITY, MEDIAN, MINORITY et VARIETY avec des données spécifiques. NIM L'interrogation d'une couche/table (à partir d'une base de données ArcSDE) par 'ObjectIDs' est plus lente que l'utilisation d'une requête similaire avec la clause 'Where' via une carte ou un service d'entités. NIM Toute fonction d'exportation arcpy.mapping qui écrit un fichier mondial ou des balises geotiff produit des images déformées lorsqu'elle est réintroduite dans ArcMap. Cela s'applique aux scénarios d'exportation de blocs de données. NIM L'outil Rechercher renvoie des résultats aléatoires lors de la recherche d'une chaîne. NIM L'outil Extraire les valeurs en points crée une sortie dans la géodatabase lorsqu'un jeu de classes d'entités est spécifié comme destination. NIM Les étiquettes de recherche d'itinéraire sont tronquées lors de l'utilisation d'une édition anglaise d'ArcGIS avec la langue régionale définie sur chinois sur un système d'exploitation Windows chinois. NIM Raster vers Polygon - le champ de sortie doit être GRIDCODE quel que soit le format de sortie. NIM L'outil de géotraitement MergeBranch ne sélectionne pas correctement la première valeur dans l'état hasbeen-run. NIM L'interface IIdentifyObj ne personnalise pas correctement la boîte de dialogue Identifier. NIM L'outil Extract Values ​​to Points ne parvient pas à mettre à jour un nouveau champ lorsqu'il existe un champ nommé "RasterValu." La configuration de la barre d'outils NIM n'est pas conservée lors des redémarrages successifs d'ArcMap. La référence spatiale et l'étendue NIM ne sont pas lues correctement pour certains rasters HDF5. NIM L'outil de mesure 3D dans ArcScene signale la zone de manière incorrecte. NIM La barre d'outils LAS n'exploite pas les fonctions Classe et Angle de pente avec le bureau ArcGIS localisé. NIM La clause where arcpy.da.searchcursor() ne fonctionne pas avec une vue tabulaire. Les outils de géotraitement NIM D Analyst qui acceptent les entrées raster ne reconnaissent pas les couches de mosaïque. NIM Le facteur z de l'outil Interpoler la forme n'est pas respecté lorsque l'outil est utilisé dans ModelBuilder, mais respecte le paramètre lorsqu'il est utilisé en tant qu'outil autonome. NIM L'outil de géotraitement Grid Index Features donne l'erreur : 'ERREUR : Impossible d'insérer des entités'. NIM Ajout de la prise en charge de RasterToNumPyArray pour créer un tableau NumPy 3D à partir d'une image raster multibande. NIM Aucune explication n'est fournie dans l'interface utilisateur lorsqu'il y a une erreur Python dans l'initialisation de la classe Toolbox. NIM ArcMap ajoute automatiquement "Degrees" à l'angle de rotation sans insérer d'espace, bien qu'un espace soit nécessaire lors de l'utilisation de texte dynamique. Les champs NIM Shape_Area et Shape_Length ne peuvent pas être supprimés d'une table autonome créée en exportant une table de classes d'entités à partir de l'interface utilisateur de la table. NIM L'outil Extraire par masque donne une étendue de sortie incorrecte lorsque les données d'entités raster et masque ont des projections similaires à l'exception des noms. (North_American_1983 vs NAD_1983). Les cellules supplémentaires dans la sortie sont remplies avec NoData.

4 NIM Un plantage peut se produire lorsque l'outil Raster vers polygone est utilisé avec l'option Simplifier les polygones cochée (spécifique aux données). NIM L'outil Extraire par masque renvoie une erreur lors du découpage d'un très grand raster TIFF et la sortie est TIFF. Une erreur est renvoyée lorsque la sortie est Grid. Les catalogues de rasters NIM composés de rasters dans différents systèmes de coordonnées n'affichent pas l'intégralité de l'étendue. NIM Il y a une dégradation des performances entre les versions 9.2 et 10.0 dans la boîte de dialogue Sélectionner par emplacement (menu Sélection > Sélectionner par emplacement) lors de l'utilisation d'une intersection comme méthode de sélection spatiale. NIM L'outil de géotraitement Changer de version ne fonctionne pas avec les vues tabulaires. NIM La commande Ajouter un fond de carte n'est pas présente dans la boîte de dialogue Personnaliser d'ArcGlobe. Les symboles NIM Point du jeu de symboles ArcGIS Explorer ne s'affichent pas correctement. NIM Les outils de géotraitement Analyser les jeux de données et Reconstruire les index échouent avec une erreur lorsqu'ils sont exécutés en tant qu'utilisateur d'authentification du système d'exploitation. NIM La modification d'un nom de plan dans la boîte de dialogue Propriétés du plan ou dans la table attributaire, puis l'utilisation de la fonction Renommer dans le répertoire du plan provoque le blocage d'ArcMap. NIM La stratégie d'ajustement de la numérotation des clés ne fonctionne pas lorsque la fonction de suppression de la densité d'étiquetage des doublons est appliquée dans les propriétés de placement d'étiquetage Maplex. NIM Si une source de hauteur est définie sur pour un SFType à remplacement forcé (type d'entité de surface), le processus de création de terrain se termine mais le terrain ne s'affiche pas. NIM Lorsque le masquage des caractéristiques des représentants est activé, les commandes de dessin au moment de l'exportation produisent des chemins de détourage redondants, ce qui entraîne des fichiers PDF et EPS trop volumineux et complexes à ouvrir. NIM Le nom du titre est manquant dans la boîte de dialogue Description de l'élément de source de données dans ArcGIS NIM L'outil Calculer la zone à valider crée une entité avec une géométrie vide lorsqu'aucune zone à valider n'est trouvée. NIM Interpolate Shape stocke la géométrie Z des entités en sortie sous forme de valeurs entières si la surface est un raster de géodatabase de fichier à virgule flottante 32 bits avec un système de coordonnées inconnu. NIM Maplex et les moteurs d'étiquetage standard placent des étiquettes au-dessus des graphiques. NIM Lors de la consolidation d'une carte contenant deux jeux de données raster distincts, si une étendue est spécifiée pour découper uniquement une partie d'un jeu de données raster, l'autre raster qui se trouve en dehors de l'étendue spécifiée est consolidé dans son intégralité. L'empaquetage NIM d'un raster à l'aide d'une étendue ne coupe pas le raster lors de la préservation du format raster. NIM L'outil d'appartenance floue génère des résultats incorrects dans un modèle avec le type d'appartenance défini comme paramètre. NIM Lors de la modification des sommets dans la fenêtre Propriétés de l'esquisse, le déplacement d'un sommet modifie la valeur M en NaN (pas un nombre). NIM L'outil Convertir la notation des coordonnées n'applique pas correctement la transformation géographique "NAD_1927_To_WGS_1984_79_CONUS". NIM L'outil de géotraitement Mettre à niveau le jeu de données ne fonctionne pas avec les couches. NIM L'outil Convert Coordinate Notation écrit la sortie UTM dans un emplacement incorrect. L'ologie NIM devient verrouillée et inaccessible dans la table des matières après l'exécution de l'outil Réparer la géométrie sur une classe d'entités participante avec le géotraitement en arrière-plan activé. NIM Le service de géotraitement échoue avec une erreur "000814 : Type de fichier non valide" lorsque le type de fichier de paramètre d'entrée défini par l'utilisateur est différent de celui défini dans l'objet de résultats. Les lignes NIM deviennent sélectionnables après l'exécution du calculateur de champ.


Remplir la table Access (*.mdb) avec le texte des éléments de texte pour inventorier les MXD à l'aide d'ArcPy/Python ? - Systèmes d'information géographique

GISC 2401 : Acquisition et analyse de données dans les systèmes d'information géographique (SIG)
45482 Lec 001 &ndash Instructeur associé Sean Moran
Austin Community College &ndash printemps 2012

La classe se réunit
Mardi et jeudi de 17h à 19h40 au Northridge Campus (NRG), Bâtiment 3, Salle 3207.

Coordonnées
Sean Moran sera l'instructeur pour l'acquisition et l'analyse de données dans les SIG.

Sean Moran est le président du département SIG et professeur agrégé de SIG. Ancien directeur de la planification régionale au Capital Area Planning Council (CAPCOG), il a plus de 15 ans d'expérience professionnelle en planification, en systèmes d'information géographique (SIG) et en systèmes de positionnement global (GPS). Il possède une vaste expérience dans l'utilisation des technologies de l'information pour faciliter la planification, l'ingénierie et les projets environnementaux. Ses réalisations professionnelles comprennent : le développement de l'inventaire des terres vacantes - un inventaire complet des terres vacantes dans la MSA d'Austin-Round Rock, la coordination et la création de l'atlas géologique numérique du Texas, la sécurisation de partenariats clés pour la création du programme de cartographie stratégique du Texas de 40 millions de dollars et la publication de GeoDisc. 98 : Le CD d'inventaire du SIG du métro d'Austin 1998. L'expérience de M. Moran en tant qu'éducateur, gestionnaire, coordonnateur, superviseur et technicien lui donne une base de connaissances complète sur laquelle puiser. Avant de rejoindre l'ACC en 2009, M. Moran a enseigné les SIG appliqués à des étudiants en planification de deuxième cycle à l'École d'architecture de l'Université du Texas. Il est titulaire d'un baccalauréat en sciences forestières de l'Université Texas A&M et d'une maîtrise en planification communautaire et régionale de l'Université du Texas. Les coordonnées de M. Moran&rsquos sont indiquées ci-dessous :

Sean Moran
Président du département SIG
Collège communautaire d'Austin
11928, promenade Stonehollow
Bâtiment 3, salle 3212
Austin, Texas 78758
téléphone (512) 223-4944
email [email protected]

heures de travail
Les mardis et jeudis de 15h à 17h au NRG 3212 ou sur rendez-vous.

Description du cours
Ce cours étudie la gestion de l'information géographique, les cycles de vie du système et les coûts et avantages. Il examine les questions institutionnelles telles que les fournisseurs de données, la gestion des données, la combinaison de données attributaires et graphiques, le stockage et l'accès à l'information, et les normes étatiques et nationales pour les données spatiales. Le cours initie l'étudiant aux applications SIG pour la modélisation et l'analyse de données.
Prérequis
GEOG 2470 : Introduction au SIG

Textes/Matériels requis
Allen, David W. et Jeffery M. Coffey. 2010. Tutoriel SIG 3 : classeur avancé (pour ArcGIS 10) . Redlands, Californie : ESRI Press. ISBN : 9781589482074.

Une clé USB externe ou un disque dur avec au moins 2 Go de stockage est requis. Un 4 Go, c'est encore mieux. En matière de SIG, plus il y a d'espace de stockage, mieux c'est.

Textes/matériels suggérés
Bien qu'il ne soit pas obligatoire, ce guide du corpus de connaissances en gestion de projet (PMBOK) s'avérera une excellente ressource pendant ce cours et à l'avenir :

Institut de gestion de projet. 2008. Un guide du corpus de connaissances en gestion de projet : Guide PMBOK - Quatrième édition . Newton Square, Pennsylvanie : Institut de gestion de projet. ISBN13 : 9781933890517.

  • Expliquer le but des métadonnées
  • Décrire l'infrastructure de données nationale et internationale et les données de recensement
  • Résumer comment sélectionner et évaluer les données en fonction de la source et de la qualité
  • Collecter et analyser des ensembles de métadonnées pour un projet
  • Formuler des requêtes de bases de données géographiques
  • Établir une piste d'audit
  • Utiliser les informations géographiques dans la prise de décision
  • Concevoir un projet d'acquisition de données
  • Utiliser des références, des systèmes de coordonnées et des projections cartographiques

Évaluation du cours/Système de notation

Les éléments de notation sont basés sur une participation active en classe, la réussite et la réussite des exercices de laboratoire, trois tests et trois projets de classe.

La note finale est basée sur un total de 100 points et l'échelle de notes suivante :

Exercices de laboratoire
Chaque sujet hebdomadaire comprend un exercice de laboratoire. L'instructeur sera disponible à tous les exercices de laboratoire pour aider les étudiants avec l'exercice et discuter des applications pratiques de cette application particulière.

Devoirs
Il y a quatre devoirs notés. Une description détaillée de chaque tâche sera remise le premier jour de cours pertinent. Chaque devoir noté est répertorié ci-dessus et décrit dans le calendrier et le plan de cours ci-dessous. Les quatre devoirs notés constituent la base du projet de classe. Tout devoir rendu en retard sera pénalisé de 1 point par jour.

Projets
Les projets sont conçus pour développer les compétences et la confiance nécessaires pour réaliser des applications du monde réel à l'aide du SIG. En plus des projets d'analyse de découpage et de stationnement, chaque élève sélectionnera un projet de classe dans la liste ci-jointe. Les quatre devoirs notés serviront de livrables jalons à l'appui du projet de classe d'un semestre. Le livrable final du projet de classe est une carte grand format qui sera présentée lors d'une séance d'affiches le jeudi 10 mai de 16h à 18h. Tout projet rendu en retard sera pénalisé de 2 points par jour.

Politiques de cours
Veuillez consulter les politiques de cours suivantes concernant l'assiduité, les retraits, les incomplets, la malhonnêteté scolaire, les étudiants handicapés et la liberté académique.

Présence
Bien qu'il ne s'agisse pas d'un élément de notation formel, le fait d'assister à des cours et de participer à des conférences influencera votre exercice, votre devoir, votre projet et vos notes finales. J'accepterai les présences au cas où il y aurait des questions sur votre note finale et votre engagement dans ce cours. Vous êtes responsable de toute annonce faite en classe même si vous n'étiez pas en classe ce jour-là. Les étudiants qui manquent un cours doivent prendre des dispositions pour remettre les devoirs et obtenir des notes, des documents et des annonces relatifs à la classe.

Les étudiants qui assistent aux cours sont censés participer activement aux conférences. Cela signifie être engagé dans une conférence, participer à des discussions et répondre à l'instructeur lorsqu'il y est invité. Les activités sur les réseaux sociaux (par exemple, les e-mails, Facebook) et la voix et les SMS mobiles sont un obstacle à la participation active et ne doivent être utilisées que pendant les pauses.

Retraits
Le dernier jour pour se retirer de ce cours pour la session du printemps 2012 est le lundi 23 avril 2012. Il est de la responsabilité de l'étudiant de se retirer du cours. Si vous avez assisté à au moins un cours, l'instructeur ne vous retirera PAS du cours. L'instructeur ne retirera que les étudiants qui n'ont jamais assisté aux cours.

Incomplets
Une note incomplète, ou &ldquoI&rdquo, est rarement attribuée dans ce cours. Dans le cas où une véritable urgence (par exemple, une hospitalisation) empêche l'étudiant de passer le dernier test, une note de &ldquoI&rdquo peut être attribuée à la discrétion de l'instructeur. Les éléments incomplets doivent être rattrapés avant la date de publication dans le calendrier du Collège ACC, ou le &ldquoI&rdquo sera automatiquement converti en un &ldquoF&rdquo.

Malhonnêteté scolaire
Les actes interdits par le collège pour lequel la discipline peut être administrée comprennent la malhonnêteté scolaire, y compris, mais sans s'y limiter, la tricherie à un examen ou à un quiz, le plagiat et la collaboration non autorisée avec une autre personne dans la préparation d'un travail extérieur. Les travaux académiques soumis par les étudiants doivent être le résultat de leur réflexion, de leurs recherches ou de leur expression personnelle. Le travail académique est défini comme, mais sans s'y limiter, des tests, des quiz, qu'ils soient pris par voie électronique ou sur papier, des présentations individuelles ou en groupe en classe et des devoirs.

Étudiants handicapés
Chaque campus de l'ACC propose des services d'accompagnement aux étudiants présentant un handicap physique ou psychologique avéré. Les étudiants handicapés doivent demander des aménagements raisonnables par l'intermédiaire du Bureau des étudiants handicapés sur le campus où ils prévoient de suivre la majorité de leurs cours. Les étudiants sont encouragés à le faire trois semaines avant le début du semestre.

Liberté académique
Chaque élève est fortement encouragé à participer aux discussions en classe. Dans toute situation de classe qui inclut la discussion et la pensée critique, il y a forcément de nombreux points de vue différents. Les étudiants peuvent non seulement être en désaccord les uns avec les autres parfois, mais les étudiants et l'instructeur peuvent également constater qu'ils ont des opinions divergentes sur des sujets sensibles et volatiles. J'espère que ces différences amélioreront les discussions en classe et créeront une atmosphère où les étudiants et les instructeurs seront encouragés à réfléchir et à apprendre. Par conséquent, soyez assuré que vos notes ne seront pas affectées par les croyances ou les idées exprimées en classe ou dans les devoirs. Au contraire, nous respecterons tous les opinions des autres lorsqu'elles sont exprimées dans les discussions en classe.

Le calendrier des cours est présenté ci-dessous. Bien que l'instructeur se réserve le droit de modifier le calendrier des cours au besoin pendant le semestre, tout changement apporté au calendrier des cours sera discuté et accepté pendant le cours. Les étudiants sont responsables de tout changement apporté au calendrier des cours en classe même si vous n'étiez pas en classe ce jour-là. Les étudiants qui manquent la classe doivent prendre des dispositions pour remettre les devoirs et obtenir des notes, des documents et des annonces liés à la classe.


Remplir la table Access (*.mdb) avec le texte des éléments de texte pour inventorier les MXD à l'aide d'ArcPy/Python ? - Systèmes d'information géographique

Les entreprises doivent faire les bons choix de recrutement lorsqu'il s'agit de soutenir leurs projets de données. Voici quelques raisons pour lesquelles votre .

Des requêtes en langage naturel à la préparation automatisée des données, les analyses augmentées sont des fonctionnalités clés pour les principales plateformes de BI. .

L'analyse augmentée a rendu l'analyse des données plus accessible et a conduit à l'essor des data scientists citoyens. Mais en utilisant ces outils.

Amazon a déclaré que son système de surveillance des fourgons était conçu uniquement pour la sécurité des conducteurs. Mais de nombreux experts de l'industrie ont des inquiétudes concernant le.

Amazon aimerait renforcer son empreinte mondiale, mais le géant du commerce électronique est aujourd'hui confronté à des obstacles et à des défis qui ne l'ont pas été.

Amazon a amélioré son jeu avec des options de prêt et de crédit aux petites entreprises pour ses principaux marchands, montrant plus de volonté de .

Le recrutement, la formation et la collaboration font partie des principaux cas d'utilisation de la visioconférence pour les entreprises, et ils le resteront en tant que .

Alors que les CMS sans tête gagnent en popularité, les responsables informatiques peuvent se demander s'il s'agit d'une mode ou si cela affectera de manière permanente la gestion de contenu.

Oui, il est légal d'enregistrer des réunions virtuelles. Mais, pour des raisons éthiques ou juridiques, les télétravailleurs ne devraient pas tous les enregistrer. Apprendre .

La Cour suprême a statué 6-2 que les API Java utilisées dans les téléphones Android ne sont pas soumises à la loi américaine sur le droit d'auteur, mettant fin à un fichier .

Ce manuel examine ce qu'Oracle Autonomous Database offre aux utilisateurs d'Oracle et les problèmes que les organisations doivent prendre en compte.

Oracle Autonomous Database peut automatiser les tâches administratives et opérationnelles de routine pour les administrateurs de base de données et améliorer la productivité, mais .

S/4HANA Any Premise sur HEC est idéal pour les entreprises avec un environnement complexe qui effectuent une mise à niveau à partir d'un système SAP existant. Apprendre.

SAP a lancé des produits de durabilité afin que les entreprises puissent mesurer et gérer les émissions de carbone et participer à la circulaire .

La conférence annuelle des utilisateurs, tenue virtuellement pour la deuxième année, présente les efforts de SAP pour attirer les clients avec la promesse d'un .

Une bonne conception de base de données est indispensable pour répondre aux besoins de traitement des systèmes SQL Server. Dans un webinaire, le consultant Koen Verbeeck a proposé .

Les bases de données SQL Server peuvent être déplacées vers le cloud Azure de plusieurs manières différentes. Voici ce que vous obtiendrez de chacune des options .

Dans cet extrait de livre, vous apprendrez les techniques LEFT OUTER JOIN vs. RIGHT OUTER JOIN et trouverez divers exemples de création de SQL .


Annexe 2 Problèmes et questions

Des problèmes de données ont été découverts pendant le pilote RegionW à l'aide de Hazus 2.2. Certains ont été résolus. D'autres doivent être résolus avant de passer au comté suivant.

  • Hazus 2.2 SP1 (publié le 20 mai 2015) a été utilisé pour développer le workflow Ver 1.1. Les outils devront peut-être être réexécutés sur la version actuelle.
  • Devons-nous considérer SQL Server Management Studio ? Des scripts sont fournis pour compresser les régions d'étude sans avoir besoin de SQL Server.
  • Compressez les régions d'étude - les fichiers journaux SQL sont énormes.
  • De nombreux enregistrements contiennent <Nulls> ou " " ou " 0 " ou " Unk ".
    Tous les champs doivent être renseignés pour légitimer les valeurs.
  • Les domaines CAMA importants sont :
    PARID | Occupation | Région | Coût | BTP | Fondation | État | Âge | Nombre d'histoires
  • Les xFactors ($/sqft) sont dérivés de CAMA pour déterminer les valeurs impArea pour chaque structure. Les coûts de remplacement ont été calculés à l'aide des valeurs Hazus 2.2 RSMeans hzDolSqFt ajustées pour RegionW. De nouveaux xFactors sont déterminés pour chaque pays.
  • Les EF ont été mis à jour dans tout l'État.
    Les étapes sont fournies dans GeorgiaReportsWorkflow.
    Les outils sont fournis dans GeorgiaTools
  • Les installations n'ont PAS été migrées dans RegionW. Le flux de travail et les outils des installations pour RegionW sont fournis au cas où les EF doivent être mis à jour ou maintenus localement.
  • Les enregistrements non EF ne sont PAS migrés ou modélisés dans Georgia PDM. [À déterminer] Ils peuvent être signalés s'ils tombent à l'intérieur de la limite d'inondation.
  • Les FDU sont chargées dans une région d'étude existante à l'aide des outils d'importation Hazus. Des outils FME existent pour remplir les tables du serveur SQL de la région d'étude. Ce workflow n'est pas documenté dans la version 1.1.
  • SQL Server Management Studio est une meilleure option pour signaler les pertes dans une région d'étude. Cette option n'a pas été implémentée dans la version 1.1.
  • Les outils de rapport pour les estimations des pertes n'étaient pas documentés dans la version 1.1. Les options de rapport Hazus UDF sont faibles. La version 1.2 explorera l'inventaire GBS pour libérer de meilleurs outils de reporting (débris, abris, pertes d'interruption d'activité, etc.)

Réglage d'une application hybride Access/SQL Azure

Kevin Bell a ensuite présenté et offert plusieurs conseils pour ce qui sera certainement un marché en croissance dans l'espace de développement Access : les applications frontales Microsoft Access avec des données stockées dans le cloud via SQL Azure. Kevin a noté que lorsque SQL Azure a fait ses débuts, il l'a fait avec un sous-ensemble des fonctionnalités disponibles via SQL Server sur site. Il a dit que ces différences ont pour la plupart disparu. Cela simplifie grandement la migration de SQL Server sur site vers SQL Azure (SQL Server basé sur le cloud).

La migration n'est cependant pas sans embûches. Plus particulièrement, le développement avec des données SQL Azure nécessite d'être plus conscient de la quantité de données qu'Access demande et déplace réellement sur le réseau. Kevin a proposé trois règles empiriques pour maximiser les performances (celles-ci sont entièrement de mémoire, alors je m'excuse auprès de Kevin si je me suis trompé) :

  • Demandez uniquement les données dont vous avez besoin
  • Seulement quand vous en avez besoin et
  • Traiter autant que possible sur le serveur

Il a ensuite démontré les performances épouvantables que vous pourriez voir si vous migrez de SQL Server sur site vers SQL Azure basé sur le cloud en reliant simplement vos tables. Les opérations de données qui semblent se produire instantanément sur un réseau local, telles que le remplissage d'une poignée de zones de liste déroulante sur un formulaire, peuvent soudainement prendre des dizaines de secondes lorsque ce même formulaire transfère des données depuis le cloud.

Kevin a ensuite présenté une poignée de techniques pour minimiser ces retards de transfert de données :

  • Lien vers des vues SQL Server au lieu de tables
  • Liaison aux fonctions table (TVF)
  • Exécuter des procédures stockées
  • Utilisation des tables de travail temporaires locales

Kevin a également souligné l'importance de choisir des centres de données appropriés, car la latence peut varier considérablement en fonction de la proximité géographique des utilisateurs avec ces centres de données. Il a recommandé d'exécuter un test de vitesse Azure à partir du ou des emplacements des utilisateurs pour décider quel centre de données offrira les meilleures performances.


Remplir la table Access (*.mdb) avec le texte des éléments de texte pour inventorier les MXD à l'aide d'ArcPy/Python ? - Systèmes d'information géographique

Fabricant de services

Chez Bandwidth, nous utilisons un nombre toujours croissant de ressources basées sur le cloud pour nos efforts de développement de logiciels. Ces ressources, telles que les machines virtuelles et les compartiments de stockage, permettent à nos développeurs de logiciels de configurer rapidement l'infrastructure dont ils ont besoin pour le développement et les tests, leur permettant de se concentrer davantage sur l'écriture de logiciels de qualité.

Cependant, à mesure que notre utilisation de ces ressources a augmenté, nos dépenses connexes ont également augmenté. Dernièrement, nos coûts mensuels pour ces ressources basées sur le cloud ont augmenté jusqu'à quatre fois notre budget. De plus, les outils à notre disposition ne nous permettent pas de savoir quelles ressources sont utilisées par quel développeur et dans quel but. Il nous est donc extrêmement difficile de déterminer si l'argent que nous dépensons est bien dépensé. Nous avons besoin d'une solution pour faciliter le suivi de ces ressources et optimiser leurs dépenses pour nous assurer de ne pas gaspiller d'argent.

Le Service Maker doit être un service Web pour le provisionnement de ressources basées sur le cloud dans Amazon Web Services. Il fournira une API RESTful et une interface de portail Web pour créer et détruire ces ressources, suivre quelles ressources sont créées par quel utilisateur et pour quel objectif commercial, et faciliter l'identification des ressources qui ne sont plus nécessaires. Il prendra également des décisions intelligentes sur la manière de configurer ces ressources de la manière la plus rentable et fera des recommandations sur les ressources sous-utilisées et donc candidates à la réduction des effectifs.

Les étudiants travaillant sur ce projet travailleront principalement en Javascript, en utilisant Node.js comme plate-forme côté serveur et Angular.js côté client. Ils utiliseront également largement Amazon Web Services, se familiarisant avec les différents types de ressources dans AWS et les API exposées par AWS pour gérer ces ressources.

Les étudiants travailleront également en étroite collaboration avec les ingénieurs de bande passante dans l'exécution de ce projet. Nous collaborerons en utilisant des processus agiles de pointe, vous offrant une expérience du monde réel qui va bien au-delà du code que vous écrivez. Le siège social de la bande passante est situé sur le campus Centennial, ce qui nous permet de nous rencontrer facilement chaque semaine pour répéter les conceptions et le code et nous assurer que nous construisons un excellent produit. Dans le processus, nous sommes sûrs d'avoir beaucoup de plaisir ensemble.

Bandwidth est un fournisseur innovant de services de communication de nouvelle génération qui contribuent à changer la façon dont les gens du monde entier communiquent. Nous sommes la plate-forme Voice Over IP derrière des services comme Skype et Google Voice. Nous avons également construit et exploité le service de téléphonie mobile Republic Wireless, qui perturbe l'industrie de la téléphonie mobile avec son approche des communications mobiles axée sur le wifi. Nous sommes une entreprise de logiciels qui révolutionne l'industrie des télécommunications en alimentant les entreprises qui changent notre façon de communiquer.

Retour au sommet.

Boîte à outils de configuration

Description sommaire

L'une de nos principales applications internationales au sein de Finance Systems s'appelle Boeing International Business Systems (BIBS). L'application BIBS est basée sur Oracle E-Business Suite qui est une application commerciale sur étagère (COTS) d'Oracle. Il est construit sur une base de données Oracle et l'utilisateur interagit avec l'application via Oracle Forms et une interface Web.

Boeing a des bureaux dans plus de 70 pays. L'application BIBS a été déployée dans

20 pays à ce jour et sera déployé dans les pays restants par phases. L'application doit être configurée pour chaque nouveau pays introduit dans l'application. La configuration consiste à entrer manuellement dans l'application et à renseigner des données sur un grand nombre de pages Web. C'est un processus fastidieux qui doit être répété pour chaque pays au fur et à mesure de leur déploiement (puisque chaque pays a ses propres localisations et réglementations). Cette configuration doit être appliquée manuellement à l'environnement de production ainsi qu'à tous les environnements de développement et de test.

Des exemples de configuration incluent : la configuration d'une unité commerciale, la définition du traitement qui sera effectué sur cette unité commerciale, la définition des valeurs par défaut, la structure d'allocation, les informations sur le fournisseur, etc. Il existe un ensemble standard d'éléments de configuration qui doivent être définis pour chaque pays et nous le fournirons au début du projet.

L'objectif de ce projet sera de développer une boîte à outils qui aidera à automatiser la configuration de la configuration et fournira une méthode plus conviviale pour saisir les informations. Cela facilitera la configuration des 50+ pays restants à intégrer au système, ainsi que la gestion des modifications apportées à la configuration existante si des modifications doivent être appliquées.

La boîte à outils impliquera le développement Web pour créer une page Web (ou une série de pages Web) avec une configuration plus rationalisée que celle qui existe dans l'application. La technologie préférée serait l'utilisation de .Net pour le développement de pages Web.

Ce projet ne nécessitera pas une compréhension des différentes exigences pour chaque pays. Nous fournirons le document de configuration qui répertorie tous les éléments de configuration. L'équipe construira un questionnaire sous forme d'une ou plusieurs page(s) web et interfaces en fonction des exigences que nous fournirons au début du projet.

Une fois que la boîte à outils a les informations recueillies, elle se connecte à l'application BIBS et remplit la configuration. À titre d'exemple, pensez à la façon dont Turbo Tax fournit un ensemble de questions et d'écrans de saisie plus conviviaux, puis remplit les formulaires fiscaux sous-jacents les plus encombrants. De la même manière, cette boîte à outils fournira une interface conviviale et une interface pour remplir les éléments de configuration sous-jacents. Notez que pour les besoins de ce projet, l'équipe ne remplira pas les tables d'application avec la configuration. Ils créeront leurs propres tables, il n'est donc pas nécessaire qu'ils aient une compréhension de l'application Oracle E-Business.

Retour au sommet.
  • Les étudiants devront utiliser Twitter AP voir :
    https://dev.twitter.com/overview/api/twitter-libraries
  • Les étudiants doivent se familiariser avec l'exploration de données/l'analyse de texte/la notation des sentiments/la visualisation des données et l'exploration de données à l'aide de Twitter
  • Les étudiants récupéreront et analyseront les tweets pendant l'événement, 1 semaine après la fin de l'événement et 1 mois après la fin de l'événement.
  • Les étudiants évalueront le sentiment au cours de l'événement envers : produits/sujets/entités/conférenciers/Cisco/lieux/mots-clés/etc.
  • À la fin du semestre, les étudiants livreront une analyse de leurs résultats et feront des recommandations.

Écritures aléatoires efficaces

Contexte

DataDomain est le nom de marque d'une gamme de produits de sauvegarde sur disque d'EMC qui fournissent une sauvegarde en ligne rapide, fiable et peu encombrante de fichiers, de systèmes de fichiers et de bases de données allant jusqu'à des téraoctets de données. Ces produits fournissent un accès réseau pour l'enregistrement, la réplication et la restauration des données via une variété de protocoles réseau (CIFS, NFS, OST). Grâce à la technologie avancée de compression et de déduplication des données, des gigaoctets de données peuvent être sauvegardés sur disque en quelques minutes seulement et réduits en taille d'un facteur de dix à trente ou plus.

Notre centre de développement logiciel RTP développe une large gamme de logiciels pour effectuer des sauvegardes et restaurer des données à partir des systèmes DataDomain, y compris les bibliothèques utilisées par les logiciels d'application pour effectuer des sauvegardes et des restaurations complètes, partielles et incrémentielles. À mesure que DataDomain fait son chemin dans encore plus de centres de données, le besoin de gérer des charges de travail supplémentaires augmente. Les clients doivent être en mesure de sauvegarder leurs données efficacement pour respecter des périodes de sauvegarde en constante diminution.

L'une de ces charges de travail supplémentaires à prendre en compte est les "écritures aléatoires". Avec les écritures aléatoires, l'application de sauvegarde peut écrire des données dans n'importe quel fichier de décalage à tout moment au cours d'une sauvegarde. Notre bibliothèque de sauvegarde actuelle Les interfaces de programmation d'applications (API) effectuent la déduplication et la compression des données utilisateur uniquement lorsque les fichiers sont écrits séquentiellement, en commençant au décalage de fichier 0. Si l'application effectue des écritures sur des décalages de fichiers aléatoires ou non séquentiels, les API ne effectuer plus le traitement de segment distribué (DSP) qui fournit la déduplication et la compression.

Le projet fournira la possibilité d'écrire des opérations sur n'importe quel décalage de fichier d'une manière qui peut toujours fournir DSP et les capacités de déduplication et de compression de l'existant. Les étudiants concevront et mettront en œuvre une méthode de sauvegarde efficace des fichiers même lorsque les données du fichier sont écrites à l'aide d'opérations d'écriture sur des décalages aléatoires et non séquentiels dans le fichier. Cela sera fait en utilisant les API existantes fournies par EMC qui exécutent le DSP pour les opérations d'écriture séquentielle. Le but du prototype est de servir de démonstration de la manière dont les écritures aléatoires peuvent être effectuées sans nécessiter de modifications dans le logiciel d'application de sauvegarde ou dans le système DataDomain. De plus, la façon dont la solution d'écriture aléatoire des étudiants se compare aux écritures aléatoires existantes telles qu'implémentées dans notre bibliothèque actuelle, en termes de temps passé / d'espace utilisé / de bande passante consommée, sera déterminée.

Portée du projet

Nous souhaitons développer une bibliothèque prototype simple qui servira de couche intermédiaire entre la bibliothèque EMC existante et une application de sauvegarde. Cette couche supplémentaire implémentera la même interface avec l'application de sauvegarde que la bibliothèque actuelle. Mais la couche de calage fournira une fonctionnalité supplémentaire d'écriture efficace sur n'importe quel décalage de fichier tout en maintenant la capacité DSP avec une déduplication et une compression complètes.

Les étudiants recevront de la documentation pour la bibliothèque EMC C existante ainsi que la bibliothèque (sous forme binaire). La bibliothèque sera fournie sous la forme d'un fichier de bibliothèque Linux lié dynamiquement (un objet Linux .so). Les API de bibliothèque ressemblent beaucoup à NFS et fournissent des fonctions telles que l'ouverture, la lecture, l'écriture et la fermeture de fichiers. La couche de calage créée pour le projet sera écrite en C sous Linux et effectuera des appels aux fonctions de bibliothèque fournies. Une application simple pour écrire des fichiers à l'aide de la couche shim sera également écrite en C et effectuera des appels à la couche shim et aux fonctions de bibliothèque fournies si nécessaire. Un exemple de code illustrant l'utilisation des API de la bibliothèque sera fourni comme point de départ.

Retour au sommet.
  • Prestations de service: Les services offerts à nos clients doivent être instanciés pour fournir des résultats finaux positifs
  • Les décisions: Nous prenons des décisions politiques et réglementaires dans la prestation de ces services
  • Processus: Nous orchestrons le travail nécessaire pour atteindre les résultats, les politiques et les exigences réglementaires souhaités pour les clients
  • Expérience client: Nous innovons continuellement pour atteindre et permettre à nos clients d'interagir avec leur financier présent et futur
  • Travaux lancés
  • Travail terminé
  • Coût
  • Temps d'exécution de la tâche
  • Coût du travail
  • Coût des ressources
  • Retravailler
  • Temps total
  • Temps d'attente
  • Utilisez le lien ci-joint de Patrick Steiner pour télécharger et installer les images (les vidéos sont en bas de la page)
  • Explorez l'exemple de processus d'assurance dans l'image
  • Modifier le processus donné en ajoutant des tâches pour mesurer l'instance de processus
  • Stocker les informations des KPI pour le reporting
  • Remarque : Vous devrez générer suffisamment de données pour visualiser les KPI
  • Remplacer la présentation actuelle de la boîte de réception (tâche) du processus métier par un nouveau frontal basé sur AngularJS
  • Créez une page Business Monitoring pour visualiser les KPI d'assurance de manière créative en tirant parti d'un front-end AngularJS.
  • D3 est intéressant http://d3js.org/
  • Informations sur AngularJS : https://thinkster.io/angulartutorial/a-better-way-to-learn-angularjs/
  • Comment la technologie de conteneur (Docker) est-elle exploitée avec JBOSS BPM ?
  • Une instance du processus peut-elle être lancée dans son propre conteneur ?
  • Les instances de processus sont-elles vraiment isolées les unes des autres ?
  • Les ressources de calcul (CPU, mémoire) sont-elles consommées au même niveau que les conteneurs de machines virtuelles ?

Cadre de création de rapports et d'infographies basé sur des API et adaptatif aux appareils

Contexte

L'un des défis de la Business Intelligence et du Big Data consiste à visualiser les données et à les transmettre aux bons utilisateurs d'une manière facile à utiliser, quel que soit leur appareil. Aujourd'hui, la plupart des développeurs d'applications sont chargés de rassembler eux-mêmes des graphiques personnalisés, des widgets graphiques et des techniques de conception réactives. Les développeurs ont besoin d'un moyen cohérent de définir des rapports adaptatifs dans tous les secteurs d'activité, afin que la prochaine génération de business intelligence puisse être plus accessible et conduire à une meilleure prise de décision.

Exigences du projet

Le projet consiste à concevoir et à créer la première version d'un framework qui peut s'exécuter dans n'importe quel navigateur moderne, sur n'importe quel appareil moderne, qui peut prendre une définition de rapport et rendre ce rapport de manière adaptative en équilibrant l'intention du concepteur de rapport avec les contraintes de l'affichage de l'appareil. Un deuxième livrable est une interface Web permettant de configurer une définition de rapport et de prévisualiser la sortie. Le cadre prendra en charge les types de graphiques courants de base tels que les barres, les secteurs, les lignes et un modèle d'extensibilité afin que d'autres types puissent être ajoutés à l'avenir.

Le projet est impliqué dans la définition d'un schéma pour une définition de rapport qui permet de spécifier la source de données, les paramètres, les objets graphiques et les relations spatiales entre les objets graphiques pour permettre au rendu de s'adapter à l'appareil.

L'équipe de projet recevra les exigences de capacité, les exigences techniques et les maquettes. L'utilisation de bibliothèques open source est encouragée. La solution terminée sera en HTML, JavaScript et CSS.

Inspirations :

http://vimeo.com/66085662

http://getbootstrap.com/css/#grid

Retour au sommet.
  1. Une nouvelle agence gouvernementale voulait utiliser Versa Product.
  2. Un nouvel examen est ajouté ou un examen existant est supprimé/modifié au niveau global.
  3. Les examens sont ajoutés/supprimés en tant qu'exigence pour un type de licence – niveau de licence.
  4. Un nouveau type de licence est ajouté qui oblige les entités à passer un examen.
  5. Les règles de traitement des données d'examen sont modifiées.
  1. Mettre en œuvre un système de gestion des exigences commerciales pour dissocier la logique métier de l'équipe de développement logiciel. Le système BRMS s'intègre au système Versa d'Iron Data pour traiter les règles. Les règles métier sont construites en utilisant une combinaison de certaines techniques telles que l'anglais simple, les flux, les tables de décision afin que le personnel non technique puisse les assembler pour répondre aux besoins de l'entreprise.
  2. Chaque règle métier sera petite afin qu'elle puisse être facilement réutilisée pour répondre aux besoins des nouvelles exigences métier.
  3. DROOLS sera utilisé pour mettre en œuvre le système de gestion des exigences commerciales.
  4. Les règles, les flux et les tables de décision seront mis en œuvre à l'aide de Drools.
  5. Le framework DROOLS sera intégré à l'application Web Versa implémentée à l'aide de Java et Spring. L'application Web est destinée à être déployée sur le serveur JBoss.
  6. Le traitement de la bave à un niveau très élevé est illustré ci-dessous.
  • Émulation de navigateur prenant en charge les cookies de session et une implémentation JavaScript
  • Nouvelles actions via le navigateur :
    • Obtenir une page HTTP
    • Action de clic pour les éléments DOM spécifiés ainsi que les alertes, les confirmations et les invites JavaScript
    • Tapez l'action pour les éléments DOM spécifiés ainsi que les alertes, les confirmations et les invites JavaScript
    • Page d'assertion chargée
    • Affirmer l'existence et le contenu des éléments DOM
    • Affirmer le contenu de l'URL
    • Affirmer l'existence et le contenu des alertes, des confirmations et des invites JavaScript
    • Recueillir les exigences pour résoudre le problème ci-dessus
    • Sélectionner les technologies candidates et passer en revue avec l'équipe de développement DVAT
    • Mettre à jour la documentation de l'interface et réviser avec l'équipe de développement DVAT
    • Mettre en œuvre la conception et la révision avec l'équipe de développement DVAT
    • Participer au processus de revue de code d'Oracle pour tous les livrables
    • Compatible avec les actions et les assertions HTTP du serveur existant
    • Extensible pour prendre en charge les implémentations de navigateur spécifiques requises par nos produits, notamment Internet Explorer 10 et Firefox 34
    • Cohérence avec les actions de test et les assertions existantes
    • Entrée de 20 fonds d'investissement simulés avec 5 ans de données historiques et une fourchette de projection basée sur le conseiller sur le rendement futur (par exemple, 2 % à 5 % de rendement estimé) à une granularité annuelle.
    • Saisie de jusqu'à 25 données clients
    • Saisie de 10 objectifs par client incluant la date cible et le montant cible
    • Possibilité d'entrer des montants de financement initiaux pour chaque objectif ainsi qu'un financement récurrent ou à date spécifique dans l'investissement pour un objectif spécifique.
    • Les utilisateurs pourront attribuer plusieurs stratégies d'investissement à chaque objectif dans l'ordre (par exemple, une pour n'importe quelle période de temps mais n'importe quel nombre sur une période de temps pour tenir compte de la réduction des risques à mesure que la date cible de l'objectif se rapproche).
    • Interface utilisateur qui permet la saisie textuelle de l'objectif et des informations sur l'investissement
    • Interface utilisateur qui fournit une vue graphique des objectifs et des informations d'investissement. Cette vue permettra des capacités de glissement pour la chronologie et potentiellement d'autres facteurs concernant l'investissement pour chaque objectif. Au fur et à mesure que l'utilisateur ajuste l'une des entrées ou des cibles, les autres informations associées seront mises à jour dynamiquement pour montrer l'impact du changement.
    • Toutes les vues (textuelles et graphiques) offriront la possibilité de voir les projections et les données réelles de chaque objectif dans le contexte de la stratégie globale tout en permettant aux utilisateurs de filtrer en fonction des objectifs, de la chronologie, des investissements et potentiellement d'autres caractéristiques.
    • Les valeurs réelles des retours sur investissement seront saisies manuellement pour simuler le résultat.
    • Les utilisateurs pourront stocker un instantané à des moments spécifiques afin de préserver l'état actuel du plan pour une comparaison future avec les données réelles. Ces instantanés seront toutefois des données « en direct » qui permettront aux utilisateurs d'ajuster les facteurs ultérieurement pour aider à interpréter ce qui s'est passé entre le plan et les données réelles. Ces manipulations ne nécessitent pas de stockage.
    • Des capacités d'impression rudimentaires seront nécessaires.
    • Une authentification rudimentaire sera requise.
    • Développer un serveur principal capable de fournir les fonctionnalités requises pour stocker et récupérer des informations sur les performances. Cela sera développé en utilisant C# avec Mongo comme base de données et les services REST pour la communication.
    • Développer l'interface utilisateur en HTML5, Javascript, Angular.JS et potentiellement d'autres frameworks Javascript. Cette interface utilisateur communiquera avec les serveurs principaux via les services REST.
    • Participer à l'aide d'une méthodologie SCRUM pour comprendre les avantages du développement agile.
    • Les exigences (user stories) seront fournies à l'équipe. L'équipe travaillera avec succès à travers les exigences pour produire une documentation architecturale et de conception pour les composants de données et d'interface utilisateur. Une variété de documentation UML et tableau blanc sera utilisée.
    • Décomposer les user stories en tâches logiques et fournir une estimation des tâches. Cela sera utilisé pour hiérarchiser les fonctionnalités dans la zone de temps du semestre.
    • Produire du code qualité (bien organisé, performant, documenté)
    • Développer une stratégie de test pour l'assurance qualité des unités, des composants et de bout en bout. Les tests seront probablement effectués manuellement, mais les étudiants peuvent être exposés au système d'assurance qualité automatisé mis en place par SPT pour les produits existants.
    • Prototype terminé et démontré au personnel interne du SPT. L'objectif sera que l'équipe participe aux séances de rétroaction des clients si le moment peut être convenu.
    • Ingestion de données
    • Stockage de données
    • Traitement de l'information
    • Interrogation et analyse des données

    Sonore

    Le problème

    Il existe de nombreux sites Web permettant aux artistes de musique indépendants de promouvoir leur musique, mais ils font un mauvais travail pour connecter les artistes à leurs fans. Pour que les artistes indépendants fassent remarquer leur musique, ils doivent généralement vendre à une maison de disques ou recevoir un incroyable coup de chance. Il existe des sites Web de distribution de musique, tels que Soundcloud et Bandcamp, mais aucun de ces sites Web ne se concentre sur la promotion des artistes, ils fournissent simplement un moyen de diffuser leur musique. Sonorous vise à fournir un moyen aux artistes indépendants de promouvoir et de distribuer leur musique tout en permettant aux fans de soutenir les artistes directement via le site Web.

    Qu'est-ce que sonore?

    Sonorous est un service de découverte musicale conçu pour permettre aux artistes indépendants de diffuser et de populariser leur musique. Sonorous prévoit d'offrir chaque mois quelques ensembles de musique "payez ce que vous voulez" de divers artistes de chaque genre. Ce modèle encourage les acheteurs à payer ce qu'ils pensent que les artistes méritent. Dans ce modèle commercial, l'acheteur est en mesure de sélectionner combien d'argent de son achat ira à chaque artiste du bundle, et combien d'argent ira au soutien de Sonorous.

    Par exemple, disons qu'un bundle de musique électronique est sorti. Il comprendra environ 3 mini-albums avec quelques chansons de 3 artistes différents. Si l'acheteur décide d'acheter le pack, il peut payer autant qu'il le souhaite (disons 5,00 $) et sélectionner le montant qui revient à chaque artiste (il peut payer 1,00 $ à chacun et 2,00 $ à nous). Si l'acheteur paie au-dessus d'un certain seuil (disons 10,00 $), il a alors accès aux morceaux bonus de ces artistes en plus des chansons disponibles à n'importe quel niveau de paiement. Cet incitatif encourage le paiement de la musique pour soutenir les artistes ainsi que le site Web.

    D'autres options d'achat, telles que les méthodes d'achat par abonnement, peuvent être explorées, mais l'objectif de Sonorous est principalement d'être axé sur le « payez ce que vous voulez ». Nous effectuerons une étude de marché tout au long du semestre pour déterminer quelle méthode ou quelle combinaison de méthodes sera la plus efficace.

    Public visé/marché

    Fans/Consommateurs: Sonorous vise à fournir une interface pratique et propre pour les internautes passionnés et les savants de la musique qui ont le désir de découvrir de nouvelles musiques d'artistes indépendants qu'ils ne pourraient pas trouver autrement. Par exemple, notre public cible est presque identique à ceux qui utilisent des sites Web tels que Soundcloud et Bandcamp pour découvrir la musique.

    Artistes: Sonorous veut donner à tout artiste indépendant (non signé avec une maison de disques) un moyen gratuit de populariser, distribuer et vendre sa musique tout en se connectant avec ses fans et en développant son audience. J'ai longuement discuté de cette idée avec mon ami qui produit de la musique électronique de manière indépendante, et il m'a dit qu'il utiliserait certainement Sonorous.

    Caractéristiques préliminaires

    Les fonctionnalités prévues incluent des ensembles de genres mensuels qui mettront en lumière des chansons de différents artistes, un projecteur d'artistes qui publiera des informations sur les artistes et des pages d'artistes qui fourniront un forum aux artistes pour créer leurs propres pages personnalisées sur lesquelles ils pourront télécharger leur musique. Des maquettes initiales pour la page d'accueil du site Web et une page d'artiste vedette ont été conçues.

    Membres de l'équipe

    Cory Scheviak - A proposé l'idée originale, a des liens avec l'industrie de la musique indépendante et une connaissance d'une multitude de paradigmes de programmation pertinents pour aider à la création du produit. Connaît les graphistes et les concepteurs pour aider à la conception de sites Web.

    Compétences pertinentes: Développement backend (node.js/PHP), Javascript, HTML/CSS, SQL


    Michael Clifton - Expérience dans le développement de bases de données et de sites Web. A des liens avec des propriétaires d'entreprise et des ressources entrepreneuriales désireuses et capables d'aider au développement de l'entreprise.

    Compétences pertinentes: Développement de bases de données, Javascript, HTML/CSS, SQL, Java


    Jérémy Cline - Expérience des systèmes distribués, du développement d'applications Web en Python et de la création de cadres de test automatisés.

    Compétences pertinentes: Python, Java, services web RESTful, bases de données NoSQL et SQL, automatisation des tests (Jenkins et TravisCI), Amazon Web Services.


    Quatrième membre inconnu - Nous savons seulement que nous serons tous les trois dans la même section le semestre prochain, nous chercherons donc à en ajouter un quatrième lors de la phase de soumission de projet de la classe.

    Retour au sommet.
    1. Analysez un fichier XML pour collecter et restituer plusieurs chaînes d'images en base 64.
    2. Utilisez les bibliothèques OCR Tesseract pour extraire le texte et les informations dimensionnelles des images rendues.
    3. Analysez les données extraites par OCR et effectuez des calculs (des formules seront fournies) pour renseigner les champs suivants dans un fichier XML :
      1. Taper
      2. Sous-type
      3. Nominal
      4. Plus de tolérance
      5. Moins de tolérance
      6. Limite supérieure
      7. Limite inférieure
      8. Texte OCR


      Figure 2 Image rendue à partir de XML

      1. L'application s'appuiera sur Tesseract 3.x pour la reconnaissance optique de caractères
      2. Les développeurs sont libres de choisir la boîte à outils à utiliser pour afficher et capturer l'image
      3. L'application sera écrite en C/C++
      4. L'image sera rendue visuellement à l'utilisateur
      5. L'utilisateur pourra choisir le cadre de délimitation à partir duquel extraire le texte du rectangle. Par exemple, l'utilisateur peut choisir de ne traiter que les caractères ".020" de la figure 2 ci-dessus au lieu d'avoir à traiter l'image entière.
      1. Encouragement
      2. Bibliothèques Tesseract 3.x
      3. Exemples de fichiers de dictionnaire Tesseract 3.x
      4. Exemples de données XML préremplies avec des chaînes d'images Base64 et des données devant être extraites
      5. Ressources sur la cotation et le tolérancement géométriques pour l'analyse des données dimensionnelles
      1. Programmation C++
      2. Technologie OCR
      3. Analyse XML
      4. Rendu d'images
      5. Développement orienté client
      6. Travail en équipe

      Modélisation du comportement et jeux

      Ce projet Senior Design Class (SDC) a deux axes principaux. Le premier axe porte sur la création de modèles de comportement dérivés des journaux de bord. Le deuxième objectif est de développer un environnement de simulation ou de « jeu » pouvant être utilisé pour organiser des compétitions entre ces modèles.

      Pour ce projet, les journaux de match sur lesquels nous allons nous concentrer sont les données NFL play-by-play dérivées des saisons 2000-2013. La source spécifique de données est la base de données de recherche fournie sur ArmChairAnalysis.com à l'adresse

      http://www.armchairanalysis.com/data.php

      Les données sont très complètes et des échantillons sont disponibles pour tous les matchs des semaines 1 à 8 de la saison "en cours". La base de données complète de 2000-2013 sera à la disposition de l'équipe de la DDC.

      Les modèles à créer peuvent être au niveau du joueur ou au niveau de l'équipe pour les modalités offensives et défensives. On s'attend à ce qu'un certain niveau d'analyse statistique des données soit nécessaire pour identifier les caractéristiques utiles dans l'ensemble de données afin de créer un modèle probabiliste de comportement à partir des données brutes. Ces modèles peuvent être au niveau du joueur, puis un modèle agrégé de l'équipe (offensive/défensive) peut être construit à partir de ces modèles au niveau du joueur. D'un autre côté, un modèle offensif/défensif au niveau de l'équipe peut être construit directement.

      Le type de modèle à construire peut être défini par l'équipe du SDC et peut aller de simples modèles de machines à états finis (FSM) à des modèles de comportement cachés (HMM) plus sophistiqués de type HMM ou à des modèles de comportement de type HMM hiérarchiques. Il est fortement recommandé que l'équipe du SDC utilise des ressources Internet pour piloter l'activité de modélisation, c'est-à-dire qu'elle effectue des recherches pour déterminer ce qui a été utilisé, quelles sont les « meilleures pratiques » actuelles pour les entités de modélisation et tirer parti des ressources open source.

      L'environnement de simulation, ou de jeu, à construire peut être un simple environnement au tour par tour dans lequel chaque équipe se relaye individuellement. Lorsqu'une équipe offensive prend un virage, une distribution des résultats des jeux possibles est calculée à partir du modèle de comportement de cette équipe. Un certain nombre de jeux "les plus probables" est ensuite utilisé comme entrée dans le modèle défensif de l'équipe adverse et une distribution des résultats est calculée. Les résultats les plus probables sont ensuite utilisés comme point de départ pour la prochaine pièce.

      Les résultats du jeu doivent être rapportés d'une manière significative qui doit être déterminée par l'équipe SDC. Ce projet n'a pas d'exigence explicite de concevoir une expérience visuelle pour le jeu simulé. Cependant, les étudiants doivent garder une trace de leur processus de recherche et de mise en œuvre, en détaillant les stratégies utilisées pour identifier une approche appropriée, les tests effectués et tous les résultats partiels et finaux.

      Comme objectif ambitieux, les étudiants peuvent envisager de créer un affichage basé sur iOS (iPad/iPhone), peut-être dans le langage de programmation Swift pour visualiser un match simulé.

      Retour au sommet.
      1. Produire un système réutilisable de traitement des chaînes d'e-mails avec une interface RESTful
      2. Il doit diviser une grande chaîne d'e-mails en conversations individuelles et relier les parties avec les conversations précédemment soumises.
      3. Pour chaque conversation,
        1. Il doit reconnaître l'expéditeur et les destinataires
        2. Identifiez les conversations qui ont directement précédé ou suivi chaque conversation, même entre les soumissions.
        3. (Objectif étendu) Éléments d'action et informations, par ex. Rendez-vous, tâches, contacts.

        Une interface tactile, tangible et à initiatives mixtes pour la création de machinima cinématographique

        Aperçu. Ce projet implique le développement d'une nouvelle interface utilisateur pour la création de machinima - cinématiques rendues dans un monde virtuel créé dans un moteur de jeu - qui est destiné à être utilisé comme outil d'apprentissage pour commencer des cours sur la cinématographie et d'autres contextes de narration visuelle .

        Dans le projet de recherche Narrative Processing, nos efforts de recherche en cours impliquent la création d'un moteur d'IA qui sert de back-end à une capacité de génération cinématographique : étoffer les détails d'une histoire, piloter l'action de l'histoire dans un moteur de jeu et contrôler une caméra 3D pour le filmer. Le système manque cependant d'une interface utilisateur, qui permettra aux utilisateurs de concevoir un film, de suggérer une structure de film ou de modifier, régler ou éditer des cinématiques produites par le moteur d'IA. Ce projet cherchera à construire une interface tactile, tangible et d'initiative mixte où les utilisateurs pourront explorer la gamme de cinématiques qui peuvent être racontées. Le travail impliquera l'utilisation de grands écrans de table tactiles (27 pouces) qui fourniront une vue de haut en bas sur une scène sonore virtuelle. Les utilisateurs manipuleront le décor, les acteurs et un objet caméra dans le décor pour spécifier des plans et des séquences de plans, qui seront rendus sur un service distant et affichés sur un écran externe. Une fois que le système dispose d'une interface utilisateur utilisable, le système fournira un aperçu de la relation entre les conceptions d'interface utilisateur expressives et à initiatives mixtes pour la narration et la communication efficace des séquences d'action à l'aide de méthodes de jeu 3D.

        Étendue des travaux. Le projet impliquera des étudiants collaborant avec le projet PI (Young) et un étudiant diplômé travaillant également sur le projet Narrative Processing. La mise en œuvre utiliserait C#, un langage que de nombreux étudiants de premier cycle de CSC connaissent, et serait construite sur le moteur de jeu Unity3D, un outil également utilisé dans de nombreux cours spécifiques aux jeux de CSC. Étant donné que le projet se concentrerait sur l'interface utilisateur, aucune compétence significative en programmation 3D ne sera requise (diminution du temps de démarrage/courbe d'apprentissage). L'équipe de développeurs Narrative Processing existante sera disponible pour aider l'équipe de conception senior pendant qu'elle apprend les outils et l'environnement.

        Le projet peut être facilement divisé en trois éléments s'accordant bien avec une équipe de 3 ou 4 personnes. Premièrement, le projet nécessite un travail de conception, de création et de contrôle des éléments d'interface utilisateur tactiles pour spécifier les actions et le contrôle au sein de l'ensemble virtuel. Deuxièmement, le projet nécessite la capacité de traduire les éléments de l'interface utilisateur manipulés dans un environnement virtuel distant qui restitue la vue de la caméra pour l'affichage. Troisièmement, le système nécessite la prise en charge d'un style d'interaction flexible à initiatives mixtes, permettant à l'utilisateur d'interrompre, de réviser, d'explorer et de revoir une scène en cours de développement.

        Au lancement du projet, l'équipe de conception principale travaillerait avec l'équipe de traitement narratif pour développer les exigences du projet et serait responsable du brainstorming pour définir une nouvelle métaphore de l'interface utilisateur pouvant être prise en charge par la boîte à outils logicielle/SDK sous-jacente. À la fin du projet, l'équipe de conception principale serait invitée à participer à la conception et à l'exécution d'une évaluation expérimentale du système, y compris l'interface utilisateur. Ce travail pourrait impliquer des contributions sur la conception expérimentale, la collecte de données et l'analyse statistique.

        Retour au sommet.
        • Outil pour visualiser une base de données de graphes (soyez créatif, les bases de données de graphes sont vastes, alors pensez à une manière innovante d'exprimer le contenu.)
        • Mettez en surbrillance les bords de la base de données graphique
        • Utiliser l'inférence et la recommandation pour suggérer une connexion possible
        • Créer de nouveaux nœuds et relations
        • Ajoutez ou modifiez des nœuds et des relations existants.
        • Avoir une interface flexible pour pouvoir naviguer par sujet/relation/personnes/etc.
        • Mettez en surbrillance les nœuds orphelins ou les relations rompues.
        • Fournir des fonctions d'exploration de données, des fonctions if then else, des fonctions de requête et des fonctions de filtrage
        • Utilisez des couleurs pour déduire des relations fortes et des couleurs plus faibles pour impliquer des relations lâches / distantes / dormantes.
        • Base de données graphique : Neo4j
        • Visualisation graphique : D3.js
        1. Modèle de rapport : un script python spécial (IPython Notebook) dont les paramètres d'entrée sont transmis à partir de l'interface utilisateur Web de soumission de rapport.
        2. Interface utilisateur de soumission de rapport : l'application Web destinée à l'utilisateur qui permet de sélectionner et d'exécuter des rapports.
        3. Configuration du rapport : un fichier de configuration de style INI facile à modifier qui est utilisé pour remplir l'interface utilisateur de soumission de rapport
        4. Exécuteur de rapport : processus qui gère l'exécution et le rendu du modèle de rapport.
        5. Cache de rapport : un magasin de données améliorant les performances qui contourne l'exécuteur de rapport lorsqu'un modèle de rapport a déjà été exécuté pour les paramètres fournis. (Ce composant a été développé en tant que projet de conception senior précédent.)
        • Déployer et configurer Celery : file d'attente de tâches distribuées [1]
        • Créer un outil de soumission CLI pour mettre en file d'attente les demandes
          • Les paramètres d'entrée sont le nom du modèle de rapport et les paramètres en entrée
          • L'outil CLI doit mettre en file d'attente les demandes dans Celery, puis se fermer.
          • Prend en charge l'exécution du rapport en tant que tâche de céleri sans modifier le comportement de l'exécuteur de rapport
          • Stocker les rapports exécutés à partir de l'exécuteur en arrière-plan dans le cache de rapports
          • Message de réussite/d'échec
          • Fournir un lien vers le rapport mis en cache exécuté

          Vidéo de mouvement stratégique

          Strategic Motion Video TM (SMV) est un ensemble d'outils vidéo interactifs destinés à être utilisés par les instructeurs pour personnaliser les cours spécifiquement en fonction des compétences et des besoins d'un apprenant individuel. De plus, les instructeurs peuvent produire des leçons vidéo interactives dans lesquelles les apprenants visualisent les leçons et participent à des sessions de questions-réponses bidirectionnelles en temps réel avec l'image de l'instructeur à l'écran. Le résultat est un système basé sur le Web pour fournir un contenu pédagogique inégalé dans la pratique en ligne d'aujourd'hui. Une façon de décrire cette approche est que SMV est un système dans lequel "la vidéo répond".

          SMV est en cours de développement depuis plus d'un an. Les conceptions existantes et une base de code fournissent une architecture solide pour un développement continu. Le système SMV est organisé autour d'une série de trois tableaux de bord. Chaque tableau de bord est un outil de gestion de l'apprentissage, adapté aux différents niveaux de responsabilité dans le processus d'apprentissage. Le premier tableau de bord permet à un apprenant de suivre ses progrès personnels - le plus bas niveau de responsabilité d'apprentissage. Un deuxième tableau de bord permet à un administrateur de formation d'attribuer des formations vidéo individuelles aux apprenants - une fonction administrative de niveau intermédiaire. Le troisième tableau de bord représente une fonction de gestion de niveau supérieur pour autoriser l'accès global aux fonctions SMV. Par exemple, pensez à un apprenant comme à un étudiant qui souhaite suivre ses progrès sur les formations vidéo assignées. L'administrateur de l'apprentissage pourrait être l'instructeur d'un cours qui attribuerait des vidéos de formation individuelles aux étudiants en fonction des sujets de cours et du rythme individuel. Les fonctions de gestion de niveau supérieur configurent le système SMV pour reconnaître les instructeurs utilisant SMV dans leurs cours et les autoriser à accéder à la fonctionnalité SMV. Un schéma de base de données est en place et prend en charge ces tableaux de bord.

          L'état actuel de la mise en œuvre de SMV ne fournit des stubs que pour la plupart des fonctions dans les tableaux de bord, mais l'architecture est saine. Des flux vidéo existent à des fins de test. Le code SMV est écrit en PHP. La base de données est MySQL. Une documentation abondante existe.

          Les objectifs du semestre incluent le remplissage des fonctionnalités du tableau de bord et l'exécution d'expériences simples pour documenter l'utilité de SMV en action. C'est-à-dire fournir une réponse à la question et sauvegarder les données à l'appui de la conclusion : l'utilisation de SMV aide-t-elle le processus d'apprentissage ?

          Retour au sommet.
          • Mettez à jour le prototype pour utiliser les flux de données mis à jour et le modèle de données plus récent de la version la plus récente du service d'affichage de cuisine. XPIENT a amélioré et amélioré le service d'affichage de cuisine au cours des derniers mois.
          • Ajoutez la possibilité d'utiliser la commande vocale et/ou les gestes pour naviguer et interagir avec les commandes et les articles affichés par le G2KDS.
          • Explorez les options et les capacités pour afficher des fichiers multimédias et lire du contenu audio lié à l'ordre affiché à l'écran, contrôlé par des gestes et d'autres interactions autorisées par Google Glass.
          • Explorez les options pour faire évoluer/améliorer le paradigme de navigation (expérience utilisateur) entre les articles/commandes, etc. dans l'application Glass.
          • Ajoutez la capacité de connecter le Glass à différents flux KDS sélectionnables par l'utilisateur (c'est-à-dire Drive Thru Expeditor, Counter Expeditor, Fryer, etc.), permettant à l'utilisateur de changer de "rôle de cuisine" ou de station de manière dynamique.
          • Implémentez un ou plusieurs flux de données qui renvoient des informations au service de cuisine avec « Bump » des articles et des informations de commande lorsqu'un utilisateur effectue ces actions.
          • Approche de mise en œuvre.
          • Affinez la liste des fonctionnalités à implémenter en coordination avec XPIENT.
          • Revue de conception et/ou révision de l'application
          • Documentation à l'appui
          • Verrerie G2KDS "v2".
          • Documentation décrivant comment le système a été conçu, mis en œuvre et testé, y compris les détails de mise en œuvre que vous avez découverts, les problèmes trouvés, les limitations de la plate-forme et les solutions à ces problèmes que vous souhaitez recommander.

          Moteur de recommandation de produits

          Bronto Software propose une plate-forme marketing sophistiquée à ses entreprises clientes, assurant le suivi de milliards d'événements par mois. Les événements clients tels que les ouvertures, les clics et les achats (conversion) sont enregistrés et analysés en temps réel et affichés à nos clients pour leur donner une vision claire des performances de leurs campagnes.

          Le projet Spring 2015 Senior Design de Bronto est un moteur de recommandation de produits. Le recommandeur consommera les données du catalogue de produits de Bronto (prix, descriptions, catégories), du service de commande (historique des achats) et de l'application de récupération de panier (articles placés dans un panier puis abandonnés). Il générera des recommandations basées sur le comportement et la démographie de chaque client (qui sont également disponibles via le service de contact de Bronto). Ces recommandations seront utilisées dans les e-mails marketing, l'envoi de coupons et d'autres offres spéciales.

          L'outil de recommandation fonctionnera comme une API REST autonome. En plus d'agréger les sources de données Bronto pour faire des recommandations, en tant qu'objectif étendu, le recommandeur peut s'appuyer sur les flux Twitter des clients pour améliorer les recommandations. En tant qu'objectif étendu plus ambitieux, le recommandeur peut inclure des données de Facebook. Bronto collecte les identifiants Twitter et Facebook des clients en plus de leurs adresses e-mail.

          Bronto recommande Java ou Python comme langage d'implémentation pour ce projet, et nous vous conseillerons lors du choix des autres technologies nécessaires. Cependant, les étudiants seront ultimement responsables de faire leurs propres choix technologiques (langue, serveur Web, etc.) en fonction de leurs propres compétences et préférences.

          Retour au sommet.

          Espace de collaboration de conception

          Imaginez essayer d'écrire du code sans contrôle de version. Vous pouvez envoyer des e-mails autour des fichiers source, les compiler et les exécuter localement, ajouter de nouvelles fonctionnalités, puis envoyer vos mises à jour par e-mail aux membres de votre équipe. C'est une façon terrible de collaborer, mais c'est similaire à ce que nos designers font souvent.



          La conception de logiciels est un processus hautement visuel, utilisant des croquis, des wireframes, des bibliothèques et d'autres informations de projet connexes. Lorsque votre équipe de projet se compose de personnes du monde entier, c'est une recette pour BEAUCOUP d'e-mails, et les documents peuvent rapidement diverger en plusieurs versions incohérentes.

          L'équipe de conception de DBGT a eu un certain succès en utilisant un outil appelé Notable pour ce type de travail. Il offre un emplacement centralisé où les concepteurs peuvent collaborer et laisser des commentaires sur les ressources partagées.

          Description du projet

          Notable a été une ressource précieuse, mais elle n'est pas idéale pour l'environnement et le flux de travail DBGT. Nous recherchons une équipe de conception senior capable de concevoir et de mettre en œuvre un environnement de collaboration en ligne qui s'appuie sur ces idées pour offrir un outil centré sur l'utilisateur qui aide à organiser et à partager les artefacts de conception de manière riche et engageante.



          Deutsche Bank a déjà mis en place un système de preuve de concept minimal utilisant Node.js, Angular.js et HTML5/CSS3. Ce prototype, ainsi que des ensembles de données représentatifs, seront mis à la disposition de l'équipe. L'objectif de l'équipe est de s'appuyer sur ces exemples pour déployer une version fonctionnelle du produit chez Deutsche Bank.



          À l'aide d'un processus agile Scrum, les concepteurs de DBGT travailleront en étroite collaboration avec les étudiants en design senior pour affiner les exigences et la conception, et pour créer un nouvel outil de collaboration qui répond aux besoins des concepteurs DBGT et offre aux étudiants en design senior des opportunités de collaboration et de créativité.

          Retour au sommet.
          • Développer les exigences fonctionnelles de haut niveau de ce que doit contenir une application téléphonique en magasin destinée aux clients.
          • Exigences fonctionnelles détaillées, y compris un story-board, pour l'application mobile
          • Définir les besoins d'interface à partir des applications POS et CustomerCENTER
          • Déterminer si les interfaces actuelles existent dans les interfaces disponibles
            • Service de transaction interactif Fujitsu
            • API CustomerCENTER
            • Utiliser des services tiers publics appropriés si nécessaire pour introduire des fonctionnalités auxiliaires (par exemple Google, Facebook)
            • Si indisponible, écrivez les exigences utilisateur pour toutes les interfaces indisponibles
            • Utilisation des interfaces REST/JSON, le cas échéant, développées par l'équipe de conception senior de l'automne 2014 NCSU
            • Intégration de base avec la solution GlobalSTORE POS et la solution Fujitsu CustomerCENTER
            • Identification et architecture de la technologie Web
            • Développement de code de preuve de concept pour fonctionner sur plus de plates-formes et de formats (priorité comme suit) :
              1. Compatible avec tous les formats iOS (iPod/iPhone et iPad)
              2. Compatible avec les téléphones et tablettes Android
              3. Compatible avec la tablette Windows 8
            • Conception fonctionnelle et documentation utilisateur
            1. humana.com peut avoir besoin de données décrivant un membre, le produit que ce membre a acheté et le groupe auquel le membre appartient à partir d'un service Web en temps réel.
            2. La gestion de campagne peut avoir besoin des données démographiques des membres et des données de groupe correspondantes pour effectuer un publipostage de masse, les données étant disponibles juste avant le début de l'impression - plus un besoin en temps quasi réel.
            3. Pour générer des rapports financiers, l'équipe d'entreposage de données peut avoir besoin d'un extrait en bloc directement à partir d'un magasin de données.
            • La capacité pour un demandeur d'identifier les éléments de données spécifiques dans les magasins de données EDTS existants qui doivent être consommés
            • La possibilité pour un demandeur de définir ses critères d'entrée pour déterminer s'il utilisera les critères minimaux des opérations « get » ou « recherche » pour identifier un seul enregistrement ou un groupe d'enregistrements
            • La possibilité pour un demandeur de définir les paramètres requis pour une interface particulière (par exemple, la définition des accords de niveau de service, les exigences d'exploitation des services, les exigences de sécurité)
            • La possibilité pour l'équipe d'administration de demander des approbations pour accorder l'accès à l'équipe consommatrice via des workflows d'approbation lancés dans cet outil
            • La possibilité pour l'équipe d'administration de fournir un accès sécurisé via cet outil
            • Cet outil devrait être en mesure d'aider les équipes consommatrices à formuler différentes demandes de service pour obtenir la réponse souhaitée en fonction des éléments de données requis.
            • Sauter entre les différentes étapes de la séquence de réécritures
            • Recherche d'un modèle particulier dans un terme en cours de réécriture
            • Permettre à l'utilisateur de spécifier comment des termes particuliers doivent être affichés
            • Ouverture et fermeture de sous-arbres dans un terme en cours de réécriture
            • Recherche de l'application d'une règle de réécriture particulière
            • Trouver la règle de réécriture qui a produit ou supprimé un sous-terme particulier
            • Prise en charge des fonctionnalités de type débogueur telles que les points d'arrêt dans la séquence de réécritures, activées, par exemple, lorsqu'un terme particulier est introduit
            • Mur de gestes
              Luminaire de vente au détail - n'a pas encore été conçu, et nous rencontrerons l'équipe dès le début pour réfléchir au meilleur format (car cela peut dépendre de la technologie de détection de mouvement choisie). Nous aurons rapidement un prototype de luminaire construit une fois qu'un design aura été convenu.
              PC Windows
              Affichage LED
            • Capteurs d'interaction
              Il s'agit d'une décision de conception pour l'équipe d'envisager des idées telles que Kinect, Leap Motion, les capteurs de poids ou les capteurs RFID. Infusion fournira tout ce que l'équipe décidera d'utiliser en fonction de son expérience et de ses intérêts.
            • Logiciel
              Lorsqu'un consommateur atteint un produit, le capteur doit capturer les métriques autour de ces interactions tout en invitant le PC à lire des vidéos spécifiques sur l'écran, en fonction de l'interaction particulière du produit. Toutes les métriques devront être écrites dans un fichier CSV ou un référentiel similaire sur le PC.
            • Plan de formation pour les employés du magasin
              Le guide de l'utilisateur soumis avec le rapport final doit inclure des instructions pour les employés qui installeront et utiliseront l'appareil.
            • Fonctionnalités supplémentaires qui peuvent être accomplies si le projet de base est terminé avec du temps à perdre.
            • Intégration point de vente
              Logiciel de reporting des ventes croisées avec les métriques enregistrées. Par exemple, un client peut sembler déposer le produit, mais peut plutôt décider de l'acheter en raison d'un accessoire.
            • Embellissement des luminaires
              Rendre l'unité plus attrayante et plus proche d'être présentable dans un magasin.
            • Évolutivité
              Connecter plusieurs systèmes à un serveur distant pour agréger facilement les métriques de plusieurs magasins.
            • L'analyste GMI demande qu'un nouveau BB Daily soit créé par l'équipe UX et fournit une image de logo, un nom d'entreprise et un téléscripteur
            • L'équipe UX dimensionne l'image en fonction d'un modèle prédéfini
            • L'équipe UX choisit une couleur du logo pour agir comme couleur de fond
            • L'équipe UX choisit une couleur de police pour le texte du titre du rapport
            • L'équipe UX télécharge le fichier nommé de manière appropriée dans un dossier spécifique sur l'un des serveurs Web d'Ipreo
            • L'équipe UX répond à la demande avec les codes couleurs appropriés
            • L'analyste utilise ensuite ces codes et ce nom de fichier dans une petite application sur leurs ordinateurs pour générer une URL HTML qui pointera vers l'emplacement correct sur le serveur d'Ipreo, et ils partagent cette URL avec leur client.
            • Connectez-vous à l'application Web
            • Entrez des données dans un champ Nom et un champ Ticker
            • Télécharger une image de logo
            • Modifiez l'image (redimensionnez et recadrez) pour l'adapter à l'espace du modèle
            • Sélectionnez une couleur primaire pour l'arrière-plan du titre et la police du texte
            • Soumettre la conception pour approbation
            • Recevoir un e-mail d'un nouveau fichier
            • Se connecte à l'application Web pour voir une liste des travaux en attente d'approbation
            • Voir le graphique généré
            • Approuvez le graphique ou refusez-le
            • L'application doit être hébergée dans le pare-feu Ipreo
            • Il doit authentifier les utilisateurs pour autoriser uniquement l'accès des employés
            • Il devrait avoir une base de données dans le backend pour suivre et enregistrer les travaux
            • Il doit permettre aux utilisateurs de télécharger un fichier image et de le traiter (redimensionner, choisir des couleurs)
            • Autoriser les droits d'administrateur des membres de l'équipe UX à examiner les travaux
            • Transférez le fichier via FTP avec les informations d'identification appropriées
            • Envoyez un e-mail au demandeur d'origine avec les codes de couleur et le nom de fichier appropriés
            1. CreoView AR sera construit avec PTC CreoView Java Toolkit, qui sera fourni par KPIT (http://www.ptc.com/product/creo/visualization/view-mcad/extension/toolkits).
            2. Les modèles CreoView 3D seront visibles à l'aide d'une application Android pour smartphones et tablettes. Les modèles seront stockés sur un serveur PTC Windchill et téléchargés et rendus par l'application.
            3. Une application de bureau distincte intégrée au système PLM utilisera un générateur de code QR (pour fournir le lien de téléchargement vers CreoView visualisable). Celui-ci sera fourni par KPIT.
            4. Un filigrane doit être inclus dans la vue pour ajouter un modèle de suivi au format existant. Le modèle de suivi est simplement un ensemble d'images utilisées pour aligner le fichier affichable en 3D sur l'image du monde réel. Voir exemple sur : http://augmentedev.com/trackers.php

            Relooking de l'interface Web IDI

            L'interface Web existante du système MetLife Individual Disability Income (IDI) est illustrée ci-dessous. Cette interface a été développée sur une période de 18 ans à l'aide d'un ensemble de technologies. Le défi auquel est confrontée l'équipe de conception senior de MetLife 2015 est de réimaginer cette interface en utilisant des technologies de pointe, notamment HTML5, CSS3, Anjular.JS et les services Web RESTful.

            La mise à jour de cette interface offre des opportunités de conception d'interface utilisateur créative ainsi que des défis techniques. L'équipe devra également résoudre les problèmes de conception tels que l'authentification, l'autorisation et la journalisation. L'architecture globale de la solution sera façonnée par la pile technologique MSR adoptée au sein de MetLife. Par rapport au système IDI existant, les développeurs de MetLife ont constaté que ces technologies simplifient considérablement le développement de l'interface utilisateur. L'équipe est également invitée à identifier des technologies supplémentaires qui pourraient être appliquées au projet.



            MetLife fournira à l'équipe les parties pertinentes de la mise en œuvre IDI existante et des données factices. MetLife travaillera en étroite collaboration avec l'équipe pour formaliser les exigences du projet, développer et affiner les maquettes d'interface utilisateur et hiérarchiser les fonctionnalités des applications à cibler à chaque itération. Une documentation complète de la conception et de la mise en œuvre est particulièrement importante pour MetLife.

            L'équipe de conception senior de MetLife devra céder les droits de propriété intellectuelle au sponsor.



            Retour au sommet.