Suite

Tableau attributaire de la couche d'entités vers Datatable et le rendre modifiable

Tableau attributaire de la couche d'entités vers Datatable et le rendre modifiable


Actuellement, je l'utilise pour le transformer en une table de données

featureCursor = layer.FeatureClass.Search(que, false); row = featureCursor.NextFeature(); if (row != null) { for (int i = 0; i < row.Fields.FieldCount; i++) { dataTable.Columns.Add(row.Fields.get_Field(i).Name); } while (ligne != null) { dataRow = dataTable.NewRow(); for (int j = 0; j < featureCursor.Fields.FieldCount; j++) dataRow[j] = row.get_Value(j); dataTable.Rows.Add(dataRow); row = featureCursor.NextFeature(); } }

Est-ce que quelqu'un connaît un moyen plus efficace de le faire.

De plus, je lie la table de données à une grille de données, est-ce que quelqu'un connaît un bon moyen de le faire afin que je puisse rendre la table attributaire modifiable et les valeurs reflétées dans la couche d'entités.

Je peux le faire, mais pas proprement, quelqu'un a-t-il déjà essayé cela?


Il existe un échantillon contraignant d'ESRI.

Vérifiez-le:

http://edndoc.esri.com/arcobjects/9.2/NET/a6eb84fb-93db-4bc3-82a9-874d8890a8ca.htm

Même exemple dans la documentation ArcGIS 10


  • true ou la chaîne vide, qui indique que l'élément doit être éditable

  • false, ce qui indique que l'élément ne doit pas être modifiable.

J'ai trois approches, ici vous pouvez utiliser à la fois <input> ou <textarea> selon vos besoins.

1. Utilisez la saisie dans <td> .

Utilisation de l'élément <input> dans tous les <td> s,

En outre, vous souhaiterez peut-être redimensionner l'entrée à la taille de son td . ex.,

Vous pouvez également modifier la couleur de la bordure de la zone de saisie lorsqu'elle n'est pas modifiée.

2. Utilisez l'attribut contenteditable='true'. (HTML5)

Cependant, si vous souhaitez utiliser contenteditable='true' , vous pouvez également souhaiter enregistrer les valeurs appropriées dans la base de données. Vous pouvez y parvenir avec ajax.

Vous pouvez attacher des keyhandlers keyup , keydown , keypress etc au <td> . En outre, il est bon d'utiliser un certain délai () avec ces événements lorsque l'utilisateur tape en continu, l'événement ajax ne se déclenchera pas à chaque pression de l'utilisateur sur une touche. par exemple,

3. Ajoutez <input> à <td> lorsque vous cliquez dessus.

Ajoutez l'élément d'entrée dans td lorsque vous cliquez sur <td>, remplacez sa valeur en fonction de la valeur du td. Lorsque l'entrée est floue, changez la valeur de `td avec la valeur de l'entrée. Tout cela avec javascript.


Étapes pour ajouter des données x,y en tant que couche

  1. Cliquez sur Fichier > Ajouter des données > Ajouter des données XY .
  2. Sélectionnez la table qui contient les données de coordonnées x,y.
  3. Identifiez les colonnes qui contiennent les coordonnées x et y (et, éventuellement, la coordonnée z).
  4. Spécifiez le système de coordonnées.

Vous pouvez également ajouter des données x,y dans des tables en tant que nouvelle classe d'entités à l'aide du géotraitement.

Vous pouvez également utiliser la fenêtre Catalogue pour sélectionner la table qui contient les colonnes x,y et créer une classe d'entités.


Positionnement DOM

Lors de la personnalisation de DataTables pour votre propre usage, vous constaterez peut-être que la position par défaut des éléments de fonctionnalité (entrée de filtre, etc.) n'est pas tout à fait à votre goût. Pour résoudre ce problème, DataTables s'inspire du module CSS 3 Advanced Layout et fournit le paramètre d'initialisation dom qui peut être défini pour indiquer où vous souhaitez que des fonctionnalités particulières apparaissent dans le DOM. Vous pouvez également spécifier des conteneurs d'emballage div (avec un identifiant et/ou une classe) pour offrir une flexibilité de mise en page complète.

