# -*- coding: utf-8 -*-
# 高度メッシュCSVを縦横共に間引く
import sys
import re

# 入力ファイルと出力ファイルを読み取る
args = sys.argv     # 引数取得
if (len(args) < 5): # 足りなかったら終了
    print ("[usage] weedout.py filename x-weedout y-weedout output-filename")
    sys.exit()
filename=args[1]    # 標高ファイル
xstep=int(args[2])  # まとめる幅
ystep=int(args[3])  # まとめる高さ
ofilename=args[4]   # 標高ファイル

# ファイル準備
incsv=open(filename)
outcsv=open(ofilename,'w')

# ヘッダの一部修正と出力
for cnt in range(0,6):
    line=incsv.readline()
    dat=line.rstrip('\r\n')
    if (cnt<4):		# 緯度経度はそのまま出力
    	outcsv.write(dat+'\n')
    elif (cnt==4):	# 経度のメッシュ密度
    	xband=int(dat)
	outcsv.write(str(int(xband/xstep))+'\n')
    elif (cnt==5):	# 緯度のメッシュ密度
    	yband=int(dat)
	outcsv.write(str(int(yband/ystep))+'\n')

# 標高データを間引いて出力
x=0
y=0
for vcnt in range(0,xband*yband):
    line=incsv.readline()
    # まとまりで唯一のデータを出力
    if ((x%xstep)==0):
        if ((y%ystep)==0):
            print('{0}'.format(line),end="")
    # データの進行
    x=x+1
    if (x>=xband):
        x=0
        y=y+1
        if (y>=yband):
            break

# ファイル閉じる
outcsv.close()
incsv.close()

sys.exit()

