Indexへ
(11808)//【11812】→(11814)
------------------------
【タイトル】連番結線
【記事番号】 11812 (*)
【 日時 】08/01/19 18:05
【 発言者 】杉下

いつもお世話になってます。

たとえば1〜100まで連番(半角英数字)が記入してあり、その文字左下を連続線で昇順(降順でも同じですが)に結びたいのですが...。

そんな外部変形どなたかご存じないですか?
用途は測量してきた座標を何百点か図上に展開したのですが、これを点番で結線したいというものです。手作業でやれと言われればそれまでなんですが。


Indexへ
(11812)←【11814】→(11815)
------------------------
【タイトル】Re(1):連番結線
【記事番号】 11814 (11812)
【 日時 】08/01/19 18:55
【 発言者 】joker
【 リンク 】http://jwwfaq.undo.jp/



▼杉下さん:
>たとえば1〜100まで連番(半角英数字)が記入してあり、その文字左下を連続線で昇順(降順でも同じですが)に結びたいのですが...。
>
>そんな外部変形どなたかご存じないですか?
>用途は測量してきた座標を何百点か図上に展開したのですが、これを点番で結線したいというものです。手作業でやれと言われればそれまでなんですが。

外部変形は知りませんが、とりあえず、基本機能でやるとすれば、

その他|座標ファイル
[ファイル書込]クリック
文字を選択
不要な線などを省くため、[<属性選択>]クリックして 文字指定してOK
[基準点変更]クリックし、分かり易い点を拾う
[選択確定]
エクセルを起動して、ファイル|開く ファイルの種類を「テキストファイル」にして、「C:\JWW\ZTEMP.TXT」を指定し、「カンマやタブなど〜」にチェックして[次へ]、区切り文字にスペースをチェックして[次へ]、[完了]
文字(cn)の行の分を範囲選択して、列Fで並べ替えし、列B,Cの部分を範囲選択してコピーし、エクセル終了

JWWで、座標ファイル機能の、[新規ファイル]をクリックし、貼り付け。
閉じて、保存、C:\JWW\ZTEMP.TXTに上書き。
[ファイル読込]
線属性で点線を選択し、配置点(先に指定した基準点)指定

完了

でしょうか。
そういう目的の外部変形があればもっと楽だと思いますが取りあえず。


Indexへ
(11814)←【11815】→(11816)
------------------------
【タイトル】Re(1):連番結線
【記事番号】 11815 (11812)
【 日時 】08/01/19 20:30
【 発言者 】コジマ

▼杉下さん:
>いつもお世話になってます。
>
>たとえば1〜100まで連番(半角英数字)が記入してあり、その文字左下を連続線で昇順(降順でも同じですが)に結びたいのですが...。
>
>そんな外部変形どなたかご存じないですか?
>用途は測量してきた座標を何百点か図上に展開したのですが、これを点番で結線したいというものです。手作業でやれと言われればそれまでなんですが。

こんな使い方を想像したこともないので、作らないと無いでしょう。
外部変形自体は、20行足らずで出来ます。


◎バッチファイル
以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。

@REM 文字基点を昇順に連続線で接続
@echo off
REM #jww
REM #cd
REM #h3
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
exit
#!ruby
zahyo=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^ch/
        moji=$'.chomp if $_ =~ /\"/
        zahyo<<[xy[1].to_f,xy[2].to_f,moji] if moji =~ /^\d+$/
    end
end
zahyo.sort!{|a,b|a[2]<=>b[2]}
zahyo.each{|a,b,c|puts("#{a} #{b}")}


Indexへ
(11815)←【11816】→(11817)
------------------------
【タイトル】Re(2):訂正
【記事番号】 11816 (11815)
【 日時 】08/01/19 20:41
【 発言者 】コジマ

文字列のソートは、
8 9 10 の並びではなく
10 8 9 の並びになるようです。

整数値変換ソートに訂正します。

◎バッチファイル
以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。


@REM 文字基点を昇順に連続線で接続
@echo off
REM #jww
REM #cd
REM #h3
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
exit
#!ruby
zahyo=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^ch/
        moji=$'.chomp if $_ =~ /\"/
        zahyo<<[xy[1].to_f,xy[2].to_f,moji.to_i] if moji =~ /^\d+$/
    end
end
zahyo.sort!{|a,b|a[2]<=>b[2]}
zahyo.each{|a,b,c|puts("#{a} #{b}")}


Indexへ
(11816)←【11817】//(11825)
------------------------
【タイトル】Re(3):訂正
【記事番号】 11817 (11816)
【 日時 】08/01/19 21:01
【 発言者 】杉下

▼コジマさん:
ありがとうございます!ヽ(^◇^*)/

先のスクリプトでは1−10と結線されましたが、今回はバッチリでした。
しかも間の数値が飛んでも大丈夫なんですね!!

重ねて、ありがとうございます!!
大切に使わせていただきますm(__)m

▼jokerさん:
家にExcel無いので明日仕事場でやってみます。
Excelなんて思いもしませんでした。奥深いですね。