Chaque élément de contrôle HTML présenté par DataTables est indiqué par un seul caractère dans l'option dom. Par exemple, l'option l est utilisée pour l'option d'entrée de changement de longueur.

Les options intégrées disponibles sont :

  • l - Changement de longueur
  • f - Filtrage de l'entrée
  • t - La table !
  • i - Je renseigne
  • p - P agination
  • r - p Traitement
  • < et > - éléments div
  • <"#id" et > - div avec un identifiant
  • <"class" et > - div avec une classe
  • <"#id.class" et > - div avec un identifiant et une classe

Cela donne la structure DOM suivante :

Il en résulte la structure DOM suivante :

Toutes les options (à l'exception de l'option t (table) peuvent être spécifiées plusieurs fois, par exemple si vous souhaitez afficher le même contrôle plusieurs fois (pagination en haut et en bas du tableau par exemple).

De plus, notez que des options dom supplémentaires peuvent être ajoutées aux DataTables grâce à l'utilisation de plug-ins.

Dans l'exemple ci-dessous, les informations du tableau sont déplacées vers le haut du tableau et tous les éléments d'interaction vers le bas, chaque wrapper dans un conteneur div .

Nom Position Bureau Âge Date de début Un salaire
Tigre Nixon Architecte système Edinbourg 61 2011/04/25 $320,800
Garrett Winters Comptable Tokyo 63 2011/07/25 $170,750
Ashton Cox Auteur technique junior San Francisco 66 2009/01/12 $86,000
Cédric Kelly Développeur Javascript senior Edinbourg 22 2012/03/29 $433,060
Airi Satou Comptable Tokyo 33 2008/11/28 $162,700
Brielle Williamson Spécialiste de l'intégration New York 61 2012/12/02 $372,000
Herrod Chandler Assistant des ventes San Francisco 59 2012/08/06 $137,500
Rhona Davidson Spécialiste de l'intégration Tokyo 55 2010/10/14 $327,900
Colleen Hurst Développeur Javascript San Francisco 39 2009/09/15 $205,500
Sonya Frost Ingénieur logiciel Edinbourg 23 2008/12/13 $103,600
Iéna Gaines Responsable administratif Londres 30 2008/12/19 $90,560
Quinn Flynn Responsable de l'assistance Edinbourg 22 2013/03/03 $342,000
Charde Maréchal Directeur régional San Francisco 36 2008/10/16 $470,600
Haley Kennedy Concepteur marketing sénior Londres 43 2012/12/18 $313,500
Tatiana Fitzpatrick Directeur régional Londres 19 2010/03/17 $385,750
Michel Silva Concepteur marketing Londres 66 2012/11/27 $198,500
Paul Byrd Directeur financier (CFO) New York 64 2010/06/09 $725,000
Gloria Petite Administrateur des systèmes New York 59 2009/04/10 $237,500
Bradley Greer Ingénieur logiciel Londres 41 2012/10/13 $132,000
Dai Ríos Responsable du personnel Edinbourg 35 2012/09/26 $217,500
Jenette Caldwell Responsable du développement New York 30 2011/09/03 $345,000
Yuri Berry Directeur Marketing (CMO) New York 40 2009/06/25 $675,000
César Vance Assistance avant-vente New York 21 2011/12/12 $106,450
Doris Wilder Assistant des ventes Sydney 23 2010/09/20 $85,600
Angélique Ramos Président Directeur-Général (PDG) Londres 47 2009/10/09 $1,200,000
Gavin Joyce Développeur Edinbourg 42 2010/12/22 $92,575
Jennifer Chang Directeur régional Singapour 28 2010/11/14 $357,650
Brenden Wagner Ingénieur logiciel San Francisco 28 2011/06/07 $206,850
Fiona Vert Chef de l'exploitation (COO) San Francisco 48 2010/03/11 $850,000
Shou Itou Commercialisation régionale Tokyo 20 2011/08/14 $163,000
Maison Michelle Spécialiste de l'intégration Sydney 37 2011/06/02 $95,400
Suki Burks Développeur Londres 53 2009/10/22 $114,500
Prescott Bartlett Auteur technique Londres 27 2011/05/07 $145,000
Gavin Cortez Chef d'équipe San Francisco 22 2008/10/26 $235,500
Martena Mccray Assistance après-vente Edinbourg 46 2011/03/09 $324,050
Majordome de l'unité Concepteur marketing San Francisco 47 2009/12/09 $85,675
Howard Hatfield Responsable administratif San Francisco 51 2008/12/16 $164,500
Espoir Fuentes secrétaire San Francisco 41 2010/02/12 $109,850
Viviane Harrell Contrôleur financier San Francisco 62 2009/02/14 $452,500
Timothée Mooney Responsable administratif Londres 37 2008/12/11 $136,200
Jackson Bradshaw Réalisateur New York 65 2008/09/26 $645,750
Olivia Liang Ingénieur support Singapour 64 2011/02/03 $234,500
Bruno Nash Ingénieur logiciel Londres 38 2011/05/03 $163,500
Sakura Yamamoto Ingénieur support Tokyo 37 2009/08/19 $139,575
Thor Walton Développeur New York 61 2013/08/11 $98,540
Finn Camacho Ingénieur support San Francisco 47 2009/07/07 $87,500
Serge Baudouin Coordonnateur des données Singapour 64 2012/04/09 $138,575
Zénaida Frank Ingénieur logiciel New York 63 2010/01/04 $125,250
Zorita Serrano Ingénieur logiciel San Francisco 56 2012/06/01 $115,000
Jennifer Acosta Développeur Javascript junior Edinbourg 43 2013/02/01 $75,650
Cara Stevens Assistant des ventes New York 46 2011/12/06 $145,600
Hermione majordome Directeur régional Londres 47 2011/03/21 $356,250
Lael Greer Administrateur des systèmes Londres 21 2009/02/27 $103,500
Jonas Alexandre Développeur San Francisco 30 2010/07/14 $86,500
Decker Shad Directeur régional Edinbourg 51 2008/11/13 $183,000
Michael Bruce Développeur Javascript Singapour 29 2011/06/27 $183,000
Donna Snider Service client New York 27 2011/01/25 $112,000
Nom Position Bureau Âge Date de début Un salaire
  • Javascript
  • HTML
  • CSS
  • Ajax
  • Script côté serveur
  • commentaires

Le Javascript montré ci-dessous est utilisé pour initialiser la table montrée dans cet exemple :

En plus du code ci-dessus, les fichiers de bibliothèque Javascript suivants sont chargés pour être utilisés dans cet exemple :

Le code HTML affiché ci-dessous est l'élément de tableau HTML brut, avant qu'il ne soit amélioré par DataTables :

Cet exemple utilise un peu de CSS supplémentaire au-delà de ce qui est chargé à partir des fichiers de bibliothèque (ci-dessous), afin d'afficher correctement le tableau. Le CSS supplémentaire utilisé est indiqué ci-dessous :

Les fichiers de bibliothèque CSS suivants sont chargés pour être utilisés dans cet exemple pour fournir le style du tableau :

Cette table charge les données par Ajax. Les dernières données chargées sont indiquées ci-dessous. Ces données seront mises à jour automatiquement au fur et à mesure que des données supplémentaires seront chargées.

Le script utilisé pour effectuer le traitement côté serveur de cette table est indiqué ci-dessous. Veuillez noter qu'il ne s'agit que d'un exemple de script utilisant PHP. Les scripts de traitement côté serveur peuvent être écrits dans n'importe quel langage, en utilisant le protocole décrit dans la documentation DataTables.


Insérer les données reçues de QGIS dans la table MS SQL

Je génère une couche dans QGIS, contenant des entités ponctuelles que je dois afficher sur une carte. Pour cela, je dois enregistrer la latitude et la longitude de ces entités ponctuelles ainsi que leurs détails dans la base de données MS SQL.

J'ai essayé plusieurs méthodes :

  • Création d'une connexion à la base de données et ajout d'une table de base de données en tant que couche (par exemple, couche1). Ensuite, j'ai fourni une couche locale en entrée de Layer1.
  • J'ai également essayé d'exécuter une requête SQL dans DB Manager (QGIS), mais j'ai eu cette erreur dans la requête d'insertion : Erreur d'exécution de la requête sur CREATE TEMP VIEW _tview AS ***** : 1 - près de "INSERT": erreur de syntaxe
  • J'ai également essayé d'importer une couche vectorielle dans la base de données, puis j'ai eu l'erreur suivante: Error9-Provider virtual n'a pas de méthode createEmptyLayer .

J'ai besoin de conseils pour enregistrer les données dans le tableau lors de la création de la couche.

Je dois enregistrer l'attribut de la couche afin de pouvoir générer les marqueurs sur la carte créée en téléchargeant le fichier KML (généré à partir de QGIS). Toute aide est appréciée.


Événements

Se produit après qu'une valeur a été modifiée pour le DataColumn spécifié dans un DataRow.

Se produit lorsqu'une valeur est modifiée pour le DataColumn spécifié dans un DataRow.

Ajoute un gestionnaire d'événements pour écouter l'événement Disposed sur le composant.

Se produit après l'initialisation du DataTable.

Se produit après qu'un DataRow a été modifié avec succès.

Se produit lorsqu'un DataRow est en train de changer.

Se produit après qu'une ligne du tableau a été supprimée.

Se produit avant qu'une ligne du tableau ne soit sur le point d'être supprimée.

Se produit après l'effacement d'un DataTable.

Se produit lorsqu'un DataTable est effacé.

Se produit lorsqu'un nouveau DataRow est inséré.


Les meilleures pratiques

  • Afficher les valeurs dans plusieurs catégories et mesures.
  • Autoriser le filtrage et le classement lorsque la comparaison n'est pas une priorité.
  • Aidez les commerçants à visualiser et à analyser de nombreuses valeurs à partir d'un ensemble de données complet.
  • Aidez les commerçants à trouver d'autres valeurs dans la hiérarchie des données grâce à l'utilisation de liens.
  • Minimisez l'encombrement en n'incluant que des valeurs qui prennent en charge l'objectif des données.
  • Incluez une ligne récapitulative pour afficher les totaux des colonnes.
  • Ne pas inclure les calculs dans la ligne récapitulative.
  • Envelopper au lieu de tronquer le contenu. En effet, si les titres des lignes commencent par le même mot, ils apparaîtront tous de la même manière une fois tronqués.
  • Ne pas utiliser pour une liste exploitable d'éléments qui renvoient à des pages de détails. Pour cette fonctionnalité, utilisez le composant [liste de ressources].

Alignement

Les types de contenu de colonne sont intégrés aux accessoires du composant, de sorte que les règles d'alignement suivantes sont suivies :


Zéro configuration

DataTables a la plupart des fonctionnalités activées par défaut, donc tout ce que vous avez à faire pour l'utiliser avec vos propres tables est d'appeler la fonction de construction : $().DataTable() .

La recherche, la commande et la pagination seront immédiatement ajoutées au tableau, comme illustré dans cet exemple.

Nom Position Bureau Âge Date de début Un salaire
Tigre Nixon Architecte système Edinbourg 61 2011/04/25 $320,800
Garrett Winters Comptable Tokyo 63 2011/07/25 $170,750
Ashton Cox Auteur technique junior San Francisco 66 2009/01/12 $86,000
Cédric Kelly Développeur Javascript senior Edinbourg 22 2012/03/29 $433,060
Airi Satou Comptable Tokyo 33 2008/11/28 $162,700
Brielle Williamson Spécialiste de l'intégration New York 61 2012/12/02 $372,000
Herrod Chandler Assistant des ventes San Francisco 59 2012/08/06 $137,500
Rhona Davidson Spécialiste de l'intégration Tokyo 55 2010/10/14 $327,900
Colleen Hurst Développeur Javascript San Francisco 39 2009/09/15 $205,500
Sonya Frost Ingénieur logiciel Edinbourg 23 2008/12/13 $103,600
Iéna Gaines Responsable administratif Londres 30 2008/12/19 $90,560
Quinn Flynn Responsable de l'assistance Edinbourg 22 2013/03/03 $342,000
Charde Maréchal Directeur régional San Francisco 36 2008/10/16 $470,600
Haley Kennedy Concepteur marketing sénior Londres 43 2012/12/18 $313,500
Tatiana Fitzpatrick Directeur régional Londres 19 2010/03/17 $385,750
Michel Silva Concepteur marketing Londres 66 2012/11/27 $198,500
Paul Byrd Directeur financier (CFO) New York 64 2010/06/09 $725,000
Gloria Petite Administrateur des systèmes New York 59 2009/04/10 $237,500
Bradley Greer Ingénieur logiciel Londres 41 2012/10/13 $132,000
Dai Ríos Responsable du personnel Edinbourg 35 2012/09/26 $217,500
Jenette Caldwell Responsable du développement New York 30 2011/09/03 $345,000
Yuri Berry Directeur Marketing (CMO) New York 40 2009/06/25 $675,000
César Vance Assistance avant-vente New York 21 2011/12/12 $106,450
Doris Wilder Assistant des ventes Sydney 23 2010/09/20 $85,600
Angélique Ramos Président Directeur-Général (PDG) Londres 47 2009/10/09 $1,200,000
Gavin Joyce Développeur Edinbourg 42 2010/12/22 $92,575
Jennifer Chang Directeur régional Singapour 28 2010/11/14 $357,650
Brenden Wagner Ingénieur logiciel San Francisco 28 2011/06/07 $206,850
Fiona Vert Chef de l'exploitation (COO) San Francisco 48 2010/03/11 $850,000
Shou Itou Commercialisation régionale Tokyo 20 2011/08/14 $163,000
Maison Michelle Spécialiste de l'intégration Sydney 37 2011/06/02 $95,400
Suki Burks Développeur Londres 53 2009/10/22 $114,500
Prescott Bartlett Auteur technique Londres 27 2011/05/07 $145,000
Gavin Cortez Chef d'équipe San Francisco 22 2008/10/26 $235,500
Martena Mccray Assistance après-vente Edinbourg 46 2011/03/09 $324,050
Majordome de l'unité Concepteur marketing San Francisco 47 2009/12/09 $85,675
Howard Hatfield Responsable administratif San Francisco 51 2008/12/16 $164,500
Espoir Fuentes secrétaire San Francisco 41 2010/02/12 $109,850
Viviane Harrell Contrôleur financier San Francisco 62 2009/02/14 $452,500
Timothée Mooney Responsable administratif Londres 37 2008/12/11 $136,200
Jackson Bradshaw Réalisateur New York 65 2008/09/26 $645,750
Olivia Liang Ingénieur support Singapour 64 2011/02/03 $234,500
Bruno Nash Ingénieur logiciel Londres 38 2011/05/03 $163,500
Sakura Yamamoto Ingénieur support Tokyo 37 2009/08/19 $139,575
Thor Walton Développeur New York 61 2013/08/11 $98,540
Finn Camacho Ingénieur support San Francisco 47 2009/07/07 $87,500
Serge Baudouin Coordonnateur des données Singapour 64 2012/04/09 $138,575
Zénaida Frank Ingénieur logiciel New York 63 2010/01/04 $125,250
Zorita Serrano Ingénieur logiciel San Francisco 56 2012/06/01 $115,000
Jennifer Acosta Développeur Javascript junior Edinbourg 43 2013/02/01 $75,650
Cara Stevens Assistant des ventes New York 46 2011/12/06 $145,600
Hermione majordome Directeur régional Londres 47 2011/03/21 $356,250
Lael Greer Administrateur des systèmes Londres 21 2009/02/27 $103,500
Jonas Alexandre Développeur San Francisco 30 2010/07/14 $86,500
Decker Shad Directeur régional Edinbourg 51 2008/11/13 $183,000
Michael Bruce Développeur Javascript Singapour 29 2011/06/27 $183,000
Donna Snider Service client New York 27 2011/01/25 $112,000
Nom Position Bureau Âge Date de début Un salaire
  • Javascript
  • HTML
  • CSS
  • Ajax
  • Script côté serveur
  • commentaires

Le Javascript montré ci-dessous est utilisé pour initialiser la table montrée dans cet exemple :

En plus du code ci-dessus, les fichiers de bibliothèque Javascript suivants sont chargés pour être utilisés dans cet exemple :

Le code HTML affiché ci-dessous est l'élément de tableau HTML brut, avant qu'il ne soit amélioré par DataTables :

Cet exemple utilise un peu de CSS supplémentaire au-delà de ce qui est chargé à partir des fichiers de bibliothèque (ci-dessous), afin d'afficher correctement le tableau. Le CSS supplémentaire utilisé est indiqué ci-dessous :

Les fichiers de bibliothèque CSS suivants sont chargés pour être utilisés dans cet exemple pour fournir le style du tableau :

Cette table charge les données par Ajax. Les dernières données chargées sont indiquées ci-dessous. Ces données seront mises à jour automatiquement au fur et à mesure que des données supplémentaires seront chargées.

Le script utilisé pour effectuer le traitement côté serveur de cette table est indiqué ci-dessous. Veuillez noter qu'il ne s'agit que d'un exemple de script utilisant PHP. Les scripts de traitement côté serveur peuvent être écrits dans n'importe quel langage, en utilisant le protocole décrit dans la documentation DataTables.


DIGÉRER

La norme d'échange d'informations géographiques numériques (DIGEST) a été développée par le DGIWG (anciennement connu sous le nom de groupe de travail sur l'information géographique numérique) pour soutenir un échange efficace d'informations géographiques numériques entre les pays, les producteurs de données et les utilisateurs de données. Il a été conçu comme une "famille de normes" capable de prendre en charge l'échange de plusieurs types de données (par exemple, vecteur). DIGEST a été publié pour la première fois en juin 1991 avec la sortie de l'édition 1.0. Il a subi un certain nombre de révisions et a été publié pour la dernière fois en septembre 2000 avec la sortie de l'édition 2.1.

Alors que l'échange d'ensembles de données entre les systèmes nationaux était suffisant au début, l'exigence de distribuer des produits de données directement aux utilisateurs finaux militaires est devenu plus important avec le temps. Le DGIWG a entrepris d'élaborer des spécifications de produits de données conformes à DIGEST en traitant divers types de données. Imagerie (données raster), données d'altitude (données matricielles) et les données limites (données vectorielles) ont été abordés dans différentes parties de la norme DIGEST. La capacité de gérer codage différent pour le même contenu de données a également été introduit dans DIGEST.

La norme DIGEST est divisée en 4 parties :

  • Partie 1 est un bref Description générale de la norme.
  • Partie 2 consister en Modèle théorique, structure d'échange, spécifications d'encapsulation (Annexes A à D) et une table des matières ASCII standard (Annexe E). Les encapsulations de la partie 2 comprennent : Annexe A - Échange en masse utilisant le format de fichier descriptif de données ISO 8211 Annexe B - Transaction et mise à jour utilisant la norme de télécommunication ISO 8824/8825 Annexe C - Produits vectoriels utilisant le format relationnel vectoriel correspondant à US MIL-STD- 2407 Annexe D - Imagerie utilisant le format d'imagerie secondaire de l'OTAN correspondant à la norme ISO 12087-5, Basic Imagery Interchange format (BIIF)
  • Partie 3 consiste en Codes et paramètres
  • Partie 4 est un Dictionnaire de données du catalogue de codage d'entités et d'attributs (FACC)

Développements récents dans services géospatiaux ont rendu obsolète l'approche consistant à définir les produits de données en termes de format d'échange. Toute partie d'une vaste suite de données géospatiales doit être accessible de manière dynamique via un réseau. Cette situation a changé l'approche adoptée par le DGIWG. DIGEST est toujours conservé pour rétrocompatibilité, mais maintenant l'information est définie en termes d'un modèle de contenu informationnel, qui peut s'exprimer via un format d'échange ou via une interface applicative.

DIGEST n'est plus maintenu par le DGIWG mais est fourni ici car les systèmes hérités fonctionnent toujours et sont basés sur cette norme.