# Définir les types dans les sources de données ouvertes
## Liste de sources
| **source** | **notes** | **état** |
|-------------------------------|-----------|------------|
| [DoRim](#DoRim) | json et csv | |
| [UDEM](#UDEM) | | |
| [MurSubMtl](#MurSubMtl) | | |
| [MU](#MU) | | |
| [MONA](#MONA) | | |
| [DoseCult](#DoseCult) | | |
| [DoMtl](#DoMtl) | json -> csv | |
| [DoIles](#DoIles) | | |
| [ArtPubMtl](#ArtPubMtl) | crawler | |
| [ArtPubLaval](#ArtPubLaval) | | |
## Notes générales
Définir l'ensemble de champs *minimal* (et leurs types) et l'ensemble de champs *idéal* (et leurs types)
Correspondance pour les noms de champs de chaque source pour les données en commun
| source | ID\(de la source, pas de MONA\) | Title | Location\.lat | Location\.lng | Address | Dimensions | Techniques | Artists | Materials\_fr | Place | Directions | URL | Produced\_at | Categories | borough |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DoRim | OBJECTID | NOM\_DE\_L\_OEUVRE | Y\_LATITUDE | X\_LONGITUDE | | DIMENSIONS | TECHNIQUE | NOM\_ARTISTE | MATERIAUX | EMPLACEMENT | | | ANNEE | CATEGORIE | |
| UDEM | id | Titre | Latitude | Longitude | | Dimensions | Technique de fabrication | Prenom, Nom | Matériaux | Détail localisation | | | Date | Sous\-catégorie de l'objet | Arrondissement |
| MurSubMtl | id | | latitude | longitude | adresse | | | artiste | | | | image | annee | | arrondissement |
| MU | id | Murale | LAT | LON | Adresse | | | Artiste | | Emplacement | | | Année | | Arrondissement |
| MONA | id | Titre | latitude | longitude | | Dimensions \(largeur, hauteur, profondeur\) m | Technique\(s\) fr, en | Artiste\(s\) | matériaux fr | | | url | Date de production | Categories | Arrondissement |
| DoseCult | id | Titre | latitude | longitude | | Dimensions \(largeur, hauteur, profondeur\) cm | Technique\(s\) fr, en | Artiste\(s\) | | | | | Date de production | catégorie fr,en | Arrondissement |
| DoMtl | NoInterne | Titre | CoordonneeLatitude | CoordonneeLongitude | AdresseCivique | DimensionsGenerales | Technique | Artistes | Materiaux | Batiment \(et/ou Parc\) | | | DateFinProduction | SousCategorieObjet | Arrondissement |
| DoIles | **Pas d’ID** | title\_fr | latitude | longitude | address | dimensions | techniques\_fr | artist | materials\_fr | place\_fr | directions\_fr | url | produced\_at | categories\_fr | |
| ArtPubMtl | id | title | lat | lon | | | | artist\_names | | | | | year | | |
| ArtPubLaval | OBJECTID | TITRE | y | x | | | | ARTISTE | MATERIAUX | EMPLACEMENT | ACCESSIBILITE | | ANNEE | TYPE\_ART | SECTEUR |
### Geolocalisation / Latitude et Longitude
Info sur MariaDB [Latitude/Longitude Indexing](https://mariadb.com/kb/en/latitudelongitude-indexing/) (de longue date?)
Ajouter un [SPATIAL Index](https://mariadb.com/kb/en/spatial-index/) pour les coordonnées du pobesoin de login?int POINT (ne doit pas être NULL)
<a name='DoRim'></a>
## DoRim
### Localisation et description des œuvres d'art public sur le territoire de Rimouski
```
CREATE TABLE artpublic (
`OBJECTID` INT AUTO_INCREMENT PRIMARY KEY,
`MUNICIPALITE` INT NOT NULL,
`NUMERO_DE_FICHE` VARCHAR(6) NOT NULL,
`PARCOURS` VARCHAR(25),
`NOM_DE_L_OEUVRE` VARCHAR(40) NOT NULL,
`ANNEE` YEAR NOT NULL,
`EMPLACEMENT` VARCHAR(88) NOT NULL,
`PROMOTEUR` VARCHAR(37),
`PROPRIETE` VARCHAR(60),
`CATEGORIE` VARCHAR(57),
`MATERIAUX` VARCHAR(108),
`TECHNIQUE` VARCHAR(100),
`DIMENSIONS` VARCHAR(100),
`Y_LATITUDE` DECIMAL(38, 8) NOT NULL,
`X_LONGITUDE` DECIMAL(38, 8) NOT NULL,
`NOM_ARTISTE` VARCHAR(40),
`COORDONNEE_ARTISTE` VARCHAR(58),
`SITE_WEB_ARTISTE` VARCHAR(28),
`INDICATION` VARCHAR(9),
`ETAT` VARCHAR(222),
`GEOM` VARCHAR(5) NOT NULL
);
```
dictionnaire de données
https://www.donneesquebec.ca/recherche/dataset/art-public
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/2VW794NF/item-list)
76 oeuvres dans ce jeu de données
Ces données sont disponibles en format GeoJSON, CSV, SHP et KML.
J'ai verifié que le premier enregistrement est identique dans les deux formats GeoJSON et CSV.
Considérer d'utiliser le type SET pour ces champs :
- *PARCOURS* nom du parcours proposé par la ville de Rimouski
(` `,`Parcours Bicois`,`Parcours de l'Est`,`Parcours de la Cathédrale`,`Parcours de la rivière`,`Parcours du centre-ville`,`Parcours en bord de mer`,`Parcours hors-ville`)
- *CATEGORIE* type d'oeuvre d'art
(` `,`Images photographiques montées dans des boîtiers lumineux`, `Installation`, `Installation murale`, `Installation, peinture et bas-relief, œuvre en 9 parties`, `installation, sculpture`, `Murale`, `Murale peinture`, `Peinture`, `Peinture murale`, `Photographies couleurs`, `Photographies modifiées et boîtes lumineuses`, `Photographies, boîtes lumineuses`, `Polyptyque, acrylique sur plexiglas`, `Sculpture`, `Sculpture aménagement`, `Sculpture murale`, `Texte gravé`)
- *MATERIAUX* matériaux composant l'oeuvre d'art
cette liste contient des oeuvres de 0 à 4 composantes
(`acier`, `acier corten`, `acier forgé`, `acier inoxydable`, `acier inoxydable brossé`, `acrylique`, `acrylique sur masonite`, `alluminium`, `alluminuim anodisé`, `aluminium`, `aluminium ajouré`, `aluminium anodisé`, `aluminium anodisé et émaillé`, `aluminium brossé`, `aluminium soudé et brossé`, `ardoise`, `bas-relief`, `béton`, `béton armé coloré dans la masse du moyen d’oxyde de cadmium`, `béton armé coloré dans la masse du moyen d’oxyde de fer`, `béton autonivelant`, `béton peint`, `bois`, `bois d’épinette lamellé et collé`, `bois lamellé-collé cintré`, `bois laminé`, `bronze`, `contreplaqué`, `corde`, `coulé en béton mais réalisé en glaise sur une sculpture rigide`, `crayon`, `cuivre`, `feuilles de cuivre soudées et usinées`, `fibre de pin`, `fibre de verre`, `granit`, `laiton`, `lichen`, `masonite`, `métal`, `métal argent`, `métal de cuivre`, `métal en feuille gypse`, `panneaux de contreplaqué saturés de résine epoxy`, `peinture`, `peinture acrylique sur bois`, `pierre`, `pierre gravée`, `pigment`, `plâtre`, `plexiglass`, `résine de polyester`, `sérigraphie sur verre`, `styromousse`, `techniques mixtes`, `tôle ondulé`, `treillis métallique`, `tronc et branche d’arbre`)
*MUNICIPALITE* est toujours 10043
*NUMERO_DE_FICHE* est unique et en format EXT-XX ou INT-XX, numéro de la fiche de l'oeuvre dans les dossiers de la ville de Rimouski
*NOM_DE_L_OEUVRE* j'ai verifié que l'oeuvre avec le titre «Cette histoire est vraie parce que je l’» est identique dans le GeoJSON, même s'il a l'air coupé
*ANNEE* deux oeuvres ont l'année 0
- OBJECTID 69 INT-19
- OBJECTID 60 INT-11
*EMPLACEMENT* nom et/ou adresse de l'emplacement de l'oeuvre
*PROMOTEUR* organisme aillant subventionné l'oeuvre
(`Cégep de Rimouski`,`Centre d'artistes Caravansérail`, `intégration de l’art à l’architecture`, `Intégration des arts à l’architecture`, `Intégration…1%`, `Maison de la culture du Pic champlain`, `MCC œuvre intégration…1%`, `Rimouski Ville cyclable`, `Salon du livre de Rimouski`, `Société Rimouskoise du Patrimoine`, `SOPER`, `UQAR`)
*PROPRIETE* propriétaire de l'oeuvre
(`Cégep de Rimouski`, `Centre d’hébergement et de soins de longue durée de Rimouski`, `Centre de formation professionnel Rimouski-Neigette`, `Centre de formation Rimouski-Neigette`, `Centre hospitalier régional de Rimouski`, `CLSC`, `Collection d’art public de la Ville de Rimouski`, `Comission scolaire des Phares`, `Commission scolaire des Phares`, `Congrégation des Sœurs de Notre Dame du Saint-Rosaire`, `Coopérative de solidarité Paradis`, `École Beaux-Séjours, Sainte-Odile, Rimouski`, `École de musique du BSL`, `École des Merisiers`, `École la Rose des vents`, `École Saint-Jean`, `Maison de la culture du Pic champlain`, `Maison Marie-Élisabeth`, `Manoir des générations`, `Musée Régional de Rimouski`, `Œuvre d'intégration 1 %`, `Parc du Bic`, `Prêt - Ville de Rimouski`, `Salon du livre de Rimouski`, `Site historique maritime`, `SNEQ`, `Sureté du Québec`, `UQAR`, `Ville de Rimouski`)
*TECHNIQUE* : techniques utilisées pour créer l'oeuvre d'art, il n'y a que deux oeuvres avec ce champ rempli
*DIMENSIONS* transformer avec un regex pour separer les chiffres ?
- en plusieurs formats
- Hauteur x,xx m - Largeur x,xx m
- Hauteur x,xx m - Largeur x, xx m `(**caractère d'espace en excès dans OBJECTID 47 NUMERO_DE_FICHE EXT-12)
- Hauteur x,xx m - Largeur x,xx m - Longueur x,xx m
- Hauteur x,xx m
- Longueur x,xx m
- Largeur x,xx m - Longueur x,xx m
- Hauteur x,xx m - Largeur x,xx m - Longueur x,xx m & Hauteur x,xx m - Largeur x,xx m - Longueur x,xx m
- Hauteur x,xx m - Diamètre x,xx m
- Hauteur x,xx m - Longueur x,xx m chaque élément
- Diamètre x,xx m & x,xx m & x,xx m - Hauteur x,xx m - Longueur x,xx m
- vide
- "variées"
*Y_LATITUDE* Latitude en degré décimal
- valeur min 48.35492983
- valeur max 48.51733735
*X_LONGITUDE* Longitude en degré décimal
- valeur min -68.75468704
- valeur max -68.45610078
Toutes les oeuvres ont des *Y_LATITUDE* et *X_LONGITUDE*
Combiner *Y_LATITUDE* et *X_LONGITUDE* dans un champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(Y_LATITUDE, X_LONGITUDE)`
*NOM_ARTISTE* 11 oeuvres n'ont pas de nom de l'artiste
*COORDONNEE_ARTISTE* Coordonnée professionnelle de l'artiste très peu des oeuvres ont ce champ rempli
*SITE_WEB_ARTISTE* Site web de l'artiste il y a http://www.rogerlangevin.com
pour 18 oeuvres, mais pas d'autres
*INDICATION* Indique si l'oeuvre est à l'extérieur ou à l'intérieur; convertir en valueur booléenne selon `Extérieur` ou `vide`; l'oeuvre avec NUMERO_DE_FICHE EXT-51 n'est pas marquée avec INDICATION = Extérieur, mais toutes les autres suivre le patron EXT-XX -> Exterieur, INT-XX -> vide
*ETAT* Appréciation et description de l'état de l'oeuvre; rempli pour 4 oeuvres
*GEOM* type de géométrie est toujours `Point`
<a name='UDEM'></a>
## UDEM
```
CREATE TABLE `UdeM` (
id INT AUTO_INCREMENT PRIMARY KEY,
`Titre` VARCHAR(50) NOT NULL,
`TitreVar` VARCHAR(16),
`Catégorie` VARCHAR(15) NOT NULL,
`CatégorieANG` VARCHAR(15) NOT NULL,
`Sous-catégorie de l'objet` VARCHAR(10) NOT NULL,
`SousCategorieANG` VARCHAR(15) NOT NULL,
`Date` YEAR NOT NULL,
`Matériaux` VARCHAR(78),
`Technique de fabrication` VARCHAR(39),
`Dimensions` VARCHAR(15),
`Arrondissement` VARCHAR(33) NOT NULL,
`Latitude` DECIMAL(38, 6) NOT NULL,
`Longitude` DECIMAL(38, 6) NOT NULL,
`Détail localisation` VARCHAR(143) NOT NULL,
`Prénom` VARCHAR(15) NOT NULL,
`Nom` VARCHAR(15) NOT NULL,
`NomCollectif` BOOL
);
```
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/7D6BVMDB/item-list)
*Date* c'est juste l'année, j'ai vérifié que le mot Date ne se trouve pas sur [la liste de mots «reservés» en MariaDB](https://mariadb.com/kb/en/reserved-words/)
Considérer d'utiliser le type SET or ENUM pour ces champs :
- *Catégorie* (`Beaux-Arts`, `Arts décoratifs`)
- *CatégorieANG* (`Fine Arts`, `Decorative Arts`)
- *Sous-catégorie de l'objet* (`Mosaïque`, `Multimédia`, `Orfèvrerie`, `Peinture`, `Sculpture`)
- *Sous-catégorieANG* (`Mosaics`, `Multimedia Work`, `Goldsmithery`, `Painting`, `Sculpture`)
Considérer d'utiliser le type SET pour ces champs :
- *Matériaux* (`béton`, `bois`, `bois: aggloméré`, `bois: contreplaqué`, `brique`, `céramique`, `fibres naturelles et synthétiques`,
`formica`, `gazon`, `métal`, `métal: acier`, `métal: acier inoxydable`, `métal: aluminium`, `métal: bronze`, `métal: laiton`, `patine`, `peinture`, `peinture électrostatique`, `peinture: émail`, `pierre`, `pierre: calcaire?`, `pierre: granit`, `plastique: polyuréthane`, `poudre d’oxyde colorée`, `verre`, `verre: fibre de verre`)
- *Technique de fabrication* (`anodisé`, `assemblé`, `collé`, `coulé`, `cuit`, `découpé`, `découpé au laser`, `dépoli`, `gravé`, `laqué`, `martelé`, `mosaïque`, `moulé`, `peint`, `poli`, `sculpté`, `soudé`, `taillé`, `verni`)
Combiner *Latitude* et *Longitude* dans un champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(Latitude, Longitude)`
*Dimensions* transformer avec un regex pour separer les chiffres ? c'est en format `a X b` ou `a X b X c`
*Arrondissement*, c'est toujours `Université de Montréal (Rectorat)`
*NomCollectif* est vide
<a name='MurSubMtl'></a>
## MurSubMtl
```
CREATE TABLE murales (
id INT AUTO_INCREMENT PRIMARY KEY,
artiste VARCHAR(130) NOT NULL,
organisme VARCHAR(61),
adresse VARCHAR(68) NOT NULL,
annee YEAR NOT NULL,
arrondissement VARCHAR(40) NOT NULL,
programme_entente VARCHAR(176),
latitude DECIMAL(38, 7) NOT NULL,
longitude DECIMAL(38, 7) NOT NULL,
image VARCHAR(109) NOT NULL
);
```
dictionnaire de données
https://donnees.montreal.ca/dataset/murales
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/KRN5QPX2/item-list)
il n'y a pas de titre d'oeuvre dasn ce jeu de données
considérer d'utiliser le type SET or ENUM pour ces champs :
- *arrondissement* (`Ahuntsic-Cartierville`, `Côte-des-Neiges–Notre-Dame-de-Grâce`, `L'Île-Bizard–Sainte-Geneviève`, `Lachine`, `LaSalle`, `Le Plateau-Mont-Royal`, `Le Sud-Ouest`, `Mercier–Hochelaga-Maisonneuve`, `Montréal-Nord`, `Outremont`, `Rivière-des-Prairies–Pointe-aux-Trembles`, `Rosemont–La Petite-Patrie`, `Saint-Laurent`, `Saint-Léonard`, `Verdun`, `Ville-Marie`, `Villeray–Saint-Michel–Parc-Extension`)
Combiner *latitude* (en WGS84) et *longitude* (en WGS84) dans un seul champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(latitude, longitude)`
Considérer utiliser un plus grand VARCHAR pour l'URL du S3 bucket sur AWS de l'*image* si on ne va pas changer les déclarations de table très fréquemment
hors sujet : il y a un *organisme* sur la liste qui s'appelle Société pour Promouvoir les Arts Gigantesques (SPAG)
:heart_eyes:
<a name='MU'></a>
## MU
```
CREATE TABLE `MU` (
id INT AUTO_INCREMENT PRIMARY KEY,
`Murale` VARCHAR(69) NOT NULL,
`Année` YEAR NOT NULL,
`Artiste` VARCHAR(166) NOT NULL,
`Ville` VARCHAR(24) NOT NULL,
`Arrondissement` VARCHAR(40),
`Quartier` VARCHAR(29),
`Édifice` VARCHAR(81),
`Adresse` VARCHAR(42) NOT NULL,
`Emplacement` VARCHAR(103),
`HLM` VARCHAR(7),
`Batisseurs Culturels` VARCHAR(7),
`LAT` VARCHAR(19) NOT NULL,
`LON` VARCHAR(19) NOT NULL
);
```
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/L858LURM/item-list)
*Murale* contient une chaîne délimitée par les quotations "
*Artiste* contient parfois des collaborateurs, parfois des references au réalisateur - ce n'est pas juste le nom d'un artiste
considérer d'utiliser le type SET or ENUM pour ces champs :
- *Ville* (`Mont-Tremblant`,`Montréal`,`Ottawa`,`Pointe-Claire`,`Québec`,`Saint-Jean-sur-Richelieu`,`Ville de Mont-Royal`)
- *Arrondissement* (`Ahuntsic-Cartierville`, `Côtes-des-Neiges-NDG`, `Hintonburg`, `Le Plateau-Mont-Royal`, `Le Sud-Ouest`, `Mercier-Hochelaga-Maisonneuve`, `Montréal-Nord`, `Outremont`, `Pointe-Claire`, `Rivière-des-Prairies–Pointe-aux-Trembles`, `Rosemont-La-Petite-Patrie`, `Saint-Laurent`, `Verdun`, `Ville de Mont-Royal`, `Ville-Marie`, `Villeray–Saint-Michel–Parc-Extension`, `(empty)`)
- *Quartier* (`Centre-Sud`, `Côte-Saint-Paul`, `Hintonburg`, `Hochelaga-Maisonneuve`, `Le Plateau`, `Mercier-Hochelaga-Maisonneuve`, `Mile-End`, `Mont-Tremblant`, `Montréal-Nord`, `Notre-Dame-de-Grâce`, `Outremont`, `Parc-Extension`, `PAT`, `Petite-Bourgogne`, `Pointe-Claire`, `Pointe-Saint-Charles`, `Quartier Latin`, `RDP`, `Rosemont`, `Rosemont-La-Petite-Patrie`, `Saint-Henri`, `Saint-Jean-sur-Richelieu`, `Saint-Laurent`, `Saint-Sulpice`, `Shaughnessy Village`, `St Michel`, `Verdun`, `Vieux-Québec`, `Ville de Mont-Royal`, `Ville Saint-Laurent`, `Ville-Marie`, `Villeray`, `(empty)`)
*Emplacement* apporte une précision, par ex. angle Ontario
*HLM* est une valueur booléenne `checked` ou `vide`
*Batisseurs Culturels* est une valueur booléenne `checked` ou `vide`
*LAT* et *LON* sont exprimées en degrés, minutes, secondes, pour les convertir en format decimal, j'ai trouvé [cette expression SQL sur stackoverflow](https://stackoverflow.com/a/12195937):
```
SELECT DMS,
TRUNC(DMS) +
(TRUNC((DMS - TRUNC(DMS)) * 100) / 60) +
(((DMS * 100) - TRUNC(DMS * 100)) * 100) / (60 * 60) AS DECIMAL_DEGREES
FROM TEST_DMS
```
Après les avoir convertis, combiner *LAT* et *LON* dans un champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(latitude, longitude)`
<a name='MONA'></a>
## MONA
```
CREATE TABLE `FormatDonneesMONA` (
id INT AUTO_INCREMENT PRIMARY KEY,
`Titre` VARCHAR(102) NOT NULL,
`Date de production` VARCHAR(10) NOT NULL,
`Categories_history` VARCHAR(21),
`Categories` VARCHAR(21) NOT NULL,
`Dimensions (largeur, hauteur, profondeur) m` VARCHAR(13),
`Technique(s) fr, en` VARCHAR(32),
`Artiste(s)` VARCHAR(28) NOT NULL,
`Collectif?` BOOL,
`Ville/Région` VARCHAR(9),
`Arrondissement` VARCHAR(11),
latitude DECIMAL(38, 8) NOT NULL,
longitude DECIMAL(38, 8) NOT NULL,
`Producer` VARCHAR(30),
`Détail` VARCHAR(249),
url VARCHAR(116),
owner VARCHAR(33),
`matériaux fr` VARCHAR(16),
alternative_fr BOOL,
alternative_en BOOL,
addresses BOOL,
accessibility_fr BOOL,
`médium` BOOL,
`support fr` BOOL,
`DateProd` DATE AS STR_TO_DATE(`Date de production`, '%., %d, %m, %Y') PERSISTENT
);
```
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/LAV472NX/item-list)
ajouter le champ *DateProd* en utilisant STR_TO_DATE(`Date de production`, '%., %d, %m, %Y') car la date dans le csv et en format dd.mm.yyyy ? ou essayer une chose comme https://stackoverflow.com/a/8164237 ?
*Collectif* est vide
considérer d'utiliser le type SET pour ces champs :
- *Categories_history* (`Murales`, `Murals`, `Beaux-Arts`, `Fine Arts`)
- *Categories* (`Murale`, `Mural`, `Sculpture`, `Sculpture`, `Vitrail`,`Stained glass`)
- *Technique(s) fr, en* (`Peint`, `Collage`, `Painted`, `Collage`, `Soudé`, `Welded`)
Combiner *latitude* et *longitude* dans un seul champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(latitude, longitude)`
<a name='DoseCult'></a>
## DoseCult
```
CREATE TABLE `DoseCulture` (
id INT AUTO_INCREMENT PRIMARY KEY,
`Titre` VARCHAR(30) NOT NULL,
`Date de production` DATE NOT NULL,
`catégorie fr,en` VARCHAR(25) NOT NULL,
`Sous-catégorie fr,en` VARCHAR(21) NOT NULL,
`Dimensions (largeur, hauteur, profondeur) cm` VARCHAR(133) NOT NULL,
`Technique(s) fr, en` VARCHAR(45),
`Artiste(s)` VARCHAR(24),
`Collectif?` VARCHAR(243),
`Ville/Région` VARCHAR(24) NOT NULL,
`Arrondissement` VARCHAR(26) NOT NULL,
latitude DECIMAL(38, 7) NOT NULL,
longitude DECIMAL(38, 7) NOT NULL
);
```
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/4NRUDPUL/item-list)
`Titre` un titre qui est juste le nombre 116
quelques titres non-uniques
- id 36, 37, 38 partage le titre Maze and games
- id 70, 71 partage le titre L'univers de jeu
- id 49, 79 partage le titre Parc René-Veillet
`Date de production`
ajouter le champ DateProd en utilisant STR_TO_DATE(Date de production, '%m/%d/%Y') car la date dans le csv et en format `mm/dd/yyyy` ou essayer une chose comme https://stackoverflow.com/a/8164237 ?
- id 6 et id 13 sont marqués 07/05/1905
`catégorie fr,en` considérer d'utiliser le type SET or ENUM
(`murale, mural`, `Murale, mural`, `Anamorphose, anamorphosis`)
`Sous-catégorie fr,en` toutes les oeuvreson la même valeur de `Mur légal, legal wall`
`Dimensions (largeur, hauteur, profondeur) cm`
transformer avec un regex pour separer les chiffres
- en plusieurs formats
- l lll, h, p cm
- llll, hhhh, pppp
- l, h
- l, h cm
- l.ll, h.hh, p cm
- l, h,p cm (pas d'espace entre h et p)
- x xxx m²
- et encore plus
elles sont presque toutes les murales, je ne sais pas pourquoi elles auraient un profondeur >0
`Technique(s) fr, en` SET (`Anamorphose`,
`murale de style graffiti, graffiti style wall`, `vide`)
`Artiste(s)` nom des artistes separés par des virgules ou par le mot `et`
50/97 sont attribuées à Korb tout seul
Les 4 entrées qui sont vides ont le champ `Collectif?` rempli
`Collectif?` n'est rempli que pour les 4 entrées avec le champ `Artiste(s)` vide
les entrées sont toutes des listes longues
`Ville/Région` possible ENUM
(`Bille de Beloeil`, `Kamouraska`, `Municipalité de la Corne`, `Municipalité de Preissac`, `Saint-Marc des carrières`, `Saint-Roch-de-Richelieu`, `Ville de Beloeil`, `Ville de Boucherville`, `Ville de Brossard`, `Ville de Candiac`, `Ville de Carignang`, `Ville de Granby`, `Ville de laval`, `Ville de Longueuil`, `Ville de Montréal`, `Ville de Saint-Amable`, `Ville de Saint-Hilaire`, `Ville de Saint-Hyacinthe`, `Ville de saint-Lambert`, `Ville de St-Amable`, `Ville de Waterloo`, `Villle deLongueuil`, )
`Arrondissement` possible ENUM (`Aréna`, `Beloeil`, `Boucherville`, `Brossard`, `Candiac`, `Carignan`, `Centre-ville`, `Granby`, `Greenfiled Park`, `Laflèche`, `Laval`, `Le Vieux-Longueuil`, `Longueuil`, `Montréal`, `Municipalité de la Corne`, `Municipalité de Preissac`, `Saint-Amable`, `Saint-Dominique`, `Saint-Germain de Kamourasa`, `Saint-Hilaire`, `Saint-Hubert`, `Saint-Hyacinthe`, `Saint-Lambert`, `Saint-Marc des carrières`, `Saint-Roch-de-Richelieu`, `Springfield Park`, `St-Amable`, `Vieux-Longueuil`, `Ville de Longeuil`, `Ville de saint-Hilaire`, `Waterloo`)
Combiner *latitude* et *longitude* dans un seul champ *coordonnees* du type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(latitude, longitude)`
<a name='DoMtl'></a>
## DoMtl
### Données Ouvertes Montréal
```
CREATE TABLE domtlfromjson (
`Titre` VARCHAR(80) NOT NULL,
`TitreVariante` VARCHAR(176),
`DateFinProduction` VARCHAR(27),
`NomCollection` VARCHAR(28) NOT NULL,
`NomCollectionAng` VARCHAR(29) NOT NULL,
`CategorieObjet` VARCHAR(15) NOT NULL,
`CategorieObjetAng` VARCHAR(15) NOT NULL,
`SousCategorieObjet` VARCHAR(21) NOT NULL,
`SousCategorieObjetAng` VARCHAR(17) NOT NULL,
`ModeAcquisition` VARCHAR(68),
`ModeAcquisitionAng` VARCHAR(75),
`DateAccession` VARCHAR(27),
`Materiaux` VARCHAR(126),
`MateriauxAng` VARCHAR(119),
`Support` VARCHAR(31),
`SupportAng` VARCHAR(26),
`Technique` VARCHAR(99),
`TechniqueAng` VARCHAR(87),
`DimensionsGenerales` VARCHAR(69),
`Arrondissement` VARCHAR(40) NOT NULL,
`Parc` VARCHAR(66),
`Batiment` VARCHAR(51),
`AdresseCivique` VARCHAR(69),
`CoordonneeLatitude` DECIMAL(38, 7) NOT NULL,
`CoordonneeLongitude` DECIMAL(38, 6) NOT NULL,
`Artistes` VARCHAR(257) NOT NULL,
`Mediums` VARCHAR(151) NOT NULL,
`NoInterne` INT AUTO_INCREMENT PRIMARY KEY,
`NumeroAccession` VARCHAR(16)
);
```
dictionnaire de données
https://donnees.montreal.ca/dataset/art-public-information-sur-les-oeuvres-de-la-collection-municipale#additional-info
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/UMX4ENZL/item-list)
Selon le site, on peut faire une requête API via SQL https://donnees.montreal.ca/api/3/action/datastore_search_sql
J'ai converti de JSON à CSV pour l'analyse d'une manière très simplifiée
Il y a 28 instances du caractère `\r` dans le fichier JSON (au cas où ça poserait problème avec MariaDB)
`Titre` rempli pour toutes les oeuvres, avec quelques sans titre, et quelques Non titré
`TitreVariante`[sic]
Ce n'est pas rempli pour toutes les oeuvres
Quelques-unes sont marquées
> L'œuvre était initialement sans-titre, son titre actuel a été attribué par l'ayant droit de Maurice Lemieux.
`DateFinProduction` en format de Unix timestamp, comme `/Date(1291352400000-0500)/` utiliser la fonction [FROM_UNIXTIME](https://mariadb.com/kb/en/from_unixtime/) pour transformer en format [DATETIME](https://mariadb.com/kb/en/datetime/) si nécessaire
`NomCollection`
ENUM ou SET (`Art public`, `Intégration à l'architecture`)
`NomCollectionAng`
ENUM ou SET(`Integration with architecture`, `Public art`)
`CategorieObjet`
ENUM ou SET(`Arts décoratifs`, `Beaux-arts`)
`CategorieObjetAng`
ENUM ou SET(`Decorative Arts`, `Fine Arts`)
`SousCategorieObjet`
ENUM ou SET(`Bois/menuiserie d'art`, `Céramique`, `Design industriel`, `Émaux`, `Installation`, `Mobilier`, `Mosaique`, `Multimédia`, `Peinture`, `Photographie`, `Sculpture`, `Techniques mixtes`, `Verre`, `Vitrail`)
`SousCategorieObjetAng`
ENUM ou SET(`Ceramics`, `Enamels`, `Furnishings`, `Glass`, `Industrial Design`, `Installation`, `Mixed Media`, `Mosaics`, `Multimedia Work`, `Painting`, `Photography`, `Sculpture`, `Stained Glass`, `Wood/Woodcraft`)
`ModeAcquisition`
SET(`Achat`, `Achat directement à l'artiste`, `Autre`, `Cession`, `Commande à l'artiste`, `Commande en partenariat`, `Commande publique de la Ville de Montréal`, `Commande publique de la ville de Montréal (Concours par avis public)`, `Commande publique de la Ville de Montréal (Concours sur invitation)`, `Dépôt`, `Don`, `Don par souscription publique`, `Inconnu`, `Intégration des arts à l'architecture`, `Prêt`, `Transfert`, `vide`)
`ModeAcquisitionAng`
SET(` `, `Assignment`, `Commission from the artist`, `Commission in partnership `, `Deposit`, `Donation`, `Donation by public subscription`, `Loan`, `Other`, `Public commission from the Ville de Montréal`, `Public commission from the Ville de Montréal (competition by invitation)`, `Public commission from the Ville de Montréal (competition by public notice)`, `Purchase`, `Purchase directly from the artist`, `Transfer`, `Unknown`, `vide`)
`DateAccession`
en format de Unix timestamp, comme `/Date(1311652800000-0400)/` utiliser la fonction [FROM_UNIXTIME](https://mariadb.com/kb/en/from_unixtime/) pour transformer en format [DATETIME](https://mariadb.com/kb/en/datetime/) si nécessaire
67/299 sont vides
`Materiaux` chaque entrée contient une liste délimitée par `;` ou `,` ; 33/299 sont vides
SET(`acier`, `acier (feuille)`, `acier brut`, `acier chromé`, `acier corten`, `acier de corten`, `acier galvanisé`, `acier inoxydable`, `acier intempérique`, `acier intempérique ou corten (maisons)`, `acier peint`, `acier.`, `acrylique`, `aluminium`, `aluminium anodisé`, `aluminium peint`, `aluminum`, `anorthosite`, `arbres`, `arbustes.`, `ardoise`, `argile`, `asphalte`, `béton`, `béton armé`, `béton ductal`, `bois`, `brique`, `briques`, `bronze`, `bronze chromé`, `bruyère`, `calcaire`, `calcite`, `céramique`, `céramique ?`, `ciment`, `ciment (base).`, `composantes technologiques`, `criblure granitique`, `cuivre`, `del`, `dispositif d'éclairage`, `eau`, `eau.`, `émail`, `encre de sérigraphie`, `époxy`, `fer`, `feutre`, `fibre de verre`, `fonte`, `fonte de fer.`, `gazon`, `gesso`, `graminées`, `granit`, `granit naturel`, `granit vert laurentien`, `gravier`, `grès`, `impression`, `laiton`, `limaille de bronze`, `livre`, `lumière`, `luminaire`, `manganèse et chrome poli (jeu de ficelle)`, `marbre`, `matériaux divers`, `métal`, `miroir`, `mortier`, `néon`, `nylon`, `papier`, `pavés`, `peinture`, `peinture époxy`, `pierre`, `pierre de rivière-à-pierre`, `pierre indiana`, `pierres`, `pigments`, `pigments métalliques`, `plantes`, `plantes indigènes`, `plâtre`, `plexiglas`, `plomb`, `résine`, `résine d'époxy`, `résine de copolyester`, `revêtement plastique`, `schiste`, `serrureries`, `silicone`, `structure métallique`, `tissu`, `tissus`, `tourbe`, `travertin`, `végétaux`, `végétaux.`, `verre`, `verre trempé`)
`MateriauxAng`
SET(`acrylic`, `aluminum`, `anodized aluminum`, `anorthosite`, `asphalt`, `book`, `brass`, `brick`, `bronze`, `bronze filings`, `calcite`, `cast iron`, `cast iron.`, `cement`, `cement (base)`, `ceramic`, `ceramics`, `ceramics ?`, `chrome-plated bronze`, `chrome-plated steel`, `clay`, `cobblestones`, `concrete`, `copolyester resin`, `copper`, `corten steel`, `enamel`, `epoxy`, `epoxy paint`, `epoxy resin`, `fabric`, `felt`, `fiber glass`, `fibre-glass`, `galvanized steel`, `galvanized steel and stainless steel`, `gesso`, `glass`, `granite`, `granite screenings`, `grass`, `gravel`, `heather`, `indiana stone`, `indigenous plants`, `iron`, `iron founding`, `ironwork`, `laurentian green granite`, `lead`, `led`, `leds`, `light`, `lighting fixture`, `limestone`, `manganese and chrome plating (cat’s-cradle)`, `marble`, `metal`, `metallic pigments`, `metallic structure`, `mirror`, `mortar`, `mortat`, `natural granite`, `neon`, `nylon`, `paint`, `painted aluminum`, `painted steel`, `paper`, `pigments`, `plants`, `plaster`, `plastic coating`, `plexiglas`, `print`, `raw steel`, `reinforced concrete`, `resin`, `rivière-à-pierre stone`, `sandstone`, `schist`, `shrubs`, `silicone`, `silkscreen ink`, `slate`, `stainless steel`, `steel`, `steel (sheet)`, `stone`, `stones`, `tempered glass`, `travertine`, `trees`, `various materials`, `water`, `weathered or corten steel (houses)`, `weatherized steel`, `wood`)
`Support`
SET(`Aluminium`, `Bois`, `bois, verre et métal`, `Gypse`, `Pierre`, `Plexiglas`, `Toile marouflé sur contreplaqué`, `Verre`)
`SupportAng`
SET(`Aluminum`, `Canvas pasted onto plywood`, `Glass`, `Plexiglas`, `Stone`, `Wood`)
`Technique` chaque entrée contient une liste délimitée par `;` ou `,`
SET(`aluchromie`, `aluminium moulé et fondu`, `aluminium taillé`, `aluminium: découpé`, `ancré`, `anodisation`, `assemblage`, `assemblé`, `assemblé à la romaine à l'aide de goupilles en bronze`, `béton coulé`, `béton coulé (stèles)`, `béton projeté`, `boulonnage`, `boulonné`, `boulonnée`, `boulonnées`, `briqueté`, `bronze coulé`, `bronzé coulé`, `bronze moulé`, `ciment fondu`, `ciment moulé`, `cimenté`, `cintré et peinturé`, `cire perdue`, `collage`, `collé`, `contre-collé sur bois et laminé`, `coulé`, `coulé (bronze)`, `coulé à la cire perdue`, `coulée`, `coulée industriel`, `coupage`, `coupé`, `courbé`, `découpage au laser`, `découpé`, `découpe au laser`, `découpées`, `empilé`, `feuilles d'acier coupées`, `feuilles d'aluminium anodisé`, `feuilles d'aluminium galbées par martelage`, `finition effectuée par meuleuse à disque (gros grain)`, `fixé`, `fondu`, `fontaine : moulage`, `fonte à la cire perdue`, `fonte au sable`, `forge`, `formé`, `frittage laser sélectif`, `granit poli`, `granit: gravé au jet de sable (fabrication artisanale)`, `gravé`, `gravé au jet de sable`, `image lumineuse projettée au sol`, `imbriqué`, `impression`, `impression numérique`, `impression sur papier ilfochrome`, `impressions numériques montées à froid sur support de plexiglas (acrylique)`, `incrusté`, `inscription`, `installation par ancrages chimique`, `martelé`, `meulé`, `mixte`, `modelage`, `modélisation 3d`, `moulage`, `moulage d'argile crue`, `moulé`, `multiple`, `œuvre peinte`, `oxydé`, `patiné`, `pavés découpés`, `peint`, `peint (?)`, `peints`, `peinture`, `peinture électrostatique (banc)`, `percé`, `pierre taillée`, `planté`, `plié`, `pliées`, `poli`, `polissage`, `pulvérisé`, `sculpté`, `sculpté (granite)`, `sculpture de cuivre formé`, `sérigraphie`, `sérigraphié`, `soudage`, `soudé`, `soudé et assemblé`, `soudé et assemblé (fini satiné et gravé)`, `soudées`, `soudées entre elles`, `soudées les unes aux autres`, `souder`, `soudés`, `soudure`, `soudure à l'étain`, `statue actuelle : fonte`, `statue originale : cuivre repoussé-estampé`, `taille`, `taillé`, `taille directe`, `techniques multiples`, `tourné`, `vidéoprojections (oeuvre numérique)`, `vissé`, `vitrifié`)
`TechniqueAng` chaque entrée contient une liste délimitée par `;` ou `,`
SET(`23 sections of bronze cast by coating and welded together`, `3d modelling`, `aluminous cement`, `aluminum sheets shaped by hammering`, `aluminum: cut out`, `anchored`, `anodized`, `anodized aluminum sheets`, `assemblage`, `assembled`, `assembled roman style using bronze pins`, `assembly`, `attached`, `bends`, `bent`, `bent and painted`, `bolted`, `bolting`, `briquetted`, `buffed`, `burnished`, `carved`, `carved stone`, `cast`, `cast (bronze)`, `cast aluminum`, `cast bronze`, `cast in the cire perdue method`, `casting`, `casting industrial`, `cemented`, `cire perdue`, `cire perdue method`, `collage`, `current statue: cast iron`, `cut`, `cut out`, `cutting`, `digital print`, `digital prints cold-mounted on plexiglas support (acrylic)`, `direct carving`, `dressing`, `electrostatic painting (bench)`, `engraved`, `finished using a disk grinder (coarse grit)`, `forging`, `fountain: casting`, `glued`, `granite: sandblast engraving`, `hammered`, `illuminated image projected on the ground`, `inlaid`, `inscription`, `installation by chemical anchoring`, `interlocked`, `iron cast in the cire perdue method`, `laser cutting`, `melted`, `mixed`, `modelling`, `moulded`, `moulded cement`, `moulding`, `moulding of raw clay`, `moulding: assembly`, `multiple`, `multiple techniques`, `original statue: copper repoussé-embossed`, `oxidized`, `paint`, `painted`, `painted (?)`, `painting`, `pierced`, `piled up`, `planted`, `polished`, `polished granite`, `polishing`, `poured`, `poured concrete`, `print`, `print on ilfochrome paper`, `printing`, `projected concrete`, `sand-cast iron`, `sandblast engraving`, `screwed`, `sculpted`, `sculpted (granite)`, `selective laser sintering`, `serigraphy`, `shaped`, `shaped copper sculpture`, `silkscreened`, `silkscreening`, `sprayed`, `steel sheets cut`, `tin soldering`, `vitrified`, `welded`, `welded and assembled`, `welded to each other`, `welded together`, `welding`)
`DimensionsGenerales`
transformer avec un regex pour separer les chiffres
- en plusieurs formats
- a,a x b cm
- (d) a x b x c cm
- (d) a x b x c
- a,a x b x c m
- a x b x c cm
- a cm
- a m
- 9.14 m (h) x 3.6 m (diamètre)
- 9m de haut
- Ensemble de l'œuvre : 98 x 115 m
- Hauteur 1500cm
- Les différents ensemble de l'installation sont répartis dans le parc.
- Petite : 218 x 744 cm NL Grande : 427 x 881 cm
- xx cm x 230 cm x 170 cm
- et encore plus
`Arrondissement` ENUM ou SET(`Ahuntsic-Cartierville`, `Côte-des-Neiges–Notre-Dame-de-Grâce`, `L’Île-Bizard–Sainte-Geneviève`, `Lachine`, `LaSalle`, `Le Plateau-Mont-Royal`, `Le Sud-Ouest`, `Mercier–Hochelaga-Maisonneuve`, `Montréal-Nord`, `Outremont`, `Pierrefonds-Roxboro`, `Rivière-des-Prairies–Pointe-aux-Trembles`, `Rosemont–La Petite-Patrie`, `Saint-Laurent`, `Saint-Léonard`, `Verdun`, `Ville-Marie`, `Villeray–Saint-Michel–Parc-Extension`)
`Parc` 81/299 sont vides
SET(`Boulevard Albert-Brosseau`, `Boulevard LaSalle`, `Boulevard Saint-Joseph`, `Carrefour giratoire des boulevards, René-Lévesque et Ïle-des-Sœurs`, `Carrefour Henri-Bourassa–Pie-IX`, `Complexe aquatique, Parc Jean-Drapeau`, `De la Commune`, `De la Gauchetière`, `Île de la Visitation`, `Intersection des avenues du Président-Kennedy et McGill-College`, `Intersection des rues Sherbrooke et Saint-Denis`, `Jardin botanique`, `Parc Alexis-Nihon`, `Parc Athéna`, `Parc Baldwin`, `Parc Beaubien`, `Parc Belmont`, `Parc Benny`, `Parc Berthe-Louard`, `Parc Caron`, `Parc Claude-Jutra`, `Parc Dante`, `Parc de la Promenade-Bellerive`, `Parc de Turin`, `Parc de West Vancouver`, `Parc des Hommes-Forts`, `Parc des Rapides`, `Parc Devonshire/Place de la Roumanie`, `Parc du Mont-Royal`, `Parc du musée de Lachine`, `Parc du Souvenir`, `Parc Elgar`, `Parc Eugène-Dostie`, `Parc Fort-Rolland`, `Parc François-Perrault`, `Parc Guglielmo-Marconi`, `Parc Hector-Toe-Blake`, `Parc Jarry`, `Parc Jean-Drapeau, Île Notre-Dame`, `Parc Jean-Drapeau, Île Sainte-Hélène`, `Parc Jean-Duceppe`, `Parc La Fontaine`, `Parc Labelle`, `Parc Ladauversière`, `Parc Mackenzie-King`, `Parc Maisonneuve-Cartier`, `Parc Malborough`, `Parc Marcel-Léger`, `Parc Marcelin-Wilson`, `Parc Marguerite-Bourgeoys`, `Parc Miville-Couture`, `Parc Molson`, `Parc Monk`, `Parc Noël-Sud`, `Parc Notre-Dame-de Grâce`, `Parc Outremont`, `Parc Paul-Dozois`, `Parc Philippe-Laheurte`, `Parc Pierre-Elliott-Trudeau`, `Parc René-Lévesque`, `Parc Saint-Laurent`, `Parc Saint-Léonard`, `Parc Serge-Garant`, `Parc Sir-Wilfrid-Laurier`, `Parc Stoney-Point`, `Parc Summerlea`, `Place d'Armes`, `Place D’Youville`, `Place de l’an 2000`, `Place de l'hôtel de ville`, `Place De La Dauversière`, `Place des Patriotes`, `Place du 6-décembre-1989`, `Place du Canada`, `Place du Cardinal-Paul-Émile-Léger`, `Place du Commerce`, `Place du frère André`, `Place Émilie-Gamelin`, `Place Félix-Leclerc`, `Place Gennevilliers-Laliberté`, `Place Gérald-Godin`, `Place J.-Ernest-Laforce`, `Place Jacques-Cartier`, `Place Jean-Paul-Riopelle`, `Place Kate-McGarrigle`, `Place Marguerite-Bourgeoys`, `Place Norman-Bethune`, `Place Raymond-Plante`, `Place Roland-Proulx`, `Place Roy`, `Place Upper-Trafalgar`, `Place Urbain-Baudreau-Graveline`, `Place Vauquelin`, `Promenade de la Commune`, `Promenade des artistes`, `Promenade Père-Marquette`, `Square Cabot`, `Square Dalhousie`, `Square Dorchester`, `Square Phillips`, `Square Saint-Henri`, `Square Saint-Louis`, `Square Sir-George-Étienne-Cartier`, `Square Victoria`, `Square Viger`)
`Batiment` 174/299 sont vides
SET(`Aquadôme-Centre aquatique familiale de LaSalle`, `Aréna Garon`, `Aréna Maurice-Richard`, `Bain Morgan`, `Bibliothèque Côte-des-Neiges`, `Bibliothèque de l'Île-Bizard`, `Bibliothèque de Pierrefonds`, `Bibliothèque de Pointe-aux-Trembles`, `Bibliothèque de Saint-Laurent`, `Bibliothèque du Boisé`, `Bibliothèque du Plateau-Mont-Royal`, `Bibliothèque Frontenac`, `Bibliothèque interculturelle de Côte-des-Neiges`, `Bibliothèque l'Octogone`, `Bibliothèque La Petite-Patrie`, `Bibliothèque Le Prévost`, `Bibliothèque Marc-Favreau`, `Bibliothèque Marie-Uguay`, `Bibliothèque Mile-End`, `Bibliothèque Parc-Extension`, `Bibliothèque Père-Ambroise`, `Bibliothèque Rivière-des-Prairies`, `Bibliothèque Saint-Léonard`, `Bibliothèque Saint-Pierre`, `Caserne d'incendie 22`, `Casino de Montréal`, `Centre communautaire Elgar`, `Centre communautaire intergénérationnel d'Outremont`, `Centre culturel de Verdun`, `Centre d'histoire de Montréal`, `Centre des arts contemporains du Québec à Montréal`, `Centre du Plateau`, `Centre Georges-Vanier`, `Centre Jean-Claude-Malépart`, `Centre Jean-Marie Gauvreau`, `Centre Laurier`, `Centre Léonard de Vinci`, `Centre Pierre-Charbonneau`, `Centre récréatif Gadbois`, `Centre sportif Notre-Dame-de Grâce`, `Chalet du parc du Mont-Royal`, `Chalet du parc Étienne Desmarteaux`, `Chapelle historique du Bon-Pasteur`, `Édifice Gaston-Miron`, `Habitations De Maisonneuve`, `Habitations De Mentana`, `Habitations Favard`, `Habitations Laurier`, `Hôtel de Ville arrondissement de Verdun`, `Hôtel de Ville de Montréal`, `Jardin botanique`, `La Station (Maison intergénérationnelle)`, `Le Taz`, `Mairie d'arrondissement de LaSalle`, `Maison Antoine-Beaudry`, `Maison culturelle et communautaire de Montréal-Nord`, `Maison de la culture d'Ahuntsic - Cartierville`, `Maison de la culture Maisonneuve`, `Maison de la culture Marie-Uguay`, `Maison de la culture Mercier`, `Maison de la culture Notre-Dame-de-Grâce`, `Maison de la culture Pointe-aux-Trembles`, `Marché Atwater`, `Musée de Lachine`, `Pavillon de l'administration, parc Jean-Drapeau`, `Pavillon du lac aux Castors`, `Pavillon Vincent Lecavalier`, `Planétarium Rio Tinto Alcan de Montréal`, `Stade olympique`, `Station de pompage centrale (Atwater)`, `Usine de filtration Charles-J. des Baillets`)
`AdresseCivique` 155/299 sont vides
formats variés, comme:
- Rue Bertrand
- 8931 Avenue Papineau, Montreal, QC H2M 2G2
- 85, rue Notre-Dame est
- 6052, boulevard Monk, Montréal (Québec) H4E 3H6
- 421, rue Saint-Roch, H3N 1K2
- et encore plus
`CoordonneeLatitude` et `CoordonneeLongitude` en format decimal
tranformer vers le type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(CoordonneeLatitude, CoordonneeLongitude)`
`Artistes` liste des artiste(s) en format JSON
plus d'information sur le [JSON data type](https://mariadb.com/kb/en/json-data-type/) en MariaDB
transformer avec la fonction [JSON_TABLE](https://mariadb.com/kb/en/json_table/) et un paramètre `nested path`, si nécessaire
Il n'y a qu'une entrée qui a 3 trois artistes dans la liste JSON, et 11 avec 2 artistes.
`Mediums` liste des mediums en format JSON 286/299 sont vides
un exemple d'une liste pour une oeuvre
`[{'Medium': 'Acrylique', 'MediumAng': 'Acrylic'}, {'Medium': 'Latex', 'MediumAng': 'Latex'}, {'Medium': 'Peinture', 'MediumAng': 'Paint'}]`
`NoInterne` id unique numérique
`NumeroAccession` code alpha-numérique en plusiers formats dont
- 180911
- 0 45901.0
- 1809-APE-SC-01
- NUL022
- 2006-SC-01
- et encore plus
> <a name='DoIles'></a>
## DoIles
### Données Ouvertes des Îles de la Madeleine
```
CREATE TABLE `donnesartpublic_iles-listeoeuvres` (
id INT AUTO_INCREMENT PRIMARY KEY,
title_fr VARCHAR(33),
artist VARCHAR(54) NOT NULL,
url VARCHAR(147),
description_fr VARCHAR(871),
produced_at YEAR,
producer BOOL,
owner VARCHAR(37),
acquisition_fr VARCHAR(110),
funders VARCHAR(67),
categories_fr VARCHAR(24),
dimensions VARCHAR(18),
techniques_fr VARCHAR(23),
materials_fr VARCHAR(113),
`latitude, longitude` VARCHAR(39) NOT NULL,
address VARCHAR(45),
place_fr VARCHAR(159),
directions_fr VARCHAR(54),
accessibilities_fr VARCHAR(19)
);
```
dictionnaire de données
https://www.donneesquebec.ca/recherche/dataset/art_public_iles-de-la-madeleine
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/MCKNHTAE/item-list)
Ce jeu de données n'a pas une colonne `ID`, j'ai ajouté un id INT AUTO_INCREMENT PRIMARY KEY dans la déclaration CREATE TABLE
`title_fr` titre de l'oeuvre
l'entrée avec l'artiste «Collectif ( dont le peintre-sculpteur Claude Théberge)» n'a pas de titre
`artist` nom de l'artiste ayant réalisé l'oeuvre
`url` lien web relié à l'oeuvre
25/31 sont vides
`description_fr` description de l'oeuvre
7/31 sont vides
`produced_at` année d'installation de l'oeuvre
2 sont rempli avec une espace et 1 est vide
`producer` producteur institutionnel de l'oeuvre
31/31 sont vide
`owner` propriétaire de l'oeuvre
2/31 `Municipalité des Îles-de-la-Madeleine`
29/31 sont vide
`acquisition_fr` programme, appel ou autre circonstance de réalisation de l'oeuvre
SET(`Concours lancé par la Municipalité des Îles-de-la-Madeleine. `, `Don d'une valeur de 75 000$`, `Politique d'intégration des arts à l'architecture et à l'environnement`, `Politique d'intégration des arts à l'architecture et à l'environnement pour la Bibliothèque de l'Étang-du-Nord`, `vide`)
`funders` personnes ou institutions ayant participé au financement de l'oeuvre
30/31 sont vide, l'autre est `Fonds amassés grâce au programme «Mieux consommer» d'Hydro-Québec.`
`categories_fr` discipline à l'intérieur du champ des arts visuels
SET(`multimédia; photographie`, `peinture`, `photographie`, `Relief`, `sculpture`, `techniques mixtes`, `Vitrail`, `vide`)
`dimensions` dimensions de l'oeuvre
transformer avec un regex pour separer les chiffres
- en plusieurs formats
- a,aa x b,bb m
- a x b pieds
- a x b x c cm
- a x b cm
25/31 sont vides
`techniques_fr` type d'intervention réalisée sur le matériau
SET (`Moulage`, `thermoformage ; moulage`, `vide`)
29/31 sont vides
`materials_fr` matériaux dont est constituée l'oeuvre
listes sont delimitées par des `;`
SET(`aluminium`, `aluminium naturel et peint`, `aluminium; acier inoxydable`, `Béton`, `béton `, `bois`, `Bois `, `bronze ; `, `bronze ; pierre`, `bronze; acier inoxydable; béton`, `céramique ; cuivre ; bois`, `impression numérique`, `impression numérique sur verre`, `impression sur panneaux composites d'aluminium`, `Laiton, Ardoise`, `Panneau de gypse ; Cuivre ; Bois ; Métal ; Os de baleine ; Ficelle ; Plan de bateau ; Acrylique ; Toile récupérée`, `sable naturel ; résine`, `Verre`, `vide`)
éléments individuels (espaces supflues enlevées et en miniscule) SET(`acier inoxydable`, `acrylique`, `aluminium`, `aluminium naturel et peint`, `ardoise`, `béton`, `bois`, `bronze`, `céramique`, `cuivre`, `ficelle`, `impression numérique`, `impression numérique sur verre`, `impression sur panneaux composites d'aluminium`, `laiton`, `métal`, `os de baleine`, `panneau de gypse`, `pierre`, `plan de bateau`, `résine`, `sable naturel`, `toile récupérée`, `verre`)
`latitude, longitude` : latitude et longitude en degré décimal permettant la localisation exacte de l'oeuvre
les coordonnées sont dans la forme`"47.38018904933991, -61.8573516107404"`
separer en deux champs pour tranformer dans le type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(latitude, longitude)`
ou essayer la fonction [ST_PointFromText](https://mariadb.com/kb/en/st_pointfromtext/)
`address` adresse postale du lieu dans lequel, sur lequel ou autour duquel se trouve l'oeuvre
format varié - la plupart d'entrées n'ont pas de code postale
`place_fr` nom du lieu dans lequel, sur lequel ou autour duquel se trouve l'oeuvre
SET(`Aménagement portuaire de l'anse de l'Étang-du-Nord`, `Auberge La Salicorne`, `Bibliothèque de l'Île-du-Havre-Aubert`, `Bibliothèque du Havre-aux-Maisons`, `Bibliothèque Jean-Lapierre – Maison de la culture de Havre-aux-Maisons (initialement à la Bibliothèque de l'Étang-du-Nord, avant que celle-ci ferme ses portes)`, `Bureau d'accueil et d'information touristique des
Îles-de-la-Madeleine`, `Bureaux municipaux et salle communautaire`, `Cégep de la Gaspésie et des Îles`, `centre d'interprétation du phoque`, `Centre de santé et services sociaux des Îles`, `Centre de services et d'innovation de l'aquaculture et des pêches du Québec`, `Centre multisport Desjardins`, `CLSC de Cap-aux-Meules`, `Gare maritime Les-Îles-de-la-Madeleine`, `Hôpital de l'Archipel`, `Maison de la culture de Havre-aux-Maisons`, `Musée de la Mer`, `Place des gens de mer`, `vide`)
`directions_fr` instructions pour aider à trouver l'oeuvre
SET(`à côté de la salle 0410`, `à l'entrée du centre d'interprétation du phoque`, `à l'entrée du CHSLD`, `aux plafonds des 1e et 2e étages`, `dans l'entrée`, `dans le hall d'entrée`, `dans le hall d'entrée, au plafond`, `devant l'entrée du musée`, `devant la polyvalente`, `en deux parties, dans l'entrée du centre multifonction`, `situé à l'extérieur, à côté de la fromagerie`, `situé dans la cour arrière du musée`, `située après l'accueil`, `située dans une salle à l'étage`, `sur la palissade`, `Sur un mur extérieur`, `vide`)
`accessibilities_fr` : indique si l'oeuvre se trouve à l'intérieur ou à l'extérieur
SET(`situé à l'extérieur`, `situé à l'intérieur`, `situé à l’intérieur`, `vide`)
`'` et `’` différents dans l'intérieur
<a name='ArtPubMtl'></a>
## ArtPubMtl
```
CREATE TABLE artpubmtl (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`slug` VARCHAR(MAX),
`title` VARCHAR(MAX) NOT NULL,
`permalink` VARCHAR(MAX),
`year` YEAR NOT NULL,
`lat` DECIMAL(38, 6) NOT NULL,
`lon` DECIMAL(38, 6) NOT NULL,
`artist_names` VARCHAR(MAX) NOT NULL,
`thumb` VARCHAR(MAX) NOT NULL,
`infoBox` BOOLEAN,
`cat_color` VARCHAR(7),
`env` VARCHAR(50),
`singleArtwork` BOOLEAN
);
```
pas de réf zotero
J'ai mis MAX pour VARCHAR, car ce n'est pas possible de trouver la longueur maximale des champs sans des données complètes.
- résultats du crawler pas stockés
- exemple fiche tiré de https://artpublicmontreal.ca/oeuvre/revolutions/ /html/body/div/div[2]/div[2]/div[4]
(juste après div ap-data)
- [slug](https://developer.mozilla.org/fr/docs/Glossary/Slug) est la partie de l'URL qui l'identifie uniquement, il est lu par le crawlers comme mot-clé
- l'encodage des caractères (comme \u00e9 pour é) doit être examiné si MariaDB ne le traite automatiquement
- infoBox - c'est quoi?
- cat_color est une code couleur
- #e50f09 est pour le rouge vif (probablement ce qui est utilisé dans le logo de la ville), je n'arrive pas à trouver une oeuvre avec une autre couleur
- les champs utilisés commencent à mapMarkers parce que les autres avant sont liés à la mise en page du site web
```
{"title":"R\u00e9volutions | Art Public Montr\u00e9al",
"thisUrl":"https:\/\/artpublicmontreal.ca\/oeuvre\/revolutions\/",
"body_class":"apm_artwork-template-default single single-apm_artwork postid-49569 apm lang-fr apm-imported-item apm-full-js nav-env-filters",
"query_hud":null,
"active_filter":null,https://artpublicmontreal.ca/oeuvre/revolutions/
"alternate_language_url":"https:\/\/artpublicmontreal.ca\/en\/oeuvre\/revolutions\/",
"clear_filter_collection":0,
"clear_filter_tour":"clear",
"data_attributes":{"data-view-type":"apm_artwork"},
"filter_root_url":"\/collection\/",
"artworkNav":false,
"mapMarkers":[
{"id":49569,https://artpublicmontreal.ca/oeuvre/revolutions/
"slug":"revolutions",
"title":"R\u00e9volutions",
"permalink":"https:\/\/artpublicmontreal.ca\/oeuvre\/revolutions\/",
"year":"2003",
"loc":{"lat":"45.523985","long":"-73.552731"},
"artist_names":"<span>Michel<\/span> <strong>De Broin<\/strong>",
"thumb":"https:\/\/artpublicmontreal.ca\/wp-content\/uploads\/imported\/1538_4399-150x150.jpg",
"infoBox":false,
"cat_color":"#e50f09",
"env":"outdoor",
"singleArtwork":true}]}
```
<a name='ArtPubLaval'></a>
## ArtPubLaval
```
CREATE TABLE artpubliclaval (
`OBJECTID` INT AUTO_INCREMENT PRIMARY KEY,
`MATERIAUX` VARCHAR(85) NOT NULL,
`EMPLACEMENT` VARCHAR(40) NOT NULL,
x DECIMAL(38, 13) NOT NULL,
y DECIMAL(38, 13) NOT NULL,
`INT_EXT` VARCHAR(9) NOT NULL,
`ACCESSIBILITE` VARCHAR(69) NOT NULL,
`SECTEUR` VARCHAR(21) NOT NULL,
`MODE_ACQUIS` VARCHAR(167),
`NO_ACCES` VARCHAR(17),
`ARTISTE` VARCHAR(41) NOT NULL,
`TITRE` VARCHAR(51) NOT NULL,
`ANNEE` YEAR NOT NULL,
`TYPE_ART` VARCHAR(22) NOT NULL
);
```
[lien réf zotero](https://www.zotero.org/groups/2261944/maison_mona/collections/A4ZV83NZ/items/DU5ZWNUU/item-list)
`MATERIAUX`
listes dans ce champ sont délimitées par `,` et `et`
SET(`à l’acrylique`, `acier`, `acier galvanisé`, `acier métal cuivreux`, `acier plaqué or`, `aérosol`, `alluminium`, `aluminium`, `béton`, `blanc`, `bois`, `brique`, `brique de magnésite`, `brique de terracota`, `brique de terracotta`, `bronze`, `calcaire`, `caoutchouc`, `carillon`, `ciment`, `composition pour choeur`, `contreplaqué`, `cuivre`, `dispositif d’éclairage`, `dispositif d’éclairage au del`, `dispositif d’éclairage au néon`, `en aérosol`, `encre`, `engobe`, `fer`, `fibre de verre`, `glaçure`, `granit`, `granite`, `granite noir`, `granite rose`, `grès`, `haie d’arbustes`, `huile sur toile`,
`laiton`,
`marbre`,
`miroir`,
`panneau de bois`,
`peinture à l’acrylique`,
`peinture à l’acrylique sur toile`,
`peinture à l’huile`,
`peinture à l’huile sur toile`,
`peinture acrylique`,
`peinture acrylique pour extérieur`,
`peinture aérosol`,
`peinture extérieure au latex`,
`peinture industrielle`,
`photographie numérique sur acrylique`,
`photographie numérique sur aluminium`,
`photographie numérique sur polyester`,
`pierre`,
`pierre volcanique`,
`huile sur toile`, `laiton`, `marbre`, `miroir`, `panneau de bois`, `peinture à l’acrylique`, `peinture à l’acrylique sur toile`, `peinture à l’huile`, `peinture à l’huile sur toile`, `peinture acrylique`, `peinture acrylique pour extérieur`, `peinture aérosol`, `peinture extérieure au latex`, `peinture industrielle`, `photographie numérique sur acrylique`, `photographie numérique sur aluminium`, `photographie numérique sur polyester`, `pierre`, `pierre volcanique`, `porcelaine`, `smalti`, `sphère de verre`, `spray`, `tapisserie`, `terre`, `tiges d’acrylique`, `vernis`, `verre`, `verre soufflé`, `vidéo`)
`EMPLACEMENT`
SET(`Aréna Cartier`, `Aréna Chomedey`, `Aréna Hartland-Monahan`, `Aréna Mike-Bossy`, `Berge des cageux`, `Bibliothèque Gabrielle-Roy`, `Bibliothèque Germaine-Guèvremont`, `Bibliothèque Laure-Conan`, `Bibliothèque Multiculturelle`, `Bibliothèque Philippe-Panneton`, `Bibliothèque Sylvain-Garneau`, `Bibliothèque Yves-Thériault`, `Borne de recharge Ultra rapide Cunard
`, `Centre communautaire de Sainte-Dorothée`, `Centre Communautaire Réjent-Martimbeau`, `Centre communautaire Saint-Joseph
`, `Centre Communautaire Vimont`, `Centre d'archives de Laval (CAL)`, `Centre d'interprétation de l'eau (CIEAU)`, `Centre de la Nature`,
`Centre de pratique artistique de Laval`,
`Chalet du Parc Marc-Aurèle-Fortin`,
`Halte de Champ-Libre`,
`Halte des Visiteurs`,
`Hôtel de Ville`,
`Maison des arts`,
`Monument Sainte-Jeanne-d'Arc`,
`Musée de la santé Armand-Frappier`,
`Parc Berthiaume-du-Tremblay`,
`Parc Cartier`,
`Parc Lausanne`,
`Parc Laval-Ouest`,
`Parc Rosaire-Gauthier (Parc du Marigot)`,
`Parc Saint-Norbert`,
`Pavillon du Bois-Papineau`,
`Place Bell`,
`Place Claude-Léveillée`,
`Stade Claude Ferragne`,
`Centre de la Nature`, `Centre de pratique artistique de Laval`, `Chalet du Parc Marc-Aurèle-Fortin`, `Halte de Champ-Libre`, `Halte des Visiteurs`, `Hôtel de Ville`, `Maison des arts`, `Monument Sainte-Jeanne-d'Arc`, `Musée de la santé Armand-Frappier`, `Parc Berthiaume-du-Tremblay`, `Parc Cartier`, `Parc Lausanne`, `Parc Laval-Ouest`, `Parc Rosaire-Gauthier (Parc du Marigot)`, `Parc Saint-Norbert`, `Pavillon du Bois-Papineau`, `Place Bell`, `Place Claude-Léveillée`, `Stade Claude Ferragne`)
`x` longitude en décimal
`y` latitude en décimal
tranformer dans le type [POINT](https://mariadb.com/kb/en/point/) avec `SET coordonnees = POINT(x, y)`
`INT_EXT` 2 valeurs (`Extérieur`, `Intérieur`)
`ACCESSIBILITE`
SET(`À visionner de la pénombre au levée du jour`, `Bibliothèque Germaine-Guèvremont, ascenseur`, `Bibliothèque Laure-Conan, rez-de-chaussée `, `Bibliothèque Multiculturelle, ascenseur`, `Bibliothèque Philippe-Panneton, rez-de-chaussée`, `Bibliothèque Sylvain-Garneau, rez-de-chaussée`, `Bibliothèque Yves-Thériault, rez-de-chaussée`, `Centre Communautaire Réjent-Martimbeau, hall d'entrée`, `Centre d'interprétation de l'eau`, `Diffusée chaque 6 décembre à 17h30`, `Libre accès selon l'horaire des parcs et espaces publiques en vigueur`, `Maison des arts, rampe d'accès et ascenseur`, `Pavillon du Bois-Papineau, rampe d'accès et ascenseur`, `Place Bell, rez-de-chaussée`, `Restreint, consulter le Centre d'archives de Laval`, `Selon l'horaire du musée`, `Selon l'horiaire - Rez-de-chaussée, escaliers et ascenceur`)
`SECTEUR`
SET(`Auteuil`, `Chomedey`, `Duvernay`, `Fabreville-Est`, `Fabreville-Ouest`, `Laval-des-Rapides`, `Laval-Ouest`, `Laval-sur-le-Lac`, `Pont-Viau`, `Saint-Vincent-de-Paul`, `Sainte-Dorothée`, `Sainte-Rose`, `Vimont`)
`MODE_ACQUIS` une description du procédé de l'acquisition
`NO_ACCES` numero d'Accession en format AAAB.ddd.ddd ou AAAA.ddd.ddd.d-dd
AAA trois premières lettres du nom de l'artiste
B première lettre du prénom de l'artiste
SET(`ALLP.001.001`, `BEAP.001.001`, `BERP.001.001`, `BERP.001.002`, `BOUS_001_001
`, `BRIJ.001.001.1-6`, `CANA.001.001.1-90`, `CARJ.001.002`, `CONR_001_001
`, `CORT.001.002.1-22`, `CORT.001.003.1-37`, `COTM.001.001.1-3`, `DAOS.001.002`, `DESC.001.001`, `DESE.001.001`, `DESP.001.001`, `DOPO.001.001`, `DUPP.001.001`, `DURM_001_001
`, `FIOG.001.006`, `FIOG.001.007.1-6`, `FIOG.001.008`, `FORL.001.001`, `FOUP.001.001.1-4`, `FRAS.001.001`, `GIBP.001.001`, `GREC.001.001`, `GREP.001.001.1-12`, `HARF.001.001`, `HOAN_001_001
`, `HUEJ.001.002`, `INCO.003.001`, `LAND.001.001.1-10`, `LANR.001.001.1-5`, `LEBL.001.001`, `LEMC.001.001`, `LEME.002.001`, `LESR.001.001`, `LEVM.001.001`, `LORM.001.001`, `MESI.001.001`, `PHIC.001.001`, `ROBL.001.001.1-4`, `SOTR.001.001`, `STOJ.001.001`, `SZYM_001_001
`, `THEG.001.006.1-8`, `THEG.001.007.1-2`, `THEG.001.008`, `TOGL.001.006`, `ULMF.001.001`, `UNWJ.001.001`, `VALD.001.002.1-88`, `VAZB.001.001`, `vide`)
`ARTISTE` nom de l'artiste en forme `nom, prénom`; des binômes sont delimités avec les `;`ou le mot `et`
il y a une entrée marquée `artiste inconnu`
`TITRE` le titre «Vox non echo» contient beaucoup d'espaces vides,
`ANNEE` année minimum 1917, année maximum 2021
`TYPE_ART`
SET(`Dessin`, `Multimédia`, `Peinture/Murale`, `Peinture/murale `, `Sculpture/Installation`, `Textile`)