Annonce
L’ambition de ce blog est de parler géomatique aux urbanistes :
- les tenir au courant de ce qui évolue en rapport avec leur métier,
- vulgariser un certain nombre de concept SIG et les éclairer par leur prolongement en urbanisme,
- communiquer sur les initiatives intéressantes …
Ce blog est un espace d’échange qui doit permettre de présenter des travaux, des réflexions intéressantes, des initiatives en toute liberté, et avec de l’envie.Les idées d’articles ne manquent pas , et Aline, rédactrice principale de ce blog, compte sur le soutien et la participation de toutes les bonnes volontés, spécialistes de l’urbanisme, utilisateurs ou non de SIG.
Alors, réagissez, faites passer l’information, inscrivez le blog dans vos flux RSS …
Et rendez-vous la semaine prochaine pour un premier article intitulé “L’essentiel … sur la numérisation des PLU”.
L’équipe GeoRezo
#1 lun 14 décembre 2009 13:00
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Questions élémentaires concernant MapBaisc.
Je récupère un programme écrit par des étudiants.
Je vois le code suivant:
Code:
select * from buildingtype2 delete from buildingtype2 commit table buildingtype2
Ma premiere question est: est ce que le select * from buildingtype2 peut servir à quelquechose dans ce contexte?
La deuxième question le commit est il nécéssaire pour confirmer l'éffacement de buildingytype2?
Par ailleurs dans le code je vois ceci:
Code:
Dim tabname as string
tabname = SelectionInfo(SEL_INFO_SELNAME) ' selected table
if tabname ="" then ' check if selection was done
note "Please select again - no objects were selected"Ma question est plus difficile: apparemment SelectionInfo se réfère au dernier appel de Select, par effet de bord. Est ce que cet effet de bord est effacé par certains événements? Peut être le select * from buildings a comme but d'influencer le comportement de SelectionInfo.
Hors ligne
#2 lun 14 décembre 2009 13:11
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 aoû 2008
- Messages: 1257
Re: Questions élémentaires concernant MapBaisc.
Salut,
Il me semble que le premier code efface le contenu d'une table et non l'effacement de cette table.
La requète SQL pourrait être partielle et non totale.
Code:
select * from buildingtype2 where blabla into selection delete selection from buildingtype2 commit table buildingtype2
A+
Joël
Hors ligne
#3 lun 14 décembre 2009 13:16
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Re: Questions élémentaires concernant MapBaisc.
Merci mais,
Code:
Delete from buildingsType2
ne suffit il pas à effacer le contenu de la table?
Hors ligne
#4 lun 14 décembre 2009 13:18
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 aoû 2008
- Messages: 1257
Re: Questions élémentaires concernant MapBaisc.
Il manquerais un argument à delete -->(delete quoi?) un delete "all" from table peut être
je ne comprend pas bien ta question pour le 2éme code?
Dernière modification par Spacejo (lun 14 décembre 2009 13:19)
Hors ligne
#5 lun 14 décembre 2009 13:23
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 aoû 2008
- Messages: 1257
Re: Questions élémentaires concernant MapBaisc.
Oula je dis une bétise --> Tu as raison, je viens d'essayer dans la FMB --> celà efface bien toutes les entités mais la commande laisse les lignes vides.
Hors ligne
#6 lun 14 décembre 2009 13:26
- Maurice
- Moderateur
- Lieu: Montpellier
- Date d'inscription: 5 sep 2005
- Messages: 4878
Re: Questions élémentaires concernant MapBaisc.
Bonjour
Dans le premier code, le select * from buildingtype2 ne sert à rien: delete from buildingtype2 suffit à vider la table, vidage qui ne sera définitif qu'après le commit.... Ce delete annule la sélection en cours de la première ligne.
Dans le second code, SelectionInfo donne des renseignements sur la sélection en cours, qu'elle soit faite par requête ou par sélection à la souris...et dans MapInfo il y a toujours UNE SEULE sélection en cours
Hors ligne
#7 lun 14 décembre 2009 15:05
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Re: Questions élémentaires concernant MapBaisc.
Merci,
En ce qui concerne selectionInfo(SEL_INFO_SELNAME) ce n'est pas une sélection avec la souris qui a fait que la valeur de retour de cet appel soit autre chose que la chaine vide "". D'ailleurs j'ai impression que le bouton qui appelle ce code ne sert à rien, mais comme vous n'avez pas une vue d'ensemble ce que je viens de dire ne sont que des plaintes inutiles
. Je peux quand même vous dire qu'il me semble que ce bouton est censé être appelé après avoir fait une sélection avec la souris.
Hors ligne
#8 mar 15 décembre 2009 18:26
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Re: Questions élémentaires concernant MapBaisc.
Pemettez moi de vous poser une autre question.
J'ai une certaine nombre de régions représenté par des polygones dans une table.
Je veux calculer le rapport entre la surface des zones intérieures à moins de 6 metres des bords des régions
et la surface totale des régions.
Comment exprimer ceci en mapbasic?
Je sait que cela utilise un buffer négatif.
Dernière modification par feraudyh (mar 15 décembre 2009 18:29)
Hors ligne
#9 mar 15 décembre 2009 19:29
- Maurice
- Moderateur
- Lieu: Montpellier
- Date d'inscription: 5 sep 2005
- Messages: 4878
Re: Questions élémentaires concernant MapBaisc.
Il suffit d'indiquer un chiffre négatif (ici -6) comme largeur pour avoir un buffer "plus petit" que le polygone d'origine...
Hors ligne
#10 mar 15 décembre 2009 21:08
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Re: Questions élémentaires concernant MapBaisc.
Merci Maurice,
Le fait que j'utilise un buffer négatif, je sais dans la mesure où je l'ai lu dans un livre. Ce que je cherche c'est une ou deux lignes de MapBasic qui exprime ceci, pour récupérer la valeur dans une variable MapBasic.
Il faut savoir que j'ai très peu pratiqué MapInfo et que je ne m'en sers que passagèrement,
bien qu'on m'a payé une licence. Postgis par contre je connais assez bien et je saurais résoudre le problème en Postgis comme
Select ST_Area(ST_Buffer(the_geom, -6))/ST_Area(the_geom) from matable.
Mais je ne sais pas si ce genre de syntaxe fonctionne en MapBasic.
Hors ligne
#11 sam 19 décembre 2009 17:52
- feraudyh
- Membre
- Date d'inscription: 13 mai 2009
- Messages: 96
Re: Questions élémentaires concernant MapBaisc.
Au fait, j'ai résolu mon probleme concernant la surface des buffers. Ce qui m'a induit en erreur c'est qu'en PostGis il faut tout mettre dans la requete SQL tandisqu'en MapinFo on peut faire comme ceci:
Code:
dim spass as float spass = 0 Select * from Matable into sel fetch first from sel while not eot(sel) spass = spass+ Area(Buffer(sel.obj,20,-6,"m"),"sq m") fetch next from sel wend
Dernière modification par feraudyh (sam 19 décembre 2009 17:53)
Hors ligne
#12 sam 19 décembre 2009 18:05
- Maurice
- Moderateur
- Lieu: Montpellier
- Date d'inscription: 5 sep 2005
- Messages: 4878
Re: Questions élémentaires concernant MapBaisc.
Merci pour le suivi
ps: on apprend mieux en cherchant (surtout quand on trouve !
)
Hors ligne
#13 sam 19 décembre 2009 18:13
- Pierre Dolez
- Banni
- Date d'inscription: 14 aoû 2008
- Messages: 446
Re: Questions élémentaires concernant MapBaisc.
Bonjour,
On voit des bouts de codes dans toute sorte de langages.
La logique est naturellement toujours la même, mais les syntaxe diffèrent comme par plaisir.
Je me demande si ce ne serai pas une bonne idée de faire dans le wiki une sorte de comparatif.
Il ne s'agirait en aucun cas de jugement de valeur, mais pour quelques opérations fréquentes, le faire dans toutes les langues.
J'exclue de ces comparaisons les langages qui se résument à des macro instructions sur plus d'une cinquantaine de caractères.
Dans mon esprit, le but principal est d'éviter des recherches de "faute", comme c'est le cas dans ce sujet, alors qu'il ne s'agit généralement que de problèmes de syntaxe relatifs à des particularités de tel ou tel langage. Ces fautes sont d'autant plus difficiles à trouver qu'il s'agit d'interprétation et non de compilation.
Cordialement.
Hors ligne
#14 sam 19 décembre 2009 18:40
- Maurice
- Moderateur
- Lieu: Montpellier
- Date d'inscription: 5 sep 2005
- Messages: 4878
Re: Questions élémentaires concernant MapBaisc.
Pierre Dolez a écrit:
...Je me demande si ce ne serai pas une bonne idée de faire dans le wiki une sorte de comparatif...
Bonne idée.
Et c'est celui qui dit qu'y est ... ![]()
Hors ligne
