Aller au contenu

Messages recommandés

Posté

Bonjour à tous,

 

Pour archiver mes notes d'observation, j'utilise Observation Manager. Il a des bons côtés, comme le fait d'être utilisable sur n'importe quelle plateforme ou d'être libre, mais il en a aussi des moins bons qui commencent gentiment à me taper sur le système : interface lourdingue, impossibilité nativement de grouper toutes les observations d'un même objet, et bien que le format de données libre rende possible sur le papier d'exploiter les données à l'aide d'autres outils, l'usage de cette horreur sans nom (ou "merde" d'après Linus Torvalds) qu'est XML rend la chose particulièrement pénible dans les faits.

 

Je suis donc à la recherche d'une alternative, et je me dis qu'à l'heure actuelle il ne devrait pas être trop difficile de faire mieux que des fiches papier, des feuilles de calcul ou des fichiers XML.

 

Comment faites-vous pour archiver vos notes d'observations?

Posté

 

Comment faites-vous pour archiver vos notes d'observations?

J'ai mes calepins sur lesquels j'ai annoté succinctement mes notes d'observations, puis les CROAs que je publie sur Webastro.

 

Dans quelques temps j'envisage de rassembler mes objets étudiés sur un banal traitement de texte, Writer de Libre Office sera parfait.

Posté

Bonjour

pas de réponse à ta question mais j'ai rajouté "Observation Manager" aux logiciels astro

sûr qu'il a quelques lourdeurs, mais on doit pouvoir s'y faire

l'interface avec CdC marche plutôt bien

Posté
J'ai mes calepins sur lesquels j'ai annoté succinctement mes notes d'observations, puis les CROAs que je publie sur Webastro.

 

Dans quelques temps j'envisage de rassembler mes objets étudiés sur un banal traitement de texte, Writer de Libre Office sera parfait.

Quitte à utiliser un ordinateur, j'aimerais autant pouvoir utiliser des fonctions de classement (par objet, par sessions, par lieu, par saison, etc...)

Bonjour

pas de réponse à ta question mais j'ai rajouté "Observation Manager" aux logiciels astro

sûr qu'il a quelques lourdeurs, mais on doit pouvoir s'y faire

l'interface avec CdC marche plutôt bien

En fait, l'interface d'entrée des observations est plutôt pas mal dans Observation Manager, c'est plutôt la présentation des données qui me pose problème. En particulier j'aimerais pouvoir classer mes observations par objets, et les imprimer sur papier pour les ramener la nuit à côté du télescope. J'ai passé quelques heures ces dernières jours à essayer de me dépatouiller avec des fichiers XML/XSL/XSD, mais il doit y avoir un truc qui m'échappe car j'ai plutôt l'impression de pédaler dans la semoule; j'ouvrirai peut-être un autre fil, il y a peut-être des pros de la représentation de données XML par ici.

 

Et sinon que fait CdC avec les données d'Observation Manager? Il les affiche dans la description des objets?

Posté

Et sinon que fait CdC avec les données d'Observation Manager? Il les affiche dans la description des objets?

quand tu as choisi un objet, tu vas dans le menu "extensions/cartes du ciel", il ouvre ce dernier et lui fait pointer l'objet

il doit faire d'autres trucs mais comme je ne m'en suis servi que 5 mn, j'ai pas tout vu :D

Posté (modifié)

Bon, je me suis entêté un peu, j'ai lu un peu de doc au sujet de XSLT et XPATH (c'est en fait plus intéressant que ça en a l'air!) et j'ai pu finalement arriver à mes fins, à savoir une liste de mes observations classées par objets, tout ça dans le but de l'imprimer pour la ramener à côté du télescope.

 

Un exemple de ce que ça donne :

14751-1506694487.jpg

 

Pour éviter des prises de têtes à d'éventuels intéressés, je mets ci-dessous le code permettant de générer tout ça.

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- nom de fichier : transform_fr.xsl

    Ce fichier XSL sert à présenter les observations astronomiques d'Observation Manager sous forme de liste compacte où les observations sont groupées par objet.
    Le format de sortie est un fichier HTML, qui peut ensuite être imprimé pour consultation à côté du télescope.

    Installation : Dans le dossier d'Observation Manager, se rendre dans le répertoire xsl, y créer un nouveau sous-répertoire et le nommer par ex. "Classement par objets"
                   puis copier le présent fichier dans ce sous-répertoire. 
                   Important : le nom du fichier doit être transform_fr.xsl

    Usage : Dans Observation Manager, aller dans le menu "Options -> Préférences". Dans l'onglet "Général", sous "Style XSL" choisir le répertoire créé auparavant et contenant le fichier transform_fr.xsl
            Pour créer le fichier HTML, aller dans "Fichier -> Exporter au format HTML"
-->

<!-- Templates servant au formatage des angles et dates-->
<xsl:template name="formatHHMM">
 <xsl:param name="node"/>                
 <xsl:param name="hrs"><xsl:value-of select='floor($node div 15)'/></xsl:param>
 <xsl:param name="hrs_rest"><xsl:value-of select='$node - ($hrs * 15)'/></xsl:param>
 <xsl:param name="minutes"><xsl:value-of select='floor($hrs_rest * 60 div 15)'/></xsl:param>
 <xsl:param name="minutes_rest"><xsl:value-of select='$hrs_rest - ($minutes div 60 * 15)'/></xsl:param>
 <xsl:param name="sec"><xsl:value-of select='round($minutes_rest * 3600 div 15)'/></xsl:param>
 <result><xsl:value-of select="$hrs"/>h <xsl:if test="$minutes < 10">0</xsl:if><xsl:value-of select="$minutes"/>mn <xsl:if test="$sec  < 10">0</xsl:if><xsl:value-of select="$sec"/>s</result>
</xsl:template>

<xsl:template name="formatDDMM">
 <xsl:param name="node"/>
 <xsl:if test='$node < 0'> 
 <xsl:call-template name="formatDDMM_lower">
 <xsl:with-param name="node" select="$node"/>
 </xsl:call-template>
 </xsl:if>
 <xsl:if test="$node > 0 or $node = 0">
   <xsl:call-template name="formatDDMM_higher">
     <xsl:with-param name="node" select="$node"/>
   </xsl:call-template>
 </xsl:if> 
</xsl:template>      

<xsl:template name="formatDDMM_lower">
 <xsl:param name="node"/>
 <xsl:param name="abs_degrees"><xsl:value-of select='- $node'/></xsl:param>
 <xsl:param name="degs"><xsl:value-of select='floor($abs_degrees)'/></xsl:param>				
 <xsl:param name="degs_rest"><xsl:value-of select='$abs_degrees -  $degs'/></xsl:param>
 <xsl:param name="minutes"><xsl:value-of select='floor(60 * ($degs_rest))'/></xsl:param>
 <xsl:param name="minutes_rest"><xsl:value-of select='$degs_rest - ($minutes div 60)'/></xsl:param>
 <xsl:param name="sec"><xsl:value-of select='round($minutes_rest * 3600)'/></xsl:param>
 <result>-<xsl:value-of select="$degs"/><xsl:text>° </xsl:text><xsl:if test="$minutes < 10">0</xsl:if><xsl:value-of select="$minutes"/><xsl:text>' </xsl:text><xsl:if test="$sec < 10">0</xsl:if><xsl:value-of select="$sec"/><xsl:text>"</xsl:text></result>
</xsl:template>     

<xsl:template name="formatDDMM_higher">
 <xsl:param name="node"/>
 <xsl:param name="degs"><xsl:value-of select='floor($node)'/></xsl:param>				
 <xsl:param name="degs_rest"><xsl:value-of select='$node -  $degs'/></xsl:param>
 <xsl:param name="minutes"><xsl:value-of select='floor(60 * ($degs_rest))'/></xsl:param>
 <xsl:param name="minutes_rest"><xsl:value-of select='$degs_rest - ($minutes div 60)'/></xsl:param>
 <xsl:param name="sec"><xsl:value-of select='round($minutes_rest * 3600)'/></xsl:param>
 <result><xsl:value-of select="$degs"/><xsl:text>° </xsl:text><xsl:if test="$minutes < 10">0</xsl:if><xsl:value-of select="$minutes"/><xsl:text>' </xsl:text><xsl:if test="$sec < 10">0</xsl:if><xsl:value-of select="$sec"/><xsl:text>"</xsl:text></result>
</xsl:template>   

<xsl:template name="FormatDate">
 <xsl:param name="DateTime" />
 <xsl:variable name="year" select="substring($DateTime,1,4)" />
 <xsl:variable name="month-temp" select="substring-after($DateTime,'-')" />
 <xsl:variable name="month" select="substring-before($month-temp,'-')" />
 <xsl:variable name="day-temp" select="substring-after($month-temp,'-')" />
 <xsl:variable name="day" select="substring($day-temp,1,2)" />
 <xsl:variable name="time" select="substring-after($DateTime,'T')" />
 <xsl:value-of select="$day"/>
 <xsl:value-of select="'.'"/> <!--18.-->
 <xsl:value-of select="$month"/>
 <xsl:value-of select="'.'"/> <!--18.03.-->
 <xsl:value-of select="$year"/>
 <xsl:value-of select="' '"/> <!--18.03.1976 -->
</xsl:template>

<!-- Template principal construisant la page HTML-->
<xsl:template match="/">
 <html>
   <head>
     <TITLE>Observations classées par objet</TITLE>
   </head>
   <body>
     <div style="font-family:Verdana, Arial"><center><h1>Observations classées par objet</h1></center></div>
     <div style="font-family:Verdana, Arial;">
       <xsl:for-each select="//targets/target">
       <!-- Boucle sur tous les objets observés -->
         <xsl:sort select="position/ra" data-type="number"/>  <!-- Classement par ascension droite -->
         <xsl:variable name="current" select="@id"/>  <!-- Mémorisation de l'objet actuel, pour la boucle sur les observations -->
         <div>
           <h4><xsl:value-of select="name"/> 
             <xsl:if test="count(alias)>0">  alias <xsl:value-of select="alias"/></xsl:if>
             <span> - </span>
             <!-- Affichage du type d'objet -->
             <xsl:choose>
               <xsl:when test="@type='oal:deepSkyGX'">Galaxie</xsl:when>
               <xsl:when test="@type='oal:deepSkyGC'">Amas globulaire</xsl:when>
               <xsl:when test="@type='oal:deepSkyGN'">Nébuleuse diffuse</xsl:when>
               <xsl:when test="@type='oal:deepSkyOC'">Amas ouvert</xsl:when>
               <xsl:when test="@type='oal:deepSkyPN'">Nébuleuse planétaire</xsl:when>
               <xsl:when test="@type='oal:deepSkyQS'">Quasar</xsl:when>
               <xsl:when test="@type='oal:deepSkyDS'">Étoile double</xsl:when>
               <xsl:when test="@type='oal:deepSkyDN'">Nébuleuse obscure</xsl:when>
               <xsl:when test="@type='oal:deepSkyAS'">Astérisme</xsl:when>
               <xsl:when test="@type='oal:deepSkySC'">Nuage stellaire</xsl:when>			
               <xsl:when test="@type='oal:deepSkyMS'">Système d'étoiles multiples</xsl:when>
               <xsl:when test="@type='oal:deepSkyCG'">Amas de galaxies</xsl:when>
               <xsl:when test="@type='oal:variableStarTargetType'">Étoile variable</xsl:when>
               <xsl:when test="@type='oal:SunTargetType'">Soleil</xsl:when>
               <xsl:when test="@type='oal:MoonTargetType'">Lune</xsl:when>
               <xsl:when test="@type='oal:PlanetTargetType'">Planète</xsl:when>
               <xsl:when test="@type='oal:MinorPlanetTargetType'">Objet mineur</xsl:when>
               <xsl:when test="@type='oal:CometTargetType'">Comète</xsl:when>
               <xsl:when test="@type='oal:UndefinedTargetType'">(Objet indéterminé)</xsl:when>
               <xsl:otherwise>(Type non précisé)</xsl:otherwise>
             </xsl:choose>           
             <span> - </span>
             <xsl:value-of select="constellation"/><xsl:if test="count(constellation)=0"> sans constellation </xsl:if>
             <!-- Formatage et affichage des coordonnées de l'objet -->
             <xsl:if test="boolean(position/ra)">
               <span> - </span>
               <xsl:call-template name="formatHHMM">
                 <xsl:with-param name="node" select="position/ra"/>
               </xsl:call-template>
               <span> / </span>
               <xsl:call-template name="formatDDMM">
                 <xsl:with-param name="node" select="position/dec"/>
               </xsl:call-template>
             </xsl:if>
           </h4>
           <ul>
             <xsl:for-each select="//observation[target=$current]">
             <!-- Boucle sur les observations : on ne garde que les observations concernant l'objet de la boucle précédente -->
             <!-- Cf http://www.tizag.com/xmlTutorial/xpathtutorial.php pour une description du format XPATH -->
               <xsl:sort select="begin"/>  <!-- classement par date -->
               <!-- Mémorisation de quelques variables servant à récupérer les lieux et télescopes utilisés -->
               <xsl:variable name="sessionid" select="session"/>
               <xsl:variable name="siteid" select="//sessions/session[@id=$sessionid]/site"/>
               <xsl:variable name="scopeid" select="scope"/>
               <li>
                 <b>Observation du 
                 <!-- Affichage et formatage de la date -->
                 <xsl:call-template name="FormatDate">
                   <xsl:with-param name="DateTime" select="substring-before(begin, 'T')"/>
                 </xsl:call-template>
                 <!-- Affichage du lieu -->
                 à <xsl:value-of select="//sites/site[@id=$siteid]/name"/> 
                 <!-- Affichage du télescope -->
                 avec <xsl:value-of select="//scopes/scope[@id=$scopeid]/vendor"/>  <xsl:value-of select="//scopes/scope[@id=$scopeid]/model"/>
                 </b>
                 <!-- Et finalement affichage du texte de l'observation -->
                 <br/><xsl:value-of select="result/description"/>
               </li>
             </xsl:for-each>
           </ul>
         </div>
         <hr/>
       </xsl:for-each>
     </div>
   </body>
 </html>
</xsl:template>
</xsl:stylesheet>

 

 

Edit : correction d'un bug dans le code faisant que les objets n'étaient pas tous correctement classés par ascension droite.

Modifié par julon2000
Posté

Julon2000> super travail ! J'utilise obsmanager pour stocker mes observations et ta version de sortie est épatante ! Merci pour ce partage :D

Posté
Julon2000> super travail ! J'utilise obsmanager pour stocker mes observations et ta version de sortie est épatante ! Merci pour ce partage :D

Merci, tant mieux si ça peut servir à d'autres. Et d'autant plus si c'est pour consigner des observations de l'extrême telles que les tiennes :)

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.