過去ログ

                                Page    1313
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼文字付連番結線の要望  hide 20/10/19(月) 15:33
   ┣Re:文字付連番結線の要望  kojima 20/10/19(月) 22:10
   ┗Re:文字付連番結線の要望  hide 20/10/20(火) 10:03

 ───────────────────────────────────────
 ■題名 : 文字付連番結線の要望
 ■名前 : hide
 ■日付 : 20/10/19(月) 15:33
 -------------------------------------------------------------------------
   以前、こんな外部変形があり、大変重宝しています。発言者の方々には、大変感謝しております。


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

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

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

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


タイトル】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}")}


例  c1,c2,c3,......
 とか、
   dd1、dd2、dd3、........
の様な文字付き連番数値の場合でも結線できるように改造できますでしょうか?
大変恐縮ですが、よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:文字付連番結線の要望  ■名前 : kojima  ■日付 : 20/10/19(月) 22:10  -------------------------------------------------------------------------
   @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
pause
goto end
#!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|
num_a=$&.to_i if a[2]=~/\d+/
num_b=$&.to_i if b[2]=~/\d+/
num_a<=>num_b
}
zahyo.each{|a,b,c|puts("#{a} #{b}")}
__END__
:end


又は


@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
pause
goto end
#!ruby
zahyo=[];zahyo2=[]
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+/
zahyo2<<[xy[1].to_f,xy[2].to_f,moji] if moji =~ /^[^\d]+\d+$/

end
end

zahyo.sort!{|a,b|
num_a=$&.to_i if a[2]=~/^\d+/
num_b=$&.to_i if b[2]=~/^\d+/
num_a<=>num_b
}

zahyo2.sort!{|a,b|
ch_a=$& if a[2]=~/^[^\d]+/
ch_b=$& if b[2]=~/^[^\d]+/
num_a=$&.to_i if a[2]=~/\d+/
num_b=$&.to_i if b[2]=~/\d+/

if ch_a == ch_b
num_a<=>num_b
else
ch_a<=>ch_b
end
}
zahyo.each{|a,b,c|puts("#{a} #{b}")}
zahyo2.each{|a,b,c|puts("#{a} #{b}")}
__END__
:end

 ───────────────────────────────────────  ■題名 : Re:文字付連番結線の要望  ■名前 : hide  ■日付 : 20/10/20(火) 10:03  -------------------------------------------------------------------------
    kojima様、大変ありがとうございます。
すごく感激しています。私は、外部変形を使って、図面を書くのが好きなので、大変うれしいです。
後半のプログラムのほうで、うまく処理できました。
この外部変形があれば、トータルステーションを使って平面測量をすれば、一括で結線ができるので、大幅な時間短縮ができます。恐縮な要望に対して、迅速に対応していただき大変有り難うございます。。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 1313