User:Petrovsk/Astuces

From OpenStreetMap Wiki
Jump to navigation Jump to search

JOSM

Choisir la quantité de mémoire à allouer à JOSM sur Mac

Utiliser le Mac OSX JOSM package disponible sur le site de JOSM. En affichant le contenu du paquet dans le Finder (clic droit sur JOSM dans le dossier "Applications"), on peut accéder au fichier info.plist qui contient une ligne indiquant la quantité de mémoire à utiliser, comme en ligne de commande :

…
<key>VMOptions</key>
<string>-Xmx1200m</string>
…

Mettre à jour JOSM simplement

Il s'agit d'une part d'afficher le contenu du paquet comme indiqué ci-dessus, et d'autre part de glisser le nouveau josm-tested.jar téléchargé dans le dossier "Contents/Resources/Java".

Qgis

La table n'a pas de colonne utilisable en tant que clé

Lorsque Qgis indique l'erreur suivante :

La table n'a pas de colonnes utilisable en tant que clé.
Quantum GIS requiert que la table ai soit une colonne de type int4
avec une contrainte d'unicité (ce qui inclut la clé primaire), soit une
colonne oid PostgreSQL ou bien une colonne ctid avec une numérotation sur 16bits.

La solution est d'ajouter une colonne "gid" aux tables et une clé primaire sur cette colonne. Elle est à appliquer près un import initial avec osm2pgsql, la manipulation sera à refaire après chaque nouvel import initial.
Les tables à modifier sont planet_osm_line, planet_osm_point et planet_osm_polygon. Indice : elles sont au singulier.

Ma base de données s'appelle LR+ et appartient à l'utilisateur Petrovsk.

  • Avec le terminal :
psql --username 'Petrovsk' 'LR+'
alter table planet_osm_line add column "gid" serial;
alter table planet_osm_line add primary key (gid);
alter table planet_osm_point add column "gid" serial;
alter table planet_osm_point add primary key (gid);
alter table planet_osm_polygon add column "gid" serial;
alter table planet_osm_polygon add primary key (gid);
\q

Par défaut la base est gérée par l'utilisateur postgres, il faut lui redonner son propriétaire.
Clic-droit sur le serveur dans la colonne de gauche, choisir propriétés et indiquer le nom d'utilisateur dans la case adéquate (ici Petrovsk).
Clic-droit sur la table "planet_osm_line" dans l'arborescence (base > schémas > public > tables), choisir ajouter un objet > ajouter une colonne. La nommer gid, choisir le type serial et cocher la case "non NULL", cliquer sur OK.
Il faut ensuite ajouter une clé primaire à la table d'après cette nouvelle colonne.
Clic-droit sur la table "planet_osm_line" dans l'arborescence (base > schémas > public > tables), choisir ajouter un objet > ajouter une clé primaire..., dans l'onglet colonnes choisir gid dans le menu déroulant, cliquer ajouter puis OK.
Recommencer pour les deux autres tables (planet_osm_point et planet_osm_polygon).

  • Avec PostGIS Manager (extension de Qgis) :

Choisir dans le menu database la base à modifier.
Sélectionner la table planet_osm_line et cliquer Edit table.
Dans l'onglet Columns, cliquer sur Add column, indiquer gid pour Name, choisir serial pour Type et décocher la case Can be NULL, cliquer sur OK.
Dans l'onglet Constraints, cliquer sur Add primary key / unique, sélectionner gid dans le menu déroulant, choisir le bouton radio Primary key et cliquer sur OK.
Recommencer pour les deux autres tables (planet_osm_point et planet_osm_polygon).

Garmin BaseCamp

Plusieurs cartes dans BaseCamp ?

BaseCamp ne peut afficher deux cartes de même family-id. Par défaut, mkgmap crée des cartes de family-id 42, il s'agit de lui demander d'en assigner un autre en ajoutant --family-id=41 (par exemple) à sa ligne de commande.
Si votre carte possède plusieurs couches, cela semble ne concerner que la couche principale. Dans ma configuration habituelle j'ai accès à trois cartes différentes de family-id 42, 41 et 40 associées chacune à une couche de lignes de niveau de family-id 45 sans problème.
Si vos couches sont personnalisées par des fichiers TYP, il faut penser à en créer des copies avec le bon family-id à l'aide de cet éditeur en ligne.

Modifier le fichier TYP d'une carte BaseCamp (OS X)

Lorsque l'on modifie un fichier TYP, l'idéal serait de pouvoir appliquer la nouvelle version sans devoir recréer la carte avec mkgmap. C'est possible dans OS X en suivant cette procédure :
Les cartes de BaseCamp sont stockées dans ce dossier :

/Users/<nom_de_l'utilisateur>/Library/Application Support/Garmin/Maps

En faisant un clic droit sur la carte (fichier .gmap), il est possible d'afficher le contenu du paquet. Dans la nouvelle fenêtre du Finder qui s'ouvre, le fichier TYP apparait en majuscules. Il suffit de renommer le fichier TYP modifié à l'identique et le glisser à la place du précédent. À la prochaine ouverture de BaseCamp, le nouveau fichier TYP sera utilisé.
Il est possible d'utiliser un fichier de nom différent en modifiant cette référence dans le fichier info.xml.