2010-03-30 3 views
1

J'utilise IBM-Informix pour mon projet d'école dans le cadre de l'activité «Informix sur le campus» animée par IBM.IBM Informix Spatial datablade Fonction LIneFromText

cependant il me donne l'erreur comme "(USE31) - Trop peu de points pour le type de géométrie dans ST_LineFromText.", Dans la deuxième fonction linefromtext.

+0

hai .. utilisez le cinquième bouton dans l'éditeur pour envelopper votre code. – changed

+0

N'importe quelle chance d'obtenir vos données d'exemple - j'ai installé Spatial 8.21.FC3, maintenant - et j'ai été capable de créer la table. Déposez-moi un message à l'adresse e-mail dans mon profil, s'il vous plaît ... –

+0

Bonjour M. Leffler, je vous ai envoyé les données et mon autre question. Je voulais juste savoir si vous recevez mes mails? S'il vous plaît, faites-moi savoir. – swatit

Répondre

0

Le problème dans le deuxième appel à ST_LineFromText() est que vous essayez de lui passer des paramètres, ce qui n'est pas possible. Vous avez:

ST_LineFromText('linestring (0 0,v1.pre 0,v1.pre v1.post,0 v1.post,0 0)',5) 

La chaîne contient « v1.pre » qui est pas valide, etc. Si vous devez paramétrer votre requête, vous devez soit pour générer la chaîne avec ces valeurs en place, ou vous besoin d'utiliser une méthode différente. Une solution brute mais possible est la suivante:

ST_LineFromText('linestring (0 0,' || v1.pre || ' 0,' || v1.pre || ' ' || 
       v1.post || ',0 ' || v1.post || ',0 0)', 5) 

Cela peut ne pas faire le travail - mais illustre le problème.

+0

Merci beaucoup, monsieur Leffler, pour votre réponse. Merci pour le formatage de ma question, étant nouveau sur ce site, je n'étais pas du tout conscient de la mise en forme. Je suis vraiment désolé pour votre désagrément. Oui, je comprends que le problème est dans les paramètres de la fonction linestring. Comme vous l'avez dit, mon exigence est de paramétrer la fonction linestring ou de construire un polygone à partir de paramètres. Je ne peux pas passer les paramètres fixes. Si je change ces v1.pre et v1.post dans la fonction linestring à quelques valeurs entières, cela fonctionne très bien. – swatit

+0

[Suite ..] Mais je ne peux pas toujours faire ça. Mes paramètres de fonctions de lignes de lignes sont définis lors de l'exécution. Pouvez-vous s'il vous plaît me guider comment pouvons-nous construire un polygone lorsque les coordonnées du polygone sont basées sur le résultat de la partie précédente de la même requête. Ou tout simplement nous ne pouvons pas le faire, c'est-à-dire que le polygone nécessite un ensemble fixe de coordonnées? J'ai essayé la requête que vous avez suggérée, mais cela ne fonctionne pas. J'espère que ma question est claire. J'apprécie toute votre aide et vos conseils! – swatit