JP4203600B2 - Topographic data processing program - Google Patents

Topographic data processing program Download PDF

Info

Publication number
JP4203600B2
JP4203600B2 JP2005310575A JP2005310575A JP4203600B2 JP 4203600 B2 JP4203600 B2 JP 4203600B2 JP 2005310575 A JP2005310575 A JP 2005310575A JP 2005310575 A JP2005310575 A JP 2005310575A JP 4203600 B2 JP4203600 B2 JP 4203600B2
Authority
JP
Japan
Prior art keywords
data
line
point
contour
valley
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2005310575A
Other languages
Japanese (ja)
Other versions
JP2006091908A (en
Inventor
博子 水越
政武 安仁屋
Original Assignee
国土交通省国土地理院長
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国土交通省国土地理院長 filed Critical 国土交通省国土地理院長
Priority to JP2005310575A priority Critical patent/JP4203600B2/en
Publication of JP2006091908A publication Critical patent/JP2006091908A/en
Application granted granted Critical
Publication of JP4203600B2 publication Critical patent/JP4203600B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Description

本発明は、数値化した等高線を用いて、等高線に含まれる情報(標高及び地形の形状)を最大限に利用することにより、コンピュータ上にて、地形分類を行うための様々な情報を抽出、あるいは、計算するためのプログラムである。
本発明により、等高線図を用いて、技術者が手動で行っている作業(例えば、谷頭の抽出や谷線図の作成など)を、自動的に行うことが可能になる。
本発明により得られる谷頭や谷線や谷次数などの情報は、土砂災害の発生位置や被害範囲の予測に役立ち、特に、豪雨による災害に有効である。また、本発明により得られる尾根線は、雪崩の災害についての重要な情報である。さらに、本発明により得られる、斜面型(図1)や勾配や斜面方位や谷次数などは、地形の特徴を把握するための基礎資料である。
具体的には、地形分類の情報は、近年、地方自治体等が整備を進めている、住民の防災意識を高め、自然災害時における住民の避難活動を支援するハザードマップの作成に活用できる。また、近年、環境問題が重視され、地域の自然環境に目が向けられることが多くなり、各地で、自然環境を紹介するためのビジターセンターの建設が進められている。地形は、自然環境を構成する要素であり、生態系(植生含む)に深く関わっている。本発明で得られる地形情報の出力図は、ビジターセンターのような施設で展示するのに適した資料となる。さらに、林学(林業)の分野では、高精度な土壌図が必要とされ、そのための高精度な地形分類手法が要求される。この分野でも、最近は、コンピュータを用いた手法を模索している。本発明は、精度の高い数値等高線データを用いることにより、この要求に応えることが可能である。
The present invention extracts various information for performing terrain classification on a computer by making maximum use of information (elevation and shape of terrain) contained in the contour line using the digitized contour lines. Or it is a program for calculating.
According to the present invention, it is possible to automatically perform operations (for example, extraction of a valley head and creation of a valley diagram) manually performed by an engineer using a contour map.
Information such as the valley head, valley line, and valley degree obtained by the present invention is useful for predicting the occurrence location and damage range of landslide disasters, and is particularly effective for disasters caused by heavy rain. Further, the ridge line obtained by the present invention is important information about avalanche disaster. Furthermore, the slope type (FIG. 1), slope, slope orientation, valley order, and the like obtained by the present invention are basic data for grasping the features of topography.
Specifically, terrain classification information can be used to create a hazard map that has been developed by local governments in recent years to raise residents 'awareness of disaster prevention and support residents' evacuation activities during natural disasters. In recent years, environmental issues have been emphasized, and attention has often been paid to the natural environment of the region. Construction of visitor centers for introducing the natural environment has been promoted in various places. Terrain is a component of the natural environment and is deeply related to ecosystems (including vegetation). The output map of terrain information obtained by the present invention is a material suitable for display in a facility such as a visitor center. Furthermore, in the field of forestry (forestry), a highly accurate soil map is required, and a highly accurate terrain classification method is required. Recently in this field, we have been exploring methods using computers. The present invention can meet this requirement by using highly accurate numerical contour data.

地形分類図は、伝統的に、地形図(等高線図)をベースにして、写真判読などをはじめとする手作業で作成されてきた。このため、写真等を正確に判読・解析するためには多大の労力と時間を要し、膨大なコストがかかるという問題があった。また、人間による手作業のため、個人差や見落としなどが存在した。
この解決策として、日本全国をカバーする標高グリッドデータ、例えば数値地図50mメッシュ(標高)などを用いて、地形特徴の把握、数値地形計測及び流域解析等をコンピュータ上で行う手法が開発されている。均一に配置された標高グリッドデータを使用し、同一の手法を用いて計算を行うことにより、客観的、かつ、広範囲の地形解析を、自動的に短時間に行うことが可能である。標高グリッドデータは、日本において、最も一般的に使われるDEM(Digital Elevation model)(数値標高モデル)である。
DEMを得るための最新技術として、代表的なものに、レーザースキャナ、あるいは、人工衛星を用いて、地表面の位置情報(ランダムなポイントデータ)を得る手法の開発も進んでいる。レーザースキャナを用いることにより、1〜2[m]間隔の、高密度のポイントデータを得ることが可能であるが、広域のデータ取得については、費用の面で問題がある。
また、地表面の位置情報を、はじめからグリッドデータの形式で得る手法は実用化されていないことから、数値等高線データやランダムなポイントデータなどから、標高グリッドデータを作成するために、様々なアルゴリズム(spline、kriging、idw、trend、TOPOGRIDなど)が開発されている。元の地形をできるだけ正確に再現した標高グリッドデータを作成するためには、使用するアルゴリズムの検討、および、各アルゴリズム毎に設定する計算の条件の値などの検討を十分に行う必要がある。
標高グリッドデータは規則的な配置を持つことから、DEMを一度、標高グリッドデータにしてしまえば、1)崩壊前後の標高グリッドデータの差から、崩壊や堆積の差分量を計算することは容易であり、2)標高グリッドデータから勾配や斜面方位などを計算する手法については、多くの手法が開発・紹介されており、3)各種グリッドデータを用いた地形の統計解析手法も、学会誌や書籍などで紹介されている。つまり、標高グリッドデータは、コンピュータ処理に適していて処理速度を格段に向上できる。
Topographic classification maps have traditionally been created manually, including photo interpretation, based on topographic maps (contour maps). For this reason, it takes a lot of labor and time to accurately interpret and analyze photographs and the like, and there is a problem that a huge cost is required. In addition, there were individual differences and oversights due to manual work by humans.
As a solution to this problem, a method has been developed in which terrain features, numerical terrain measurement, basin analysis, etc. are performed on a computer using elevation grid data covering the entire country of Japan, such as a numerical map 50 m mesh (elevation). . It is possible to automatically perform objective and wide-area terrain analysis in a short period of time automatically by using the same method using altitude grid data arranged uniformly. The elevation grid data is DEM (Digital Elevation Model) (numerical elevation model) most commonly used in Japan.
As a latest technique for obtaining a DEM, a typical technique is advancing the development of a method for obtaining position information (random point data) on the ground surface using a laser scanner or an artificial satellite. By using a laser scanner, it is possible to obtain high-density point data with an interval of 1 to 2 [m], but there is a problem in terms of cost when acquiring data over a wide area.
In addition, since the method of obtaining ground surface position information in the form of grid data from the beginning has not been put to practical use, various algorithms are used to create elevation grid data from numerical contour data and random point data. (Spline, kriging, idw, trend, TOPOGRID, etc.) have been developed. In order to create altitude grid data that reproduces the original terrain as accurately as possible, it is necessary to fully study the algorithm used and the value of the calculation condition set for each algorithm.
Since elevation grid data has a regular arrangement, once the DEM is converted to elevation grid data, 1) it is easy to calculate the difference between collapse and sedimentation from the difference in elevation grid data before and after the collapse. Yes, 2) Many methods have been developed and introduced for calculating gradients and slope orientations from elevation grid data. 3) Topographic statistical analysis methods using various grid data are also available in academic journals and books. Etc. That is, the altitude grid data is suitable for computer processing and can significantly improve the processing speed.

しかしながら、上記標高グリッドデータは、取得されたDEMから、どのアルゴリズムや設定値を用いるかにより、得られる標高値が異なる。また、得られた標高グリッドデータを用いて計算された勾配などについても、どの計算方法を用いるかにより、結果が変化する。加えて、標高グリッドデータから、各種のアルゴリズムを用いて得られる地形特徴を、従来の等高線図などを用いて手作業で得られる特徴に一致させることは難しい。
数値化された等高線データは、その不規則なデータ配置から、地形特徴の算出のために直接使用されることはほとんど無く、もっぱら、標高グリッドデータ取得のための基データとして使われることが多かった。
However, the above altitude grid data has different altitude values obtained from the acquired DEM depending on which algorithm or set value is used. Further, the result of the gradient calculated using the obtained elevation grid data varies depending on which calculation method is used. In addition, it is difficult to match terrain features obtained from altitude grid data using various algorithms with features obtained manually using conventional contour maps.
The digitized contour data is rarely used directly for the calculation of topographical features because of its irregular data arrangement, and is often used exclusively as base data for obtaining elevation grid data. .

しかし、本発明は、数値化された等高線データを用いて、従来、人間が等高線図を用いて、手作業で行ってきた地形特徴を得るための手段を、再現することを可能にした。
本発明では、手作業のごとく、等高線や等高線から得られる落水線などに沿って、斜面の形状に関する情報の計算や判断を行い、その方法は一通りである。したがって、標高グリッドデータを用いた各種地形情報の計算のように、様々な方法があり、方法により得られる結果が異なるということは無い。また、コンピュータが普及する以前から、等高線を基にした各種の分類図(地すべり、地質、土壌、崩壊、活断層など)が作成されており、これは、貴重な情報である。等高線データをベースに出力される本発明の結果(出力図)は、これらの図や写真などとの比較が、グリッドデータの場合に比べて、はるかに容易である。また、本発明では、結果として得られる、地形情報に関する属性付のラインデータをグリッドデータに変換する手法も含んでいることから、数値データとして普及している各種グリッドデータとの組み合わせも可能であり、応用できる範囲が広い。
これまで、標高グリッドデータは、等高線データを基に作成されることが多く、その場合はグリッド化する方法による誤差が生じる。また、グリッド化によりデータが等間隔に分断されてしまうため、谷線や尾根線のような斜面の境界、さらに山頂や凹地、鞍部といった地形の特徴を考慮した計算を行うことが難しい。しかし、等高線データをそのまま使用することにより、等高線が持つ情報にしたがって忠実に斜面を分類することが可能であり、等高線で表現された谷や尾根、山頂、凹地、鞍部等を考慮して行う手作業による分類を再現することができる。
However, the present invention makes it possible to reproduce the means for obtaining the topographic features that have been performed manually by humans using the contour map by using the digitized contour line data.
In the present invention, calculation and determination of information regarding the shape of the slope are performed along contour lines, downfall lines obtained from the contour lines, and the like as in manual operations, and the method is one. Therefore, there are various methods such as calculation of various terrain information using altitude grid data, and the results obtained by the methods are not different. Also, before the spread of computers, various classification maps (landslides, geology, soil, collapse, active faults, etc.) based on contour lines have been created, which is valuable information. The results (output diagrams) of the present invention output based on contour line data are much easier to compare with these diagrams and photographs than with grid data. In addition, since the present invention includes a method for converting the resulting line data with attributes relating to terrain information into grid data, it can be combined with various types of grid data that are widely used as numerical data. Wide application range.
Until now, elevation grid data has often been created based on contour line data, and in that case, an error occurs due to the grid method. In addition, since the data is divided at equal intervals due to the grid formation, it is difficult to perform calculation in consideration of the boundary of slopes such as valley lines and ridge lines, and topographic features such as mountain peaks, depressions, and ridges. However, by using the contour line data as it is, it is possible to classify the slopes faithfully according to the information that the contour line has, and this is done by considering the valleys, ridges, peaks, depressions, ridges, etc. expressed by the contour lines. The classification by work can be reproduced.

本発明は、上記従来の実情に鑑みてなされたもので、その目的は、従来手作業でのみ実現していた専門家レベルの判読・解析精度を維持しつつ、コンピュータ処理可能な新規の地形データ処理方法及びその装置を提供すること、具体的にはデジタル化した等高線データから落水線データおよび最急登線データを生成し、これらのデータに基づいたコンピュータ処理可能な地形分類のプログラムを提供することにある。これらのプログラムにより、地形分類図作成作業工程のほとんどの部分が自動化され、作成作業の飛躍的な効率化が図られるものである。 The present invention has been made in view of the above-described conventional situation, and the object thereof is new terrain data that can be processed by a computer while maintaining the interpretation / analysis accuracy of an expert level that has been realized only by manual work. To provide a processing method and an apparatus thereof, specifically, to generate waterfall line data and steepest climb data from digitized contour line data, and to provide a computer-processable terrain classification program based on these data There is. These programs automate most parts of the topographic classification map creation work process, and dramatically increase the efficiency of the creation work.

請求項1に係る発明は、コンピュータに、谷線または落水線データを記憶手段から読み込ませるステップと、前記読み込んだ谷線または落水線が合流するか否かを判断させるステップと、合流したと判断されたとき、合流地点より下流において谷線または落水線の重複生成を排除するための措置を施させるステップと、谷線または落水線の合流時における谷次数の異同に応じて属性と谷次数を付与させるステップと、を含んでなる谷次数を計算させ、該計算結果を記憶又は出力させる地形データ処理プログラムとした。
また、請求項2に係る発明はさらに、水系毎に分類され水系番号が付与された谷線または落水線データを水系毎に記憶手段から読み込ませ、同一の水系番号の谷線または落水線が合流するか否か判断させることを特徴とするものである。
The invention according to claim 1 makes the computer read the valley line or the falling water line data from the storage means, determine whether the read valley line or the falling water line merges, and determine that they merged. The attribute and valley order are set according to the step of applying measures to eliminate duplication of valley lines or falling water lines downstream from the merge point, and the difference in valley order at the time of joining the valley lines or falling water lines. A topographic data processing program for calculating a valley order including the step of adding and storing or outputting the calculation result.
Further, the invention according to claim 2 further causes the valley line or the falling line data classified by each water system and assigned with the water system number to be read from the storage means for each water system, and the valley line or the falling line having the same water system number merges. It is characterized by making it judge whether or not to do.

[データ構造]
本発明は、等高線データに基づいて各種のデータ処理を行うものである。
そこで先ず、等高線データのデータ構造について説明する。
図2(A)は、等高線データのイメージ図である。この図において、等高線の四角内の数字はライン番号を、同じく円内の数字はポイント番号を示している。
図2(B)は、データ構造を示すもので、ファイルは、x座標とy座標のデータを格納するxyファイルと、z座標のデータを格納するzファイルに分けられており、各ファイルには、前記ライン番号、ポイント番号、END記号が格納されている。
本発明は、等高線データを基に、水平断面形を分類するプログラム、落水線を生成するプログラム及び最急登線を生成するプログラムを基本プログラムとし、各種の応用的なデータ処理を行う応用プログラムとから構成されている。本発明は、該応用プログラムのうちの谷次数計算プログラムであり、詳細は段落0081〜0090において説明する。
[data structure]
The present invention performs various data processing based on contour line data.
First, the data structure of contour line data will be described.
FIG. 2A is an image diagram of contour line data. In this figure, the numbers in the squares of the contour lines indicate line numbers, and the numbers in the circles also indicate point numbers.
FIG. 2B shows the data structure, and the file is divided into an xy file for storing x-coordinate data and y-coordinate data, and a z-file for storing z-coordinate data. The line number, point number, and END symbol are stored.
The present invention is based on contour line data, a program for classifying horizontal sectional shapes, a program for generating falling water lines, and a program for generating steepest climbs as basic programs, and an application program for performing various applied data processing, It is composed of The present invention is a valley degree calculation program among the application programs, and details will be described in paragraphs 0081 to 0090.

前記水平断面形の分類プログラムは、選択された等高線データが隣接する等高線データの左右どちらの側に位置しているかを判別する等高線位置判別サブプログラムと、当該等高線のデータ点は尾根型斜面上に位置するか、谷型斜面上に位置するか、直線斜面上に位置するかを判定する水平断面形判定サブプログラムとから成っている。詳しくは後述する。 The horizontal section shape classification program includes a contour position determination subprogram for determining whether the selected contour line data is located on the left or right side of the adjacent contour line data, and the data points of the contour lines are on the ridge-type slope. It consists of a horizontal section shape determination subprogram that determines whether it is located on a valley slope or a straight slope. Details will be described later.

また、前記最急登線生成プログラムは、斜面下方から上方に向かって、先に生成された最急登線データの到達点を、次に生成する最急登線データの起点とするデータ処理を繰り返すことにより、等高線データの全ての線分データの任意の点を起点とし、隣接する高位の等高線の全ての線分データの任意の点を到達点として、個々の最急登線線分データを生成して、等高線から隣接する高位の等高線に対して最大傾斜で登る最急登線を生成するものである。これについても段落0020〜0031において詳述する。 In addition, the steepest climb generation program performs data processing using the arrival point of the earliest climbing data generated earlier from the lower slope to the upper side as the starting point of the next most rapid climbing data to be generated. By repeating, each point of the most rapid climbing line data is started from an arbitrary point of all the line segment data of the contour line data, and an arbitrary point of all the line segment data of the adjacent high level contour lines is the arrival point. It generates and generates the steepest climb that climbs with a maximum inclination from the contour line to the adjacent higher contour line. This is also described in detail in paragraphs 0020-0031.

さらにまた、前記落水線生成プログラムは、最急登線生成プログラムとは逆に、斜面上方から下方に向かって、先に生成された落水線データの到達点を、次に生成する落水線データの起点とするデータ処理を繰り返すことにより、等高線データの全ての線分データの任意の点を起点とし、隣接する低位の等高線の全ての線分データの任意の点を到達点として、個々の落水線線分データを生成して、等高線から隣接する低位の等高線に対して最大傾斜で下る落水線を生成するものである。これについても段落0050〜0058において詳述する。 Furthermore, the waterfall line generation program is the reverse of the steepest climbing line generation program, from the upper side of the slope to the lower side, the arrival point of the previously generated waterfall line data, By repeating the data processing as the starting point, each waterfall line starts from an arbitrary point of all the line segment data of the contour line data and starts from an arbitrary point of all the line segment data of the adjacent lower contour lines. Line data is generated to generate a falling water line that descends with a maximum inclination from the contour line to the adjacent lower contour line. This is also described in detail in paragraphs 0050-0058.

以下、前記水平断面形の分類プログラムについて、図19〜21を参照して詳細に説明する。
斜面の水平断面形の分類を行うためには、任意の等高線が、標高の高い等高線と低い等高線のどちらに向かって曲がっているのかを知る必要がある。
このため先ず、等高線データMの左右どちらの側に、標高の低いあるいは高い隣の等高線データが存在するのかを判別しなければならない。
さらに、斜面の水平断面形は、等高線の形状によって分類されることから、曲線の変曲点が、水平断面形を分ける点になる。
Hereinafter, the horizontal section shape classification program will be described in detail with reference to FIGS.
In order to classify the horizontal cross-sectional shape of the slope, it is necessary to know whether an arbitrary contour line is bent toward a high contour line or a low contour line.
For this reason, first, it is necessary to determine whether the contour data with a low or high altitude exists on the left or right side of the contour line data M.
Furthermore, since the horizontal cross-sectional shape of the slope is classified according to the shape of the contour line, the inflection point of the curve becomes the point that divides the horizontal cross-sectional shape.

[水平断面形分類プログラム]
この水平断面形分類プログラムは、選択した等高線データの線分データの任意のデータ点を最短距離線生成の参照点として選定するステップと、前記選択した等高線データに隣接する高位又は低位の等高線の線分データの任意のデータ点のうち、前記参照点から所定半径以内に存在する任意のデータ点を選択点として選定するステップと、前記選択点と前記参照点の距離を演算し、最も距離が短い選択点を到達点の候補として、仮線分を選定し、前記起点と前記到達点の候補を結ぶ線分であり、かつ、前記仮線分と交差しない線分を選定し、該選定した線分を含む等高線は前記選択した等高線に隣接する高位又は低位の等高線であると判断するステップと、前記参照点から隣接する高位又は低位の等高線であると判断された等高線データの各線分の任意の点に延ばされた線が前記仮線分と交差しないとき、前記等高線データの各線分の任意の点を落水線作成の先端点の候補とするステップと、全ての先端点の候補の中から参照点に最も近い候補を先端点として決定するステップと、前記参照点から前記先端点に向かって最短距離線を生成するステップと、前記参照点を始点とし、1つ前のデータ点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターと、前記参照点を始点とし、前記先端点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターとの外積及び前記参照点を始点とし、前記先端点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターと、前記参照点を始点とし、1つ後のデータ点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターとの外積の符号を演算し、前記両ベクターの外積が正であるとき、前記先端点は参照等高線データの右側に位置し、前記両ベクターの外積が負であるとき、前記先端点は参照等高線データの左側に位置すると判断するステップと、前記参照点の1つ前のデータ点から参照点までのベクターと前記参照点から1つ後のデータ点までのベクターとが成す角度が所定値以下である場合、等斉斜面であると判定し、該角度が所定値を超過する場合においては、前記先端点が参照等高線データの左右いずれの側に位置するか、前記参照点の1つ前のデータ点を始点とし、参照点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターと、前記参照点を始点とし、1つ後のデータ点を終点とするベクターと同じ向きを持ち、大きさが任意のベクターとの外積の符号が正負いずれかによって、参照等高線データに隣接する隣接等高線データが参照等高線データの左右どちら側に位置し、左右どちら側が高いか、斜面が直線状か谷型か尾根型か、によって斜面の水平断面形を分類するステップとを含み、前記参照点が選択した等高線データの終点の1つ前に達するまで前記各ステップを繰り返し実行し、前記参照点が選択した等高線データの終点の1つ前に達したとき、次の等高線データを選択して前記各ステップを繰り返し実行することにより、等高線データの始点と終点を除く全データ点について斜面の水平断面形を分類し、該分類データを記憶、出力又は送信を実行するものである。
[Horizontal sectional shape classification program]
The horizontal sectional shape classification program includes a step of selecting an arbitrary data point of the line segment data of the selected contour line data as a reference point for generating the shortest distance line, and a line of high or low contour lines adjacent to the selected contour line data. Of the arbitrary data points of the minute data, a step of selecting an arbitrary data point existing within a predetermined radius from the reference point as a selection point, and calculating the distance between the selection point and the reference point, and the shortest distance A temporary line segment is selected using the selected point as a destination point candidate, a line segment that connects the starting point and the destination point candidate is selected, and a line segment that does not intersect the temporary line segment is selected. A contour line including a minute is determined to be a high or low contour line adjacent to the selected contour line, and each of the contour data determined to be a high or low contour line adjacent to the reference point When a line extended to any point of the minute does not intersect the temporary line segment, a step of setting any point of each line segment of the contour line data as a tip point candidate for creating a waterfall line, and Determining a candidate closest to the reference point from among the candidates as a tip point; generating a shortest distance line from the reference point toward the tip point; and the previous data starting from the reference point Cross product of a vector with the same orientation as a vector with a point as an end point and an arbitrary size, and a vector with the same direction as a vector with the reference point as a start point and the end point as an end point and an arbitrary size And a vector having the same orientation as the vector starting from the reference point and ending at the end point, and an arbitrary size, and the same vector as the vector starting from the reference point and ending by the next data point Have direction and size Calculate the sign of the outer product with an arbitrary vector, and when the outer product of both vectors is positive, the tip point is located on the right side of the reference contour data, and when the outer product of both vectors is negative, the tip point Is determined to be located on the left side of the reference contour data, and the angle formed by the vector from the data point immediately before the reference point to the reference point and the vector from the reference point to the data point after the reference point is predetermined. If it is equal to or less than the value, it is determined that the slope is an isotropic slope, and if the angle exceeds a predetermined value, whether the tip point is located on the left or right side of the reference contour data is one of the reference points. The same direction as the vector starting from the previous data point and having the reference point as the end point, and the vector of any size, and the vector starting from the reference point and the next data point as the end point Have a large Depending on whether the sign of the outer product with any vector is positive or negative, the adjacent contour data adjacent to the reference contour data is located on the left or right side of the reference contour data, which side is higher, the slope is linear or valley Classifying the horizontal cross-sectional shape of the slope according to whether it is a ridge type or the ridge type, and repeatedly executing each of the steps until the reference point reaches one point before the end point of the selected contour line data. When the contour data reaches one point before the end point, the next contour line data is selected and the above steps are repeated to classify the horizontal cross-sectional shape of the slope for all data points except the start point and end point of the contour line data. The classification data is stored, output, or transmitted.

以下、具体的に説明する。
[等高線位置判別サブプログラム]
先ず、1ランク低い等高線データとの位置関係をチェックするチェック1について、図19,20に基づいて説明する。
ステップ101において、等高線データを読み込み、等高線データM(ライン番号i)のj番目のデータ点をm、その前後をmj−1、mj+1とおく。このとき、カウンタの値、count=0とする。
次にステップ103で、参照等高線データMの参照点mにおいて、Mの隣に位置し、かつ、Mより標高が低い等高線データKを捜す。
先ず、等高線データMが1ランク低い等高線データKの左右どちらの側に位置するかを調べ次いで、等高線データMが1ランク高い等高線データHの左右どちらの側に位置するかを調べる。以下、具体的に説明する。
This will be specifically described below.
[Contour position determination subprogram]
First, Check 1 for checking the positional relationship with the contour line data one rank lower will be described with reference to FIGS.
In step 101, the contour line data is read, and the jth data point of the contour line data M (line number i) is set to m j , and before and after that, m j−1 and m j + 1 are set. At this time, the value of the counter, count = 0.
Next, in step 103, the contour line data K located next to M at the reference point m j of the reference contour line data M and having an elevation lower than M is searched.
First, it is examined whether the contour line data M is located on the left or right side of the contour line data K that is one rank lower, and then, it is examined whether the contour line data M is located on the left or right side of the contour line data H that is one rank higher. This will be specifically described below.

ステップ104において、参照点mから等高線データKへの最短距離の線を引き、この線とKとの交点をkとする。もし、点kが存在しない場合は、kの位置を判断できないため、ステップ117へ進む(ステップ105)。
参照点mからmj+1、mj−1、kまでのベクターをそれぞれα、γ、βとし(図5)、等高線データのx座標とy座標の値のみを用いて(Z=0とし)、外積γ×βとβ×αを計算する(ステップ106)。γ×β>0、かつ、β×α>0であるとき、点kは等高線データMの右側に位置(ステップ108)し、図5のように、等高線データMの右側が低いことになる。また、もし、γ×β<0、かつ、β×α<0であるとき、点kは等高線データMの左側に位置し、等高線データMの左側が低いことになる(ステップ112)。(γ×β>0、かつ、β×α<0)、あるいは、(γ×β<0、かつ、β×α>0)、あるいは、γ×β=0あるいは、β×α=0であるとき、点kは判断には適さない点であるので、ステップ117へジャンプする。
In step 104, a line having the shortest distance from the reference point m j to the contour line data K is drawn, and the intersection of this line and K is set as k. If the point k does not exist, the position of k cannot be determined, and the process proceeds to step 117 (step 105).
Vectors from reference points m j to m j + 1 , m j−1 , and k are α, γ, and β, respectively (FIG. 5), and only the x and y coordinate values of the contour data are used (Z = 0). The outer products γ × β and β × α are calculated (step 106). When γ × β> 0 and β × α> 0, the point k is positioned on the right side of the contour line data M (step 108), and the right side of the contour line data M is low as shown in FIG. If γ × β <0 and β × α <0, the point k is located on the left side of the contour line data M, and the left side of the contour line data M is low (step 112). (Γ × β> 0 and β × α <0), or (γ × β <0 and β × α> 0), or γ × β = 0 or β × α = 0. Since the point k is not suitable for the determination, the process jumps to step 117.

次いで、1ランク高い等高線データとの位置関係についてチェックするチェック2について説明する。
Mの隣に位置し、かつ、Mより標高が高い等高線データ(等高線データをH、データ点をhとする)を使用することを除き、1ランク低い等高線データとの位置関係のチェックと同じ処理を行う。すなわち、ステップ117〜129において、等高線データHがMの左右どちらの側に位置するかを調べる。
参照点mからhまでのベクターをβ’とし、等高線データのx座標とy座標の値のみを用いて(Z=0とし)、外積γ×β’とβ’×αを計算する(図5)。
γ×β’<0、かつ、β’×α<0であるとき、点hは等高線データMの左側に位置し、図5のように、等高線データMの左側が高いことになる。
また、もし、γ×β’>0、かつ、β’×α>0であるとき、点hは等高線データMの右側に位置し、等高線データMの右側が高いことになる。
(γ×β’>0、かつ、β’×α<0)、あるいは、(γ×β’<0、かつ、β’×α>0)、あるいは、γ×β’=0あるいは、β’×α=0であるとき、点hは判断には適さない点であるので、次のデータ点mj+1を用いるためにステップ130へジャンプする。
等高線データMと隣の等高線データとのトポロジー的関係を確認するために、参照点(m=mj+1,mj+2,・・)を変えながら、上記チェック1と上記チェック2の処理を3回繰り返す。このとき、チェック回数は前記カウンタの値として記録される。
Next, check 2 for checking the positional relationship with the contour data one rank higher will be described.
The same processing as the check of the positional relationship with the contour data that is one rank lower, except that contour data that is located next to M and has an elevation higher than M is used (the contour data is H and the data point is h). I do. That is, in steps 117 to 129, it is checked whether the contour line data H is located on the left or right side of M.
The vector from the reference points m j to h is set as β ′, and the outer products γ × β ′ and β ′ × α are calculated using only the x-coordinate and y-coordinate values of the contour data (Z = 0) (see FIG. 5).
When γ × β ′ <0 and β ′ × α <0, the point h is located on the left side of the contour line data M, and the left side of the contour line data M is higher as shown in FIG.
If γ × β ′> 0 and β ′ × α> 0, the point h is located on the right side of the contour line data M, and the right side of the contour line data M is higher.
(Γ × β ′> 0 and β ′ × α <0), or (γ × β ′ <0 and β ′ × α> 0), or γ × β ′ = 0 or β ′ When xα = 0, the point h is a point that is not suitable for the judgment, and therefore the process jumps to step 130 to use the next data point m j + 1 .
In order to confirm the topological relationship between the contour line data M and the adjacent contour line data, the processes of the above check 1 and the above check 2 are performed three times while changing the reference points (m j = m j + 1 , m j + 2 ,...). repeat. At this time, the number of checks is recorded as the value of the counter.

その後、前記3回のチェックの結果得られた等高線位置データJ[1]、J[2]、J[3]の値が、全て一致しているとき、これを等高線データのデータ領域に位置情報についての属性として書き出す。一致しないときは、データ点が等高線データの終点に到達するまでに一定数確保できる場合は、前記チェック1、2を最初からやり直す。 Thereafter, when the values of the contour line position data J [1], J [2], and J [3] obtained as a result of the three checks all match, the position information is stored in the data area of the contour line data. Export as an attribute for. If they do not match, if a certain number of data points can be secured before reaching the end point of the contour data, the above checks 1 and 2 are repeated from the beginning.

なおこの例では、データ点が等高線データの終点に到達するまでに一定数確保できない場合は、一致するデータを1、2番目のカウンタの等高線位置データJ[1]、J[2]とし、J[3]のデータを取り直す。また、次のデータ点が等高線データの終点である場合は、前記3回のチェックの結果得られた等高線位置データJ[1]、J[2]、J[3]の値のうち一致するものを、等高線データファイルに、属性として位置情報を書き出すこととしている。
また、前記位置情報の内容は、等高線の右側が低いか、左側が高いとき、1、等高線の右側が高いか、左側が低いとき、2としている。
この具体例では、各等高線データの二番目のデータ点からチェックが開始され、参照点を変えながら、3回同じ位置関係が認められたとき、その位置関係を正として受け入れるようにしているが、チェック開始データ点、実施回数は特にこれに限定されず、適宜回数実施すればよい。
In this example, if a certain number of data points cannot be secured before reaching the end point of the contour data, the matching data are contour line position data J [1] and J [2] of the first and second counters. Retake the data in [3]. If the next data point is the end point of the contour line data, the values of the contour line position data J [1], J [2] and J [3] obtained as a result of the three checks match. The position information is written out as an attribute to the contour data file.
The content of the position information is 1 when the right side of the contour line is low or high on the left side, and 2 when the right side of the contour line is high or the left side is low.
In this specific example, the check is started from the second data point of each contour line data, and when the same positional relationship is recognized three times while changing the reference point, the positional relationship is accepted as positive, The check start data point and the number of executions are not particularly limited to this, and may be performed as appropriate.

[水平断面形の判定サブプログラム]
図21のステップ161において、前記等高線位置判別サブプログラムで作成された、等高線データと各等高線データの位置情報Jの値、すなわち、1か2を読み込む。
次のステップ162で、直線斜面を定義するγを入力する。この例ではγを5°としている。
次のステップ164で、等高線データMのデータ点mにおいて、データ点mからデータ点mj+1へ向かうベクターをαとおくとき、等高線データMの全てのデータ点において、αj−1とαの成す角θと、外積αj−1×αを計算する(図7参照)。但し、Mの始点と終点では計算しない。
もし、点mj+1での外積の符号が、点mでの外積の符号と異なる場合は、点mとmj+1との中点を変曲点とし、等高線データMに新たなデータ点として加える。
[Horizontal cross section judgment subprogram]
In step 161 in FIG. 21, the contour line data and the value of position information J of each contour line data, that is, 1 or 2, created by the contour line position determination subprogram are read.
In the next step 162, γ defining a straight slope is input. In this example, γ is 5 °.
In the next step 164, the data points m j contour data M, when placing a vector directed from the data points m j to the data points m j + 1 and alpha j, all of the data points of the contour data M, alpha j-1 and The angle θ j formed by α j and the outer product α j−1 × α j are calculated (see FIG. 7). However, calculation is not performed at the start point and end point of M.
If the sign of the outer product at the point m j + 1 is different from the sign of the outer product at the point m j , the midpoint between the points m j and m j + 1 is the inflection point, and the contour data M is a new data point. Add.

次いで、元の等高線データMの全てのデータ点において、斜面の水平断面形を判定する。
等高線データMの両側に、等高線データHとKが存在するとき、等高線データH、M、Kの標高をそれぞれ、E、E、Eとする(E≧E≧E。ただし、E=E=Eである場合は除く。)。このとき、αj−1×α<0であれば、ラインmj−1j+1は等高線データMの左側に突き出る(図7A)。また、αj−1×α>0であれば、ラインmj−1j+1は等高線データMの右側に突き出る(図7B)。
もし、外積αj−1×α=0である場合は、mj−1j+1は直線であり、ベクターαj−1とαの角θは0°に等しい(0°≦θ<180°)。
点mにおける斜面の水平断面形は、下記の要領で分類される。
ケース1.αj−1×α=0(θ=0°):直線斜面(ステップ166)
ケース2.αj−1×α<0 かつ 等高線データH(K)が等高線データMの左(右)側に位置する: 集水(谷型)斜面(図7A、ステップ169)
ケース3.αj−1×α<0 かつ 等高線データH(K)が等高線データMの右(左)側に位置する: 発散(尾根型)斜面(図7A、ステップ170)
ケース4.αj−1×α>0 かつ 等高線データH(K)が等高線データMの左(右)側に位置する: 発散(尾根型)斜面(図7B、ステップ173)
ケース5.αj−1×α>0 かつ 等高線データH(K)が等高線データMの右(左)側に位置する: 集水斜面(図7B、ステップ174)
計算上、θ=0°となることはまれであるから、直線斜面を定義するγに対して、幅を持たせる必要がある。このため、本例では、γを±5°で計算している。
以上で水平断面形分類プログラムについての説明を終了し、次いで最急登線プログラムについて説明する。
[最急登線生成プログラム]
Next, at all data points of the original contour line data M, the horizontal sectional shape of the slope is determined.
When the contour line data H and K exist on both sides of the contour line data M, the elevations of the contour line data H, M, and K are respectively set as E H , E M , and E K (E H ≧ E M ≧ E K. , Except for E H = E M = E K ). At this time, if α j−1 × α j <0, the line m j−1 m j m j + 1 protrudes to the left of the contour line data M (FIG. 7A). If α j−1 × α j > 0, the line m j−1 m j m j + 1 protrudes to the right side of the contour line data M (FIG. 7B).
If the outer product α j−1 × α j = 0, m j−1 m j m j + 1 is a straight line, and the angle θ j between the vectors α j−1 and α j is equal to 0 ° (0 ° ≦ θ j <180 °).
The horizontal sectional shape of the slope at the point m j is classified as follows.
Case 1. α j−1 × α j = 0 (θ j = 0 °): straight slope (step 166)
Case 2. α j−1 × α j <0 and the contour line data H (K) is located on the left (right) side of the contour line data M: Catchment (valley type) slope (FIG. 7A, step 169)
Case 3. α j−1 × α j <0 and the contour line data H (K) is located on the right (left) side of the contour line data M: Divergent (ridge type) slope (FIG. 7A, step 170)
Case 4. α j−1 × α j > 0 and the contour line data H (K) is located on the left (right) side of the contour line data M: Divergent (ridge type) slope (FIG. 7B, step 173)
Case 5. α j−1 × α j > 0 and the contour data H (K) is located on the right (left) side of the contour data M: Catchment slope (FIG. 7B, step 174)
Since it is rare that θ j = 0 ° in the calculation, it is necessary to give a width to γ that defines the straight slope. For this reason, in this example, γ is calculated as ± 5 °.
This is the end of the explanation of the horizontal sectional shape classification program, and then the steepest climbing program.
[Early Climb Generation Program]

このプログラムは、任意の等高線データのデータ点から、1ランク上の等高線データのうち最も近いデータ点に対し最急登線を生成するプログラムである。
この発明は、コンピュータに、先に生成された最急登線データの到達点を次に生成する最急登線データの起点とするデータ処理を繰り返すことにより、等高線データの全ての線分データの任意の点を起点とし、隣接する高位の等高線の全ての線分データの任意の点を到達点として、個々の最急登線線分データを生成させて、等高線から隣接する高位の等高線に対して最大傾斜で登る最急登線を生成させる地形データ処理プログラムであって、
該地形データプログラムは、
任意の等高線データの線分データの任意のデータ点を最急登線生成の起点として選定する第1のステップと、
上記選択した等高線データに隣接する高位の等高線の線分データの任意のデータ点のうち、前記起点からの距離が短いものが優先的に選ばれた任意のデータ点を選択点として選定する第2のステップと、
前記選択点と前記起点の距離を演算し、最も距離が短い選択点を到達点の候補として、前記優先的に選ばれた任意のデータ点を含む等高線の線分である仮線分を選定し、前記起点と前記到達点の候補を結ぶ線分であり、かつ、前記仮線分と交差しない線分を選定し、該選定した線分の到達点を含む等高線は前記選択した等高線に隣接する高位の等高線であると判断する第3のステップと、
前記起点から隣接する高位の等高線であると判断された等高線データの各線分の任意の点に引かれた線が前記仮線分と交差しないとき、前記等高線データの各線分の任意の点を最急登線作成の到達点の候補とする第4のステップと、
全ての到達点の候補の中から起点に最も近い候補を到達点として決定する第5のステップと、
前記起点から前記到達点に向かって最急登線線分データを生成する第6のステップとを含み、
コンピュータに、
前記決定した到達点を次に生成する最急登線線分データの起点として、前記第2乃至第6のステップを順次繰り返し実行させ、
上記到達点の候補が全く存在せず最急登線の終点に到達したと判断されたとき、任意のデータ点を選択した後前記第1と第2のステップの間にジャンプして前記第2乃至第6のステップを繰り返し実行させ、
前記選択した任意のデータ点が前記任意の等高線データの最後のデータであると判断されたとき、まだ始点とするために用いていない等高線データを選択して前記第1と第2のステップの間にジャンプして前記第2乃至第6のステップを繰り返し実行させ、始点とするために用いていない等高線データがないと判断されたとき処理を終了することにより、等高線から隣接する高位の等高線に対して最大傾斜で登る最急登線を生成させるための地形データ処理プログラムである。
This program is a program for generating the steepest climb from the data point of arbitrary contour line data to the nearest data point among the contour line data one rank higher.
The present invention repeats the data processing using the arrival point of the previously generated steepest climbing data as the starting point of the steepest climbing data to be generated next, to the computer. Starting from an arbitrary point and starting from an arbitrary point of all the line segment data of adjacent high level contour lines, the individual steepest line segment data is generated, and from the contour line to the adjacent high level contour line A topographic data processing program that generates the steepest climb that climbs at the maximum slope.
The terrain data program is
A first step of selecting an arbitrary data point of line segment data of arbitrary contour line data as a starting point for generating the steepest climb;
A second data point selected as a selection point is an arbitrary data point preferentially selected from the arbitrary data points of the line data of the higher contour line adjacent to the selected contour line data. And the steps
The distance between the selected point and the starting point is calculated, and the selected point having the shortest distance is selected as a candidate for the destination, and a temporary line segment that is a contour line segment including any of the preferentially selected data points is selected. A line segment connecting the origin and the candidate for the arrival point is selected and does not intersect the temporary line segment, and the contour line including the arrival point of the selected line segment is adjacent to the selected contour line A third step of determining a high contour line;
When a line drawn to an arbitrary point of each line segment of the contour line data determined to be an adjacent high-level contour line from the starting point does not intersect with the temporary line segment, the arbitrary point of each line segment of the contour line data is maximized. A fourth step as a candidate for a destination for rapid climbing;
A fifth step of determining the candidate closest to the starting point among all the candidate reaching points as a reaching point;
And a sixth step of generating steepest climb line segment data from the starting point toward the destination point,
On the computer,
As the starting point of the steepest line data to be generated next the determined arrival point, the second to sixth steps are sequentially repeated,
When it is determined that there is no candidate for the arrival point and the end point of the steepest climb is reached, an arbitrary data point is selected, and then the second jump is made between the first and second steps. Through the sixth step,
When it is determined that the selected arbitrary data point is the last data of the arbitrary contour line data, contour data that has not yet been used as a starting point is selected and the first and second steps are performed. The process is repeated when the second to sixth steps are repeatedly executed, and when it is determined that there is no contour data that is not used for the start point, the process is terminated. It is a topographic data processing program for generating the steepest climb that climbs at the maximum slope.

本実施例は、等高線データの全データ点に、rise_i[等高線データのライン番号][等高線データのポイント番号]=−1(既成の最急登線が存在するときに、その最急登線番号を入れる)と、rise_j[等高線データのライン番号][等高線データのポイント番号]=−1(その点から最急登線を引けないときは−10,既成の最急登線が存在するときは、その点での既成の最急登線のポイント番号を入れる)という属性を与える(ステップ203)点に特徴がある。
このことにより、既に最急登線データを生成したか否か、又は、生成しようとして不可能であったか否かを判別できるようにする。
In this embodiment, rise_i [line number of contour data] [point number of contour data] =-1 (when there is an existing fastest climb, the fastest climb number for all the data points of the contour data) Rise_j [Contour line data line number] [Contour line data point number] = -1 (-10 if the most rapid line cannot be drawn from that point, or if there is an existing rapid line) The point is characterized in that it is given the attribute of (adding the point number of the established steepest line at that point) (step 203).
As a result, it is possible to determine whether or not the most rapid climbing data has already been generated or whether or not it has been impossible to generate the data.

図22、23のフローチャートを参照して、本実施例について説明する。
CPUは、ステップ201において等高線データ全てを読み込み、次のステップ202で最初にライン番号がnである等高線データをM、Mのnn番目のデータ点をmnn、作成する最急登線データの最急登線番号をs、最急登線番号sである最急登線データをW、Wのss番目の点をwssとする。
ステップ203では、等高線データの全データ点に上述の属性を与える。
次いで、n,s,nnに順次1をデータセットして起点m=mnnと定義したうえで、ss=1とデータセットする(ステップ205〜208)。
This embodiment will be described with reference to the flowcharts of FIGS.
In step 201, the CPU reads all the contour line data, and in the next step 202, the contour line data having the line number n is first Mn , the nnth data point of Mn is mnn , and the steepest climbing data to be created the steepest registered line number s, the steepest registered ray data the W s, W s ss th point of the w ss, which is the steepest registered line number s of.
In step 203, the above-mentioned attributes are given to all data points of the contour line data.
Next, after sequentially setting 1 to n, s and nn to define the starting point m = m nn , ss = 1 is set (steps 205 to 208).

本実施例の特徴的な部分として、ステップ209において、最急登線データのデータ点の属性rise_i[n][nn]が正であるか否か、そして、ステップ210において、最急登線データを生成しようとして不可能であったか否かを判断する。
このステップ209,210により、既に最急登線データが生成されているか否かが判断される。
このとき、当該データ点mを起点とする最急登線データが既に生成されていたら、新たに最急登線データを生成することなく、ステップ211、213に移り、最急登線データのポイント番号が1であるか否か、また、mがMの終点であるか否か判断し、終点でなければ、次のデータ点を選択(nn=nn+1)(ステップ214)してステップ207に戻る。mがMの終点であれば、Mがライン番号最大の等高線データか否か判断し、Mがライン番号最大の等高線データでなければ、次の等高線データを選択(n=n+1)(ステップ216)してステップ206に戻り、Mがライン番号最大の等高線データであれば、始点とするために用いていない等高線データがないと判断されるから、最急登線プログラム最急登線データの生成処理を終了する。
As a characteristic part of this embodiment, in step 209, whether or not the attribute rise_i [n] [nn] of the data point of the fastest climb data is positive, and in step 210, the fastest climb data It is determined whether or not it was impossible to generate.
By these steps 209 and 210, it is determined whether or not the fastest climb data has already been generated.
At this time, if the fastest climb data starting from the data point m has already been generated, the process proceeds to steps 211 and 213 without newly generating the fastest climb data, and the points of the fastest climb data are generated. It is determined whether the number is 1 and whether m is the end point of Mn . If it is not the end point, the next data point is selected (nn = nn + 1) (step 214) and the process goes to step 207. Return. If m is the end point of M n, M n is determined whether the line number maximum contour data, if M n is not the contour line data of the maximum line number, selects the next contour data (n = n + 1) ( Step 216) and return to Step 206, and if Mn is the contour line data with the largest line number, it is determined that there is no contour line data that is not used for the start point. The data generation process is terminated.

前記ステップ210において、最急登線データのポイント番号が−10であるか否かを判断する。この属性−10については後述するが、既に、mから最急登線データを延長させようとして不可能であった、換言すれば、当該データ点は最急登線の終点であると判断されるので、mを始点とする最急登線線分データは発生させないで、次のステップ211に移る。
最急登線データのポイント番号が−10でないときは、mを最急登線データW(最急登線番号s)の発生点とする。このとき、mはWのss番目の点(初期値ss=0)となる(実際には、ステップ208にて、mはWの1番目の点とされる)。
In step 210, it is determined whether or not the point number of the fastest climb data is -10. Although this attribute-10 will be described later, it has already been impossible to extend the steepest climb data from m. In other words, it is determined that the data point is the end point of the steepest climb. Therefore, the process proceeds to the next step 211 without generating the most rapid climbing line segment data starting from m.
When the point number of the fastest climb data is not −10, m is the generation point of the fastest climb data W (fastest climb number s). At this time, m is the ss-th point of W (initial value ss = 0) (actually, in step 208, m is the first point of W).

次いで、ステップ217において、当該等高線データMより標高が1ランク高い等高線データはあるか否か判断し、なければ、当該最急登線データの終点であると判断されるから、ステップ266において、−10という属性を付与して、ステップ211に戻る。
次いで、ステップ217〜218において、当該等高線データMより標高が1ランク高い等高線データがあり、かつ、Mより高い等高線データのデータ点が前記起点mの半径R以内にあるとき、標高が1ランク高い等高線データの全てのデータ点のうち、起点mから所定半径R以内に存在するデータ点を全て選択し、選択した全てのデータ点にフラグ1を立てる(ステップ219)。
ステップ217において、当該等高線データMより標高が1ランク高い等高線データがないとき、および、ステップ218において、Mより高い等高線データのデータ点が起点mの半径R以内にないときは、その起点は最急登線データの終点であって、mから最急登線の線分を上方へ引くことはできないから、そのデータ点に−10の属性を与えて、ステップ211に戻る。
上記の所定半径Rは、本実施例では、解析者が入力装置より設定可能とされている。
この所定半径Rは、解析対象地域に対して選定するものであり、等高線密度、得られたデータの精度等を考慮して選ぶ。山地地域を対象地域とする本実施例では、R=150mとした(1:25,000地形図上では6mmとなる)。Rの選択は、計算時間に影響するので重要である。
Next, in step 217, it is determined whether or not there is any contour line data whose elevation is one rank higher than the contour line data M n . The attribute “−10” is assigned, and the process returns to step 211.
Next, in steps 217 to 218, when there is contour line data whose elevation is one rank higher than the contour line data M n and the data point of the contour line data higher than M n is within the radius R of the starting point m, the elevation is 1 Among all the data points of the contour data with higher rank, all data points existing within a predetermined radius R from the starting point m are selected, and flag 1 is set for all the selected data points (step 219).
In step 217, when there is no contour data whose elevation is one rank higher than the contour data M n , and in step 218, when the data point of the contour data higher than M n is not within the radius R of the starting point m, the starting point Is the end point of the fastest climb data, and the line segment of the fastest climb cannot be drawn upward from m. Therefore, the attribute of −10 is given to the data point, and the process returns to step 211.
In the present embodiment, the predetermined radius R can be set by an analyst using an input device.
The predetermined radius R is selected for the analysis target area, and is selected in consideration of the contour line density, the accuracy of the obtained data, and the like. In this embodiment where the mountain area is the target area, R = 150 m (6 mm on the 1: 25,000 topographic map). The choice of R is important because it affects the computation time.

CPUは、選択されたデータ点と前記起点mの距離を演算(ステップ220)し、最も距離が短い選択点をデータ点tとし、該データ点tを含む等高線の等高線データをTとする(ステップ221)とともに、起点mから半径R以内に存在する全てのデータ点を含む等高線のデータ線分(同じ等高線データ上の連続する二つのデータ点をつなぐ線分)を選択する(ステップ222)。
次いで、選択されたこれらの等高線データの線分(以下「仮線分」という。)を用いて、標高が1ランク高い等高線データTが選択された等高線データMの隣りに存在するかどうかを調べる。
がMの隣りの等高線データのデータ点であれば、線分mtはどの仮線分とも交差することはない(図3、A)。
しかし、tがMの隣りの等高線データのデータ点でないならば、線分mtは上記したいずれかの仮線分と交差する。
よって、ステップ223において、線分mtが仮線分と交差すると判断されたときは、tを選択点の中から除去(ステップ224)するため前記フラグを消去し、他に選択点がある限り(ステップ225)ステップ221に戻って起点mに最も近い点を演算により選んで、ステップ222、223に進んでこの処理を繰り返す。ステップ225において他に選択点がないときは、前述した手順でステップ211に戻る。
このとき、全ての選択点を用いても標高が1ランク高い等高線データを決定できない場合は、データ点mを最急登線データの終点とする。
The CPU calculates the distance of the origin m data points selected (step 220), whose distance is short selected point and data point t 1, the contour line data of the contour including the data points t 1 and T Along with (Step 221), a contour data line segment including all data points existing within the radius R from the starting point m (a line segment connecting two consecutive data points on the same contour line data) is selected (Step 222). .
Next, using these selected contour line data (hereinafter referred to as “provisional line segment”), it is determined whether or not the contour data T having an elevation of one rank is adjacent to the selected contour data M n. Investigate.
If t 1 is a data point of contour line data adjacent to M n , the line segment mt 1 does not intersect any temporary line segment (FIG. 3, A).
However, if t 1 is not a data point of the contour line data adjacent to M n , the line segment mt 1 intersects any of the above-described temporary line segments.
Therefore, when it is determined in step 223 that the line segment mt 1 intersects the temporary line segment, the flag is deleted to remove t 1 from the selected point (step 224), and there is another selected point. As long as (step 225), the process returns to step 221, the point closest to the starting point m is selected by calculation, and the process proceeds to steps 222 and 223 to repeat this process. If there is no other selection point in step 225, the process returns to step 211 in the above-described procedure.
At this time, if the contour line data whose elevation is one rank higher cannot be determined using all the selected points, the data point m is set as the end point of the steepest climb data.

一方、線分mtが仮線分と交差しないと演算により判断されたときは、等高線データTは等高線データMの隣りに存在するものとして、
T=Q、t=qとする(qはQのj番目のデータ点)。
このとき、k=j,kk=jとし、データ点qの前後のデータ点についても、仮線分と交差するか否か調べるために、
min=j−5(但し、j−5<0ならmin=1)とし、
max=j+5(但し、j+5>[Qのポイント番号の最大値]なら、max=[Qのポイント番号の最大値])とする(ステップ226)。
次いで、起点mと標高が1ランク上の隣接する等高線データQのデータ点qの前後(この例では、前後5つずつ)のデータ点との線分(qj+5.... qj−5)は仮線分と交差するかについて調べ(ステップ227〜229,231〜233)、起点mと各データ点との線分が仮線分と交差しないものを最急登線作成の先端点wの候補とする(ステップ230.234)。
さらに、起点mから、qk+1とqを通る直線とqkk−1とqkkを通る直線に垂線をおろして交点をp、pkkとし(ステップ238.244)、p、pkkは線分qk+1、qkk+1kkの上にあり、かつ、mp、mpkkの線分は仮線分と交差しないものについて、最急登線作成の先端点wの候補とする(ステップ241.247)。
そして、すべての先端点の候補の中から起点mに最も近い点を最急登線作成の先端点wとして選び(図4参照)、mとwを結んで最急登線を生成し、生成した最急登線データは、最急登線データファイルに記憶される(ステップ250.251)。
On the other hand, when it is determined by calculation that the line segment mt 1 does not intersect with the temporary line segment, the contour line data T is assumed to exist next to the contour line data M n .
Let T = Q, t 1 = q j , where q j is the jth data point of Q.
At this time, k = j, kk = j, and in order to check whether or not the data points before and after the data point q j also intersect the temporary line segment,
min = j-5 (provided that min = 1 if j-5 <0),
max = j + 5 (where j + 5> [maximum value of Q point number], max = [maximum value of Q point number]) (step 226).
Next, a line segment (q j + 5 ... Q j− between the starting point m and the data points q j of the adjacent contour line data Q whose elevation is one rank before and after the data point q j (in this example, five before and after). 5 ) Check whether or not it intersects with the temporary line segment (steps 227 to 229 and 231 to 233), and the point where the line segment between the starting point m and each data point does not intersect with the temporary line segment is the tip of the steepest climb A candidate for w is set (step 230.234).
Further, from the starting point m, a perpendicular line is drawn to a straight line passing through q k + 1 and q k and a straight line passing through q kk-1 and q kk to make the intersections p k and p kk (step 238.244), p k , p kk Is a candidate for the tip point w for creating the steepest climb for the line segments q k + 1 q k , q kk + 1 q kk , and the mp k , mp kk line segments do not intersect the temporary line segment (Step 241.247).
Then, the point closest to the starting point m is selected from among all the candidates for the leading point as the leading point w for creating the steepest climb (see FIG. 4), and m and w are connected to generate the steepest climb. The fastest climb data is stored in the fastest climb data file (step 250.251).

ここでさらに、1ランク上の隣接する等高線データへの最急登線を生成するために、等高線データQをMに、データ点wをmに置換し(ステップ252)、ssを1インクリメントしてステップ254に進み、mが等高線データのデータ点でないとき、ステップ217に戻って次の最急登線データの生成処理に入る。
一方、mが等高線データMのデータ点miiであるときは、rise_j[i][ii]が−10か、またrise_i[i][ii]が−1か否か判断し、−10であれば、mは終点であり、−1であれば、ステップ217に戻り最急登線データの生成処理に入る。
前記ステップ256において、rise_i[i][ii]が−1でないときは、miiを通る最急登線データが既に存在する。そして、miiはrise_i[i][ii]番目の最急登線データのrise_j[i][ii]番目の点である(ステップ258)。
Further, in order to generate the steepest climb to the adjacent contour data on one rank, the contour data Q is replaced with M, the data point w is replaced with m (step 252), and ss is incremented by one. Proceeding to step 254, if m is not a data point of the contour line data, the process returns to step 217 to enter the process of generating the next steepest climb data.
On the other hand, when m is the data point m ii of the contour line data M i , it is determined whether rise_j [i] [ii] is −10 and rise_i [i] [ii] is −1. If there is, m is an end point, and if it is -1, the process returns to step 217 to enter the processing for generating the most rapid climbing data.
In step 256, when rise_i [i] [ii] is not −1, the fastest climb data passing through m ii already exists. M ii is the rise_j [i] [ii] th point of the rise_i [i] [ii] th steepest climb data (step 258).

このときは、この最急登線データWに、当該データ点mから既に生成された最急登線データのrise_j[i][ii]+1番目の点から終点までのデータを接続する(ステップ258)。
次いでステップ259において、Wの始点からss−1番目の点(ss番目の点がmである)について調べる。
ライン番号rの等高線データMのrr番目のデータ点mrrと一致する点については、等高線データ点に、rise_i[r][rr]=Wのライン番号,rise_j[r][rr]=Wでのポイント番号、という属性を与える。
なお、ステップ248において、wの候補が全く存在しないときは、ステップ266の処理をした上で、ステップ211に戻る。
また、ステップ256において、最急登線データのライン番号が−1であるときは、最急登線データは存在しないのであるから、ステップ217に戻る。
さらに、ステップ255において、最急登線データのポイント番号が−10であるときは、mを最急登線データWの終点として、ステップ259〜264の処理をして、ステップ213に戻る。
At this time, the data from rise_j [i] [ii] + 1st point to the end point of the fastest climb data already generated from the data point m is connected to the fastest climb data W s (step 258).
Next, at step 259, the ss-1th point from the start point of W (the ssth point is m) is examined.
The points that match the rr-th data point m rr contour data M r of the line number r is the contour line data points, rise_i [r] [rr] = W s line number, rise_j [r] [rr] = The attribute of the point number in W s is given.
If there is no w candidate in step 248, the process returns to step 211 after performing the process in step 266.
In step 256, when the line number of the steepest climbing data is -1, the steepest climbing data does not exist, so the process returns to step 217.
Further, in step 255, when the point number of the fastest climb data is -10, the process of steps 259 to 264 is performed with m as the end point of the fastest climb data W, and the process returns to step 213.

当該等高線データの最後のデータ点からの最急登線データの生成が終了したら、1ランク上の等高線データの最初のデータ点から最急登線データを生成し、順次この処理を実行し、ライン番号が最大の等高線データに到達したとき最急登線データの生成を終了する。 When the generation of the steepest climbing data from the last data point of the contour line data is completed, the steepest climbing data is generated from the first data point of the contour data one rank higher, and this processing is executed in sequence. When the contour data having the largest number is reached, the generation of the steepest climb data is terminated.

なお、本実施例においては、ステップ203において等高線データの全データ点に、rise_i[等高線データのライン番号][等高線データのポイント番号]=−1と、rise_j[等高線データのライン番号][等高線データのポイント番号]=−1という属性を与えているが、このステップは省略することも可能である。
この場合のプログラムのフローチャートは、図41、42のようになる。
In the present embodiment, in step 203, rise_i [line number of contour data] [point number of contour data] = − 1 and rise_j [line number of contour data] [contour data] are added to all data points of the contour data. The point number] =-1 attribute is given, but this step can be omitted.
The flowchart of the program in this case is as shown in FIGS.

[落水線生成プログラム]
次いで、落水線生成プログラムについて説明する。
前記最急登線生成プログラムが任意の等高線データのデータ点から、1ランク上の等高線データの最大傾斜で登るデータ点に対して、最急登線を生成するものであるのに対し、このプログラムは反対に、任意の等高線データのデータ点から、1ランク下の等高線データの最大傾斜で下るデータ点に対し、落水線を生成するものである。
そして、このプログラムについては、後述する谷線生成プログラムにおいて実際に使用しているので、その際に詳しく説明する。
以上、本発明の基本プログラムについて説明した。
次いで、各種の応用プログラムについて説明する。
本出願に係る応用プログラムは、要旨外の谷頭決定プログラム(段落0033〜004参照)、要旨外の谷線生成プログラム(段落004〜0058参照)、要旨外の尾根線生成プログラム(段落0059〜006参照)、請求項1、2に係る谷次数計算プログラム(段落0081〜0090参照)、要旨外の谷次数と斜面の垂直断面形の組合せプログラム(段落0091〜0111参照)及び要旨外の属性をもったラインデータをグリッド化するプログラム(段落0112〜0132参照)である。以下、これら応用プログラムについて順に説明する。
[Waterfall line generation program]
Next, the falling water line generation program will be described.
The program for generating the steepest climb from the data point of arbitrary contour line data to the data point climbing at the maximum slope of the contour line data one rank higher than the data On the other hand, a waterfall line is generated from a data point of arbitrary contour line data to a data point that falls at the maximum slope of the contour line data one rank below.
This program is actually used in the valley line generation program described later, and will be described in detail at that time.
The basic program of the present invention has been described above.
Next, various application programs will be described.
The application programs according to the present application include a valley determination program outside the gist (see paragraphs 0033 to 004 6 ), a valley line generation program outside the gist (see paragraphs 004 7 to 0058), and a ridge line generation program outside the gist (paragraphs 0059 to 0058). 006 reference 6), see valleys degree calculation program (paragraphs 0081-0090 according to claims 1, 2), the reference combination program (paragraphs 0091-0111 of the vertical cross-sectional shape of the valleys order and slopes outside Abstracts) and spirit out of attributes This is a program (see paragraphs 0112 to 0132) for making line data having a grid. Hereinafter, these application programs will be described in order.

[谷頭の決定プログラム]
谷線や尾根線は、山地全体の形状を把握するために重要な情報である。特に谷頭は、山地における侵食の起源であり、谷の最上部であり、風化や重力などによって斜面の後退が起きる(谷頭侵食)。この谷頭の時間的経緯に伴う移動の速度、方向は、山地の侵食と地形変化およびその速度を予測する上で重要である。
本発明は、出来る限り伝統的な手作業に近い手順で、数値等高線データのデータ点の中から、谷頭に該当する点を選び出すものである。
ここでいう谷頭とは、山地において最初に谷型斜面が顕れた谷の最上部を意味する。
[Determination program]
The valley line and ridge line are important information for grasping the shape of the entire mountain area. In particular, the valley head is the origin of erosion in the mountains and is the top of the valley, and slope retreat occurs due to weathering and gravity (valley head erosion). The speed and direction of movement along with the time course of this valley is important in predicting the erosion and topographic change of the mountainous area and its speed.
In the present invention, a point corresponding to a valley head is selected from data points of numerical contour data by a procedure as close as possible to a traditional manual operation.
The valley head here means the top of the valley where the valley-shaped slope first appears in the mountainous area.

図26を参照して説明する。
このプログラムは、最初に谷型斜面であることを規定する上限角度を決定するために、その角度を入力して定義する。
そして、段落0012〜0019において既に述べた水平断面形分類プログラムを実行し、水平断面形の分類データを出力する。
次いで、この水平断面形の分類データを読み込んで1単位ラインの属性を解析する。
This will be described with reference to FIG.
This program first inputs and defines the angle to determine the upper limit angle that defines the valley slope.
Then, the horizontal sectional shape classification program already described in paragraphs 0012 to 0019 is executed to output horizontal sectional shape classification data.
Next, the horizontal section classification data is read to analyze the attribute of one unit line.

本実施例は、前記水平断面形分類プログラムによって谷型斜面として分類された一単位のラインを用いることにより、谷線の始点となる谷頭の定義を行う。
本実施例では、θ<5°であるとき、データ点mにおける水平断面形は直線斜面として取り扱う。
谷頭を定義するための項目としては、本実施例では、谷型斜面の角度sPsを用いて谷頭を定義しているが、谷型斜面の幅(D)や谷型斜面の深さ(L/D)を用いて定義しても良いこと勿論である(図10参照)。
In the present embodiment, by using one unit line classified as a valley slope by the horizontal sectional shape classification program, the valley head that is the starting point of the valley line is defined.
In the present embodiment, when θ j <5 °, the horizontal sectional shape at the data point m j is treated as a straight slope.
As an item for defining the valley head, in this embodiment, the valley head is defined using the angle s 1 Ps 2 of the valley slope, but the width (D 1 ) of the valley slope and the depth of the valley slope Of course, it may be defined using (L / D 1 ) (see FIG. 10).

[1単位ラインの属性解析プログラム]
図49を参照して説明する。
最初に、上述した基本プログラムである水平断面形分類プログラムの出力結果を読み込み、各等高線データを水平断面形によって分類し、分類したラインを一単位として、一単位ライン毎に書き出すラインファイルを作成する。分類したラインのライン番号をsとする(ステップ401)。
[1 unit line attribute analysis program]
This will be described with reference to FIG.
First, read the output result of the horizontal section shape classification program, which is the basic program described above, classify each contour line data according to the horizontal section shape, and create a line file to write out for each unit line with the classified line as one unit. . The line number of the classified line is set to s (step 401).

次いで、読み込んだ等高線データをM(ライン番号i)とし、Mの始点をm、終点をm、j番目の点をmとする。このとき、ライン番号s=1とする。
そして、Mがポリゴンか否かを判断(ステップ403)し、ポリゴンであれば、データ点の始点と終点のフラグが同じであるか否か調べ(ステップ404)、同じでなければmとmn−1の中点を一単位の始点とし(ステップ405)、同じであればmを一単位の始点とする(ステップ406)。
ステップ403においてポリゴンでないと判断されたときは、mを一単位の始点とする(ステップ407)。
Next, the read contour line data is M (line number i), the start point of M is m 1 , the end point is m n , and the jth point is m j . At this time, the line number s = 1.
Then, M is determined whether the polygon (step 403), if the polygon is checked whether or not the flag of the start and end points of the data points are the same (step 404), and m 1 be the same m the midpoint of the n-1 to the start point of one unit (step 405), the m 1 if they are the same as a start point of one unit (step 406).
If it is determined in step 403 that the object is not a polygon, m 1 is set as a starting point of one unit (step 407).

次いで、次の点mを読み込んで、読み込んだ点が終点のひとつ手前であるか否か判断(ステップ409)し、読み込んだ点が終点のひとつ手前であるときは、n=3であるか判断し、n=3のときは、mを一単位の終点として(ステップ411)、次のステップ412でサブルーチンOption1(図50参照)に進む。
また、n=3でないときは、読み込んだ点とひとつ前の点のフラグが等しいかどうか調べ(ステップ413)、等しいときは読み込んだ点のひとつ先の点を一単位の終点とし(ステップ414)、等しくないときは読み込んだ点とひとつ前の点の中点を一単位の終点とする(ステップ416)して、それぞれ前記サブルーチンOption1に進む。
上述のステップ409において、今回読み込んだ点が終点のひとつ手前でないときは、今回読み込んだ点とひとつ前の点のフラグが等しいかどうか調べ(ステップ420)、等しくないときは読み込んだ点とひとつ前の点の中点を一単位の終点とし(ステップ421)て、サブルーチンOption1に進み、等しいときはさらに先のデータ点を読み込んで(ステップ424,408)、上記処理を繰り返す。
Next, the next point m j is read to determine whether the read point is one point before the end point (step 409). If the read point is one point before the end point, is n = 3? determining, when the n = 3, m n (step 411) as an end point of a unit, the process proceeds to the subroutine Option1 (see FIG. 50) in the next step 412.
If n = 3 is not satisfied, it is checked whether or not the flag of the read point is the same as that of the previous point (step 413). If equal, the point immediately after the read point is set as an end point (step 414). If they are not equal, the midpoint of the read point and the previous point is set as the end point of one unit (step 416), and the process proceeds to the subroutine Option1.
In the above step 409, when the point read this time is not one point before the end point, it is checked whether the flag of the point read this time is the same as the flag of the point before one (step 420). The midpoint of this point is set as the end point of one unit (step 421), and the process proceeds to subroutine Option1. If equal, further previous data points are read (steps 424 and 408) and the above processing is repeated.

サブルーチンOption1の処理内容の概要は、図10、11、50を参照して、上述の処理にて一単位の始点と終点が決定されたので、以後所定の谷の深さや尾根の突出があるか否かを判断し、所定の谷の深さや尾根の突出がある一単位のラインについて谷型または尾根型の属性を与え、それ以外のものには直線の属性を与える処理を実行するものである。 For the outline of the processing contents of the subroutine Option1, with reference to FIGS. 10, 11, and 50, the start point and the end point of one unit are determined in the above processing, so whether there is a predetermined valley depth or ridge protrusion thereafter? Judgment of whether or not, giving a valley-type or ridge-type attribute for a unit line with a predetermined valley depth or ridge protrusion, and giving a straight line attribute to the others .

先ず、一単位の始点と終点との直線距離Dを演算する(ステップ431)。
次いで、直線Dに対して一単位のライン上の始点と終点を除く各データ点から垂線を下ろし、それぞれの垂線長を求め、最長のものをL、Lの端点であるデータ点(ポイント番号b)を決定する(ステップ432)。このポイント番号bのデータ点を谷型斜面あるいは尾根型斜面の頂点とする。
そして、一単位の始点とポイント番号bのデータ点の長さ(sp)と、一単位の終点とポイント番号bのデータ点の長さ(sp)を計算し、線分sp,線分sp,線分Dを用いて谷型斜面、あるいは、尾根型斜面の角度ωを計算する(ステップ433)。
角度は、次式を用いて計算する。
First, it calculates a straight line distance D 1 of the start and end points of one unit (step 431).
Then, a perpendicular line is dropped from each data point, except for start and end points on one unit line with respect to the straight line D 1, we obtain the respective perpendicular length, the longest ones L, data point that is the end point of the L (point number b) is determined (step 432). The data point with the point number b is set as the apex of the valley slope or the ridge slope.
Then, the length (s 1 p) of the start point of one unit and the data point of point number b and the length (s 2 p) of the end point of one unit and the data point of point number b are calculated, and the line segment s 1 The angle ω of the valley-type slope or the ridge-type slope is calculated using p, line segment s 2 p, and line segment D 1 (step 433).
The angle is calculated using the following formula:

(式1)

始点、終点を除く一単位ライン上の全データ点での水平断面形は同じである。そこで一単位のライン毎に、直線:0、尾根型:1、谷型:−1の属性を付与する(ステップ434)。
一単位のライン毎に、水平断面形(r)という属性と共に、xy座標を書き出す(ステップ435)。
このとき、一単位の始点が連続する二つのデータ点(仮にmj−1とm)の中点であるときは、mから書き出す。同様に、一単位の終点が連続する二つのデータ点(仮にmj−1とm)の中点であるときは、mj−1まで書き出す
書き出されるファイルの内容は下表の通りとなる。このファイルをfile_xyr1とする。
(Formula 1)

The horizontal cross-sectional shape is the same at all data points on one unit line excluding the start point and end point. Therefore, the attributes of straight line: 0, ridge type: 1, trough type: −1 are assigned to each unit line (step 434).
For each unit line, the xy coordinates are written together with the attribute of horizontal section (r) (step 435).
At this time, if the start point of one unit is the midpoint between two consecutive data points (m j−1 and m j ), the data is written from m j . Similarly, when the end point of one unit is the midpoint between two consecutive data points (m j−1 and m j ), the contents of the file to be written up to m j−1 are as shown in the table below. . Let this file be file_xyr1.

(表1の1)

file_xyr1の構造
(表1の2)
このとき、ω<aである谷型斜面の頂点(ポイント番号b)にあたるデータ点であるときは、r=−10、谷型斜面で頂点以外のデータ点であるときは、r=−1、ω<aである尾根型斜面の頂点(ポイント番号b)にあたるデータ点であるときは、r=10、尾根型斜面で頂点以外のデータ点であるときは、r=1、それ以外は、r=0の属性を与える(ステップ435)。
また、ラインの標高ファイルにs,Zも書き出す(Zは、番号sの水平断面形の一単位のラインの標高)。
次のステップ436において、sを1インクリメントして一単位の属性解析プログラムに戻る。
(1 in Table 1)

structure of file_xyr1 (2 in Table 1)
At this time, when the data point corresponds to the apex (point number b) of the valley slope where ω <a, r = −10, and when the data point is other than the apex on the valley slope, r = −1. r = 10 when the data point corresponds to the vertex (point number b) of the ridge slope where ω <a, r = 1 when the data point is other than the vertex on the ridge slope, and r otherwise. = 0 attribute is provided (step 435).
In addition, s and Z s are also written in the line altitude file (Z s is the altitude of the unit line of the horizontal section number s).
In the next step 436, s is incremented by 1 to return to the attribute analysis program of one unit.

このとき、ステップ417とステップ422にてサブルーチンOption1を実行して復帰してきたときは、今回読み込んだとひとつ前の点のフラグが等しくない、すなわち、mj−1とmの中点が変曲点であることが明らかであるから、次の一単位の始点をmj−1とmの中点とする(ステップ418,423)。
そして、ステップ418−1において、flag[m]=flag[mn−1]であるか調べ、そのいずれかにより、ステップ404において決定した始点を終点として、再度サブルーチンOption1を実行する(ステップ419)。Mがライン番号の最大の等高線データになるまで、以上の処理を繰り返し、Mがライン番号の最大の等高線データになったら、メインルーチンに復帰する。
At this time, when the subroutine Option1 is executed and returned in step 417 and step 422, the flag of the previous point is not equal when read this time, that is, the middle point of m j−1 and m j is changed. Since it is clear that it is a music point, the start point of the next unit is set as the midpoint between m j−1 and m j (steps 418 and 423).
Then, in step 418-1, it is checked whether flag [m 1 ] = flag [m n-1 ], and by either of them, the subroutine Option1 is executed again with the start point determined in step 404 as the end point (step 419). ). The above processing is repeated until M becomes the contour line data having the largest line number. When M becomes the contour line data having the largest line number, the process returns to the main routine.

[谷頭決定プログラム]
図26のフローチャートを参照して説明する。
谷頭点を決定するために先ず、その候補の抽出を行う(図11_1)。
谷頭となるデータ点を見つけるために、前述の一単位ラインの属性解析プログラムでfile_xyr1に書き出したr=−10であるデータ点を結ぶライン(以下「ジグザグライン」という。)を引く処理を実行する。
最初に、file_xyr1とその標高ファイルを読み込み、標高の高い等高線から順番に並べ替える(ステップ441)。
次いでジグザグラインの線分の最大長Rを決める(ステップ443)。
全データ点に、fall_i(等高線データのライン番号,等高線データのポイント番号)=−1、fall_j(等高線データのライン番号,等高線データのポイント番号)=−1という属性を与える。等高線データには、読み込み順に、ライン番号n(1,2,3…,n_end)を与える。このとき、g=0とする(ステップ444)。
また、ライン番号nの等高線データをMとし、Mの各データ点に、ポイント番号nn(1,2,3…,nn_end)を与える(ステップ445)。
そして、Mのポイント番号nnのデータ点をmとする(ステップ446)。
次のステップ447で、mの属性rが−10であるか否か調べ、−10であればそのデータ点が谷頭の候補であるから、ステップ448に移ってfall_i(n,nn)>0かどうか判断する。
ここで、fall_i(n,nn)>0であればジグザグライン番号が既についていて、mを通るジグザグラインが既に存在するので、mを始点とするジグザグラインは発生させない。逆にfall_i(n,nn)>0でなければ、fall_j(n,nn)が−10であるか否か判断し、−10であれば、既に、mからジグザグラインを延長させようとして、不可能であったので、mを始点とするジグザグラインは発生させない。fall_j(n,nn)が−10でないときは、g=g+1として、mをジグザグラインW(ライン番号g)の発生点とする。このとき、mはWのgg番目の点(gg=1)となる(ステップ450)。
ここで、mからジグザグラインWの延長を試みる。このとき、mのWでのポイント番号はggである。
[Tanigami decision program]
This will be described with reference to the flowchart of FIG.
In order to determine the valley point, first, the candidate is extracted (FIG. 11_1).
In order to find a data point to be a valley head, a process of drawing a line (hereinafter referred to as a “zigzag line”) connecting data points with r = −10 written to file_xyr1 by the attribute analysis program of one unit line described above is executed. .
First, file_xyr1 and its elevation file are read and rearranged in order from the highest contour line (step 441).
Next, the maximum length R of the zigzag line segment is determined (step 443).
All of the data points are given the attributes fall_i (contour line number, contour data point number) =-1, and fall_j (contour line number, contour data point number) =-1. Line numbers n (1, 2, 3,..., N_end) are given to the contour line data in the order of reading. At this time, g = 0 is set (step 444).
Further, the contour line data of the line number n is M, and a point number nn (1, 2, 3,..., Nn_end) is given to each data point of M (step 445).
Then, the data point of the M point number nn is set to m (step 446).
In the next step 447, it is checked whether or not the attribute r of m is −10. If it is −10, the data point is a candidate for a valley head, and therefore, the process moves to step 448 and falls_i (n, nn)> 0. Judge whether.
Here, if fall_i (n, nn)> 0, the zigzag line number has already been set, and there is already a zigzag line passing through m. Therefore, no zigzag line starting from m is generated. Conversely, if fall_i (n, nn)> 0, it is determined whether fall_j (n, nn) is −10. If it is −10, an attempt is made to extend the zigzag line from m. Since it was possible, a zigzag line starting from m is not generated. When fall_j (n, nn) is not −10, g = g + 1 and m is the generation point of the zigzag line W (line number g). At this time, m is the gg-th point (gg = 1) of W (step 450).
Here, an attempt is made to extend the zigzag line W from m. At this time, the point number at W of m is gg.

そこで、Mより標高が1ランク低い等高線データが存在するとき、さらにMより低い等高線データのデータ点の中で、属性rが−10であるデータ点が、mの半径R以内に存在すれば(ステップ453)、上記の点を谷頭の選択点とする。また、mの半径R以内に存在するデータ点を含む等高線の線分を仮線分として選ぶ(ステップ454)。
ステップ455において、mと前記各選択点とを結ぶ各線分(選択線分)の中で前記仮線分と交差しないものが存在するとき、仮線分と交差しない選択線分の中で、長さが最小となる選択点を、mからの延長点wと決定する(ステップ456)。
そして、wを含む等高線データをM、wをmに置き換え(ステップ457)、次のステップ458に進む。ただし、このmをライン番号iiの等高線データMのポイント番号jjのデータ点とする。
ここで、fall_i(ii,jj)=−1であれば、ジグザグラインのポイント番号ggを1インクリメントして(ステップ459)、ステップ452へ戻る。
また、fall_i(ii,jj)=−1でないとき、fall_j(ii,jj)=−10か否か調べ(ステップ460)、−10であれば、mをWの終点とし(ステップ463)、−10でなければ、WにジグザグラインW’の[fall_j(ii,jj)+1]番目の点から終点までを接続する(ステップ462)。
次に、Wの始点からgg−1番目の点(gg番目の点がm)について調べる。等高線データ(仮にT,ライン番号aa)のデータ点(仮にt,ポイント番号bb)と一致する点については、等高線データのデータ点にfall_i(aa,bb)=g、fall_j(aa,bb)=Wでのポイント番号という属性を与えた(ステップ464)上で、ステップ467に戻る。
Therefore, when there is contour data whose rank is one rank lower than M, among data points of contour data lower than M, if a data point having an attribute r of −10 exists within a radius R of m ( Step 453), the above point is set as a selection point of the valley head. A contour line segment including a data point existing within the radius R of m is selected as a temporary line segment (step 454).
In step 455, when there is a line segment that does not intersect the temporary line segment among the line segments (selected line segments) that connect m and the selected points, the long selected line segment that does not intersect the temporary line segment. The selection point having the smallest value is determined as the extension point w from m (step 456).
Then, the contour line data including w is replaced with M and w is replaced with m (step 457), and the process proceeds to the next step 458. However, m is a data point of point number jj of contour line data M of line number ii.
If fall_i (ii, jj) = − 1, the zigzag line point number gg is incremented by 1 (step 459), and the process returns to step 452.
Further, when not fall_i (ii, jj) = − 1, it is checked whether or not fall_j (ii, jj) = − 10 (step 460). If −10, m is set as the end point of W (step 463), − If not 10, W is connected from the [fall_j (ii, jj) +1] th point of the zigzag line W ′ to the end point (step 462).
Next, the gg-1st point from the start point of W (the ggth point is m) is examined. For points that coincide with the data point (assuming t, point number bb) of the contour line data (assuming T, line number aa), fall_i (aa, bb) = g, fall_j (aa, bb) = After giving the attribute of point number in W (step 464), the process returns to step 467.

前記ステップ452、453においてNoと判断されたときは、いずれもfall_i(n,nn)=−10の属性を与えて、mはWの終点であるとして扱い(ステップ471)、ステップ467に進んで、先にステップ445において付与されたポイント番号の最大値に達しているか否か調べ、達していなければポイント番号nnを1インクリメントしてステップ446へ戻る。
ステップ467においてポイント番号が最大値に達したと判断されたときは、先にステップ469において付与されたライン番号が最大値に達しているか否か調べ、達していなければライン番号nを1インクリメントしてステップ445へ戻り、以上の処理を繰り返し実行する。
処理が進んで全ての処理が実行され、ステップ469においてYesと判断されたときは、ジグザグラインの作成を終了し、作成されたジグザグラインの始点を谷頭と決定する(ステップ472)。
最終的な処理として、file_xyr1を再び呼び込み、読み込んだ(x,y)座標が、作成されたジグザグラインの始点の(x,y)座標と等しいとき、rの属性を−10とし、それ以外のときはr=0に変更し、file_xyr1と同じ形式で書き出す。これをfile_xyr2とする(ステップ474)。
以上から明らかなように、file_xyr2は、file_xyr1に比べて、属性rの値だけが変化していることとなる。
なお、谷頭のデータ点のみのポイントファイルを作成することも可能である。
When it is determined No in Steps 452 and 453, the attribute of fall_i (n, nn) = − 10 is given, and m is treated as an end point of W (Step 471), and the process proceeds to Step 467. If the maximum point number assigned in step 445 has been reached, the point number nn is incremented by 1 and the flow returns to step 446.
When it is determined in step 467 that the point number has reached the maximum value, it is checked whether the line number assigned in step 469 has reached the maximum value. If not, the line number n is incremented by 1. Then, the process returns to step 445, and the above processing is repeatedly executed.
When the process proceeds and all processes are executed and it is determined Yes in step 469, the creation of the zigzag line is terminated, and the starting point of the created zigzag line is determined as the valley head (step 472).
As a final process, file_xyr1 is called again, and when the read (x, y) coordinates are equal to the (x, y) coordinates of the starting point of the created zigzag line, the attribute of r is set to −10, and the others When r is changed to r = 0, it is written in the same format as file_xyr1. This is designated as file_xyr2 (step 474).
As is clear from the above, file_xyr2 has only the value of attribute r changed compared to file_xyr1.
It is also possible to create a point file of only the data points at the valley head.

[谷線の生成]
谷線や尾根線は、山地全体の形状を把握するために重要な情報である。特に谷線は、水系の分類や水系領域の抽出や谷密度の計算等に不可欠の情報であり、地形の侵食、崩壊した物質の移動経路、地形の変化の過程の解明、更に、地殻運動や岩石構造によるリニアメントの抽出において利用されている。
本発明は、出来る限り伝統的な手作業に近い手順で谷線を生成することを目的とし、数値等高線データのデータ点の中から、谷頭に該当する点を選び出し、これらの点から谷線を発生させるものである。
ここでいう谷線とは、谷頭からのみ発生させた、最も急傾斜で下る落水線を意味する。
したがって、谷の最上部である谷の頂点以外のデータ点からは落水線は発生されない。この点で、等高線データの全てのデータ点から発生される落水線とは異なる。
[Generate valley lines]
The valley line and ridge line are important information for grasping the shape of the entire mountain area. In particular, the valley line is indispensable information for classification of water systems, extraction of water system areas, calculation of valley density, etc., terrain erosion, path of collapsed material, elucidation of terrain change process, crustal movement and It is used in the extraction of lineament by rock structure.
The purpose of the present invention is to generate valley lines in a procedure as close to traditional manual work as possible, and from the data points of the numerical contour data, the points corresponding to the valley heads are selected, and the valley lines are determined from these points. Is generated.
The valley line here means a falling water line that is generated only from the valley head and falls most steeply.
Accordingly, no falling water line is generated from data points other than the top of the valley which is the top of the valley. In this respect, it differs from the falling water line generated from all the data points of the contour line data.

この発明は、図44のフローチャートに示されるように、水平断面形分類プログラムの一部と1単位ラインの解析プログラムを利用する谷頭を決定するプログラムを実行して得た谷頭データを読み込み、次いで落水線生成プログラムの一部を利用する谷線を生成するプログラムを実行し、谷線を生成するものである。(図44)。 As shown in the flowchart of FIG. 44, the present invention reads valley head data obtained by executing a program for determining a valley using a part of a horizontal sectional shape classification program and an analysis program of one unit line, A program for generating a valley line using a part of the line generation program is executed to generate a valley line. (FIG. 44).

最初に、前述したfile_xyr2とその標高ファイルを読み込み、r=−10であるデータ点、すなわち谷頭からのみ、落水線データを生成するために、図24、25に示す落水線生成プログラムのサブルーチンに入って、ステップ301をスキップしてステップ302から処理を開始する。 First, the aforementioned file_xyr2 and its elevation file are read, and the falling water line generation program subroutine shown in FIGS. 24 and 25 is entered to generate falling water data only from the data point where r = −10, that is, the valley head. Thus, step 301 is skipped and processing is started from step 302.

[落水線生成プログラム]
この段階で、谷線の生成をする。
CPUは、ステップ302で最初にライン番号がnである等高線データをM、Mのnn番目のデータ点をmnn、作成する落水線データの落水線番号をs、落水線番号sである落水線データをW、Wのss番目の点をwssとする。
ステップ303では、等高線データの全データ点にrの属性を与える。すなわち、ライン番号n、ポイント番号nnであるデータ点mnnにおいて、fall_i[n][nn]=−1、fall_j[n][nn]=−1とする。
次のステップ304で、任意の点aから落水線の線分を下方に向けて引くとき、aを起点mとする。
次いで、n,s,nnに順次1をデータセットして起点m=mnnと定義したうえで、ss=1とデータセットする(ステップ305〜308)。
[Waterfall line generation program]
At this stage, a valley line is generated.
In step 302, the CPU first sets contour line data having a line number n to M n , the nnth data point of M n to m nn , the falling line number of the falling water line data to be created to s, and the falling water line number s. The falling water line data is W s , and the ssth point of W s is w ss .
In step 303, the r attribute is given to all data points of the contour line data. That is, it is assumed that fall_i [n] [nn] = − 1 and fall_j [n] [nn] = − 1 at the data point m nn having the line number n and the point number nn.
In the next step 304, when a line segment of the falling water line is drawn downward from an arbitrary point a, a is set as the starting point m.
Next, 1 is sequentially set to n, s, and nn to define the starting point m = m nn and then ss = 1 is set (steps 305 to 308).

本実施例の特徴的な部分として、ステップ309において、落水線データのデータ点の属性fall_i[n][nn]が正であるか否か、そして、ステップ310において、落水線データを生成しようとして不可能であったか否かを判断する。
このステップ309,310により、既に落水線データが生成されているか否かが判断される。
このとき、当該データ点mを起点とする落水線データが既に生成されていたら、新たに落水線データを生成することなく、ステップ311、313に移り、落水線データのポイント番号が1であるか否か、また、mがMの終点であるか否か判断し、終点でなければ、次のデータ点を選択(nn=nn+1)(ステップ314)してステップ307に戻る。mがMの終点であれば、Mがライン番号最大の等高線データか否か判断し、Mがライン番号最大の等高線データでなければ、次の等高線データを選択(n=n+1)(ステップ316)してステップ306に戻り、Mがライン番号最大の等高線データであれば、落水線データの生成処理を終了する。
As a characteristic part of the present embodiment, in step 309, whether or not the attribute fall_i [n] [nn] of the data point of the waterfall line data is positive, and in step 310, it is attempted to generate the waterfall line data. Determine whether it was impossible.
By these steps 309 and 310, it is determined whether or not the waterfall line data has already been generated.
At this time, if the waterfall line data starting from the data point m has already been generated, the process proceeds to steps 311 and 313 without newly generating the waterfall line data, and whether the point number of the waterfall line data is 1 or not. It is determined whether or not m is an end point of Mn. If not, the next data point is selected (nn = nn + 1) (step 314) and the process returns to step 307. If m is the end point of M n, M n is determined whether the line number maximum contour data, if M n is not the contour line data of the maximum line number, selects the next contour data (n = n + 1) ( Step 316) and return to Step 306, and if M n is the contour line data having the largest line number, the generation process of the falling water line data is terminated.

落水線データのポイント番号が−10でないときは、mを落水線データW(落水線番号s)の発生点とする。このとき、mはWのss番目の点となる(ステップ308)。 When the point number of the waterfall line data is not −10, m is the generation point of the waterfall line data W (waterfall line number s). At this time, m is the ssth point of W (step 308).

次いで、ステップ317において、当該等高線データMより標高が1ランク低い等高線データはあるか否か判断し、なければ、当該落水線データの終点であると判断されるから、ステップ366において、落水線データのポイント番号として−10という属性を付与して、ステップ311に戻る。
次いで、ステップ317〜318において、当該等高線データMより標高が1ランク低い等高線データがあり、かつ、Mより低い等高線データのデータ点が前記起点mの半径R以内にあるとき、標高が1ランク低い等高線データの全てのデータ点のうち、起点mから所定半径R以内に存在するデータ点を全て選択し、選択した全てのデータ点にフラグ1を立てる(ステップ319)。
ステップ317において、当該等高線データMより標高が1ランク低い等高線データがないとき、および、ステップ318において、Mより低い等高線データのデータ点が起点mの半径R以内にないときは、その起点は落水線データの終点であって、mから落水線の線分を下方へ引くことはできないから、そのデータ点にfall_j[n][nn]=−10の属性を与えて、ステップ311に戻る。
上記の所定半径Rは、本実施例では、解析者が入力装置より設定可能とされている。
この所定半径Rは、解析対象地域に対して選定するものであり、等高線密度、得られたデータの精度等を考慮して選ぶ。山地地域を対象地域とする本実施例では、R=150mとした(1:25,000地形図上では6mmとなる)。Rの選択は、計算時間に影響するので重要である。
Next, in step 317, it is determined whether or not there is contour line data whose elevation is one rank lower than the contour line data Mn . If not, it is determined that it is the end point of the waterfall line data. An attribute of −10 is assigned as the data point number, and the processing returns to step 311.
Next, in steps 317 to 318, when there is contour line data whose elevation is one rank lower than the contour line data M n and the data point of the contour line data lower than M n is within the radius R of the starting point m, the elevation is 1 Among all the data points of the contour data with low rank, all data points existing within a predetermined radius R from the starting point m are selected, and flag 1 is set for all the selected data points (step 319).
In step 317, when there is no contour data whose elevation is one rank lower than the contour data M n , and in step 318, when the data point of contour data lower than M n is not within the radius R of the starting point m, the starting point Is the end point of the waterfall line data, and the line segment of the waterfall line cannot be drawn downward from m. Therefore, the attribute of fall_j [n] [nn] = − 10 is given to the data point, and the process returns to step 311. .
In the present embodiment, the predetermined radius R can be set by an analyst using an input device.
The predetermined radius R is selected for the analysis target area, and is selected in consideration of the contour line density, the accuracy of the obtained data, and the like. In this embodiment where the mountain area is the target area, R = 150 m (6 mm on the 1: 25,000 topographic map). The choice of R is important because it affects the computation time.

CPUは、選択されたデータ点と前記起点mの距離を演算(ステップ320)し、最も距離が短い選択点をデータ点tとし、該データ点tを含む等高線の等高線データをTとする(ステップ321)とともに、起点mから半径R以内に存在する全てのデータ点を含む等高線のデータ線分(同じ等高線データ上の連続する二つのデータ点をつなぐ線分)を選択する(ステップ322)。
次いで、選択されたこれらの等高線データの線分(以下「仮線分」という。)を用いて、標高が1ランク低い等高線データTが選択された等高線データMの隣りに存在するかどうかを調べる。
がMの隣りの等高線データのデータ点であれば、線分mtはどの仮線分とも交差することはない(図3、A)。
しかし、tがMの隣りの等高線データのデータ点でないならば、線分mtは上記したいずれかの仮線分と交差する。
よって、ステップ323において、線分mtが仮線分と交差すると判断されたときは、tを選択点の中から除去(ステップ224)し、他に選択点がある限り(ステップ325)ステップ321に戻ってtの次に起点mに近い点tを選んで、ステップ322、323に進んでこの処理を繰り返す。ステップ325において他に選択点がないときは、前述した手順でステップ311に戻る。
このとき、全ての選択点を用いても標高が1ランク低い等高線データを決定できない場合は、データ点mを落水線データの終点とする。
The CPU calculates the distance of the origin m data points selected (step 320), whose distance is short selected point and data point t 1, the contour line data of the contour including the data points t 1 and T Along with (Step 321), a contour data line segment including all data points existing within the radius R from the starting point m (a line segment connecting two consecutive data points on the same contour line data) is selected (Step 322). .
Next, using the selected line segment of these contour line data (hereinafter referred to as “provisional line segment”), it is determined whether or not the contour line data T whose elevation is one rank lower is adjacent to the selected contour line data M n. Investigate.
If t 1 is a data point of contour line data adjacent to M n , the line segment mt 1 does not intersect any temporary line segment (FIG. 3, A).
However, if t 1 is not a data point of the contour line data adjacent to M n , the line segment mt 1 intersects any of the above-described temporary line segments.
Therefore, when it is determined in step 323 that the line segment mt 1 intersects the temporary line segment, t 1 is removed from the selected points (step 224), and as long as there are other selected points (step 325), step Returning to 321, the point t 2 closest to the starting point m next to t 1 is selected, and the processing proceeds to steps 322 and 323 to repeat this processing. If there is no other selection point in step 325, the process returns to step 311 in the above-described procedure.
At this time, if the contour line data whose elevation is one rank lower cannot be determined even if all the selected points are used, the data point m is set as the end point of the falling water line data.

一方、線分mtが仮線分と交差しないと判断されたときは、等高線データTは等高線データMの隣りに存在するものとして、
T=Q、t=qとする(qはQのj番目のデータ点)。
このとき、k=j,kk=jとし、データ点qの前後のデータ点についても、仮線分と交差するか否か調べるために、
min=j−5(但し、j−5<0ならmin=1)とし、
max=j+5(但し、j+5>[Qのポイント番号の最大値]なら、max=[Qのポイント番号の最大値])とする(ステップ326)。
次いで、起点mと1ランク下の隣接する等高線データQのデータ点qの前後(この例では、前後5つずつ)のデータ点との線分(qj+5‥‥qj−5)は仮線分と交差するかについて調べ(ステップ327〜329,331〜333)、起点mと各データ点との線分が仮線分と交差しないものを落水線作成の先端点wの候補とする(ステップ330.334)。
さらに、起点mから、qk+1とqを通る直線とqkk−1とqkkを通る直線に垂線をおろして交点をp、pkkとし(ステップ338.344)、p、pkkは線分qk+1、qkk+1kkの上にあり、かつ、mp、mpkkの線分は仮線分と交差しないものについて、落水線作成の先端点wの候補とする(ステップ341.347)。
そして、すべての先端点wの候補の中から起点mに最も近い点を落水線作成の先端点wとして選び、mとwを結んで落水線を生成し、生成した落水線データは、落水線データファイルに記憶される(ステップ350.351)。
On the other hand, when it is determined that the line segment mt 1 does not intersect with the temporary line segment, the contour line data T is assumed to exist next to the contour line data M n .
Let T = Q, t 1 = q j , where q j is the jth data point of Q.
At this time, k = j and kk = j, and in order to check whether or not the data points before and after the data point q j also intersect the temporary line segment,
min = j-5 (however, if j-5 <0, min = 1)
max = j + 5 (where j + 5> [maximum value of Q point number], max = [maximum value of Q point number]) (step 326).
Next, the line segment (q j + 5 ... Q j−5 ) between the data point q j before and after the starting point m and the data point q j of the adjacent contour line data Q one rank lower (in this example, five before and after) Whether the line segment intersects with the line segment is checked (steps 327 to 329, 331 to 333), and the line segment between the starting point m and each data point does not intersect with the temporary line segment is set as a candidate for the tip point w of the falling water line creation ( Step 330.334).
Further, from the starting point m, a perpendicular line is dropped to a straight line passing through q k + 1 and q k and a straight line passing through q kk-1 and q kk to make the intersections p k and p kk (step 338.3344), p k , p kk Is a candidate for the tip point w of the falling water line creation for those that are on the line segments q k + 1 q k , q kk + 1 q kk and the line segments of mp k , mp kk do not intersect the temporary line segment (step 341.347).
Then, the point closest to the starting point m is selected from all the candidates for the tip point w as the tip point w for creating the falling water line, and a falling water line is generated by connecting m and w. It is stored in the data file (step 350.351).

ここでさらに、1ランク下に隣接していた等高線データから落水線を生成するために、等高線データQをMに、データ点wをmに置換し(ステップ352)、ssを1インクリメントしてステップ354に進み、mが等高線データのデータ点でないとき、ステップ317に戻って次の落水線データの生成処理に入る。
一方、mが等高線データMのデータ点miiであるときは、fall_j[i][ii]が−10か、また−1か否か判断し、−10であれば、mは終点(ステップ365)であり、−1であれば、ステップ317に戻り落水線データの生成処理に入る。
前記ステップ356において、fall_i[i][ii]が−1でないときは、miiを通る落水線データが既に存在する。そして、miiはfall_i[i][ii]番目の落水線データのfall_j[i][ii]番目の点である(ステップ358)。
Further, in order to generate a falling line from the contour line data adjacent to one rank below, the contour line data Q is replaced with M n , the data point w is replaced with m (step 352), and ss is incremented by one. Proceeding to step 354, when m is not a data point of the contour line data, the process returns to step 317 to enter the next waterfall line data generation process.
On the other hand, when m is the data point m ii of the contour line data M i , it is determined whether fall_j [i] [ii] is −10 or −1. If it is −10, m is the end point (step 365), and if it is -1, the process returns to step 317 and enters the process of generating the falling water line data.
In step 356, when fall_i [i] [ii] is not -1, there is already waterfall data passing through m ii . M ii is the fall_j [i] [ii] th point of the fall_i [i] [ii] th falling water line data (step 358).

このときは、この落水線データWに、当該データ点mから既に生成された落水線データのfall_j[i][ii]+1番目の点から終点までを接続する(ステップ358)。
次いでステップ359において、Wの始点からss番目の点([ss+1]番目の点がmである)について調べる。
ライン番号rの等高線データMのrr番目のデータ点mrrと一致する点については、データ点mrrに、fall_i[r][rr]=Wのライン番号,fall_j[r][rr]=Wでのポイント番号、という属性を与える。
なお、ステップ348において、wの候補が全く存在しないときは、ステップ366の処理をした上で、ステップ311に戻る。
また、ステップ356において、落水線データのfall_i[i][ii]が−1であるときは、落水線データは存在しないのであるから、ステップ317に戻る。
さらに、ステップ355において、落水線データのポイント番号が−10であるときは、既にmから落水線データを延長させようとして不可能であったので、mを落水線データWの終点として、前述のステップ359の処理をする。
At this time, the fall line data Ws already generated from the data point m is connected to the fall line data W s from the fall_j [i] [ii] + 1st point to the end point (step 358).
Next, in step 359, the ssth point from the start point of W (the [ss + 1] th point is m) is examined.
The points that match the rr-th data point m rr contour data M r of the line numbers r are the data points m rr, fall_i [r] [ rr] = W s line number, fall_j [r] [rr] = Give point number at W s .
If there is no w candidate in step 348, the process returns to step 311 after performing the process of step 366.
In step 356, when fall_i [i] [ii] of the waterfall line data is −1, since there is no waterfall data, the process returns to step 317.
Furthermore, in step 355, when the point number of the waterfall line data is −10, it has already been impossible to extend the waterfall line data from m. Step 359 is processed.

ここでさらに、1ランク下に隣接していた等高線データから落水線を生成するために、等高線データQをMに、データ点wをmに置換し(ステップ352)、ステップ317に戻り、ステップ318からステップ353までの処理を繰り返し、落水線の終点に到達するまで落水線を生成し続ける。
そして落水線の終点まで到達したら、再度ステップ311に戻って、次のデータ点から終点に到達するまで落水線データを生成し続ける。
当該等高線データの最後のデータ点からの落水線データの生成が終了したら、1ランク下の等高線データの最初のデータ点から落水線データを生成し、順次この処理を実行し、ライン番号が最大の等高線データに到達したとき落水線データの生成を終了する。
Further, in order to generate a waterfall line from the contour line data adjacent to one rank below, the contour line data Q is replaced with M and the data point w is replaced with m (step 352), and the process returns to step 317 and returns to step 318. To 353 are repeated, and the waterfall line is continuously generated until the end point of the waterfall line is reached.
When the end point of the waterfall line is reached, the process returns to step 311 again to continue generating waterfall line data from the next data point until the end point is reached.
When the generation of waterfall data from the last data point of the contour line data is completed, waterfall line data is generated from the first data point of the contour data one rank below, and this processing is sequentially executed, and the line number with the largest line number is When the contour data is reached, the generation of the falling water data is terminated.

[尾根線の生成プログラム]
最急登線は、山地全体の形状を把握するために重要な情報である。特に尾根線は、特に雪崩との関係が深いことが指摘されており、雪崩のハザードマップ作成、それによる、災害防止に不可欠のものとなっている。
本発明は、出来る限り伝統的な手作業に近い手順で尾根線を生成することを目的とし、数値等高線データのデータ点の中から、尾根下端点に該当する点を選び出し、これらの点から尾根線を発生させるものである。
ここでいう尾根線とは、尾根下端点からのみ発生させた、最も急傾斜で登る最急登線を意味する。
したがって、最も突き出した点である尾根の尾根下端点以外のデータ点からは尾根線は発生されない。この点で、等高線データの全てのデータ点から発生される最急登線とは異なる。
[Ridge line generation program]
The steepest climb is important information for grasping the shape of the entire mountain area. In particular, the ridge line has been pointed out to have a deep relationship with avalanches, and it is indispensable for disaster prevention by creating hazard maps for avalanches.
The object of the present invention is to generate a ridge line by a procedure as close as possible to a traditional manual operation, and from among the data points of numerical contour data, select a point corresponding to the ridge bottom point, and from these points, the ridge line is selected. A line is generated.
The ridge line here means the steepest climb that is generated only from the ridge lower end point and climbs with the steepest slope.
Accordingly, no ridge line is generated from data points other than the ridge bottom end point of the ridge which is the most protruding point. In this respect, it differs from the steepest climb generated from all the data points of the contour line data.

このプログラム(図40参照)は、最初に尾根型斜面であることを規定する上限角度を決定するために、その角度の数値を入力して定義する。
そして、前述した水平断面形分類プログラム(図19〜21参照)を実行し、水平断面形の分類データを出力する。
ついで、この水平断面形の分類データを読み込んで1単位ラインの属性(図49参照)を解析する。
前記解析によって得られたデータに基づいて尾根下端点を決定するサブプログラム(図27参照)を実行し、次いで尾根線を生成するサブプログラムを実行し、尾根線を生成する。
This program (see FIG. 40) is defined by inputting a numerical value of the angle in order to determine an upper limit angle that prescribes a ridge-type slope.
Then, the above-described horizontal sectional shape classification program (see FIGS. 19 to 21) is executed to output horizontal sectional shape classification data.
Next, this horizontal section classification data is read and the attribute of one unit line (see FIG. 49) is analyzed.
A subprogram (see FIG. 27) for determining the ridge lower end point based on the data obtained by the analysis is executed, and then a subprogram for generating a ridge line is executed to generate a ridgeline.

本実施例は、前記水平断面形分類プログラムによって尾根型斜面として分類された一単位のラインを用いることにより、尾根線の始点となる尾根下端点の定義を行う。
本実施例では、θ<5°であるとき、データ点mにおける水平断面形は直線斜面として取り扱う。
尾根下端点を定義するための項目としては、本実施例では、尾根型斜面の角度(∠sps)を用いて尾根下端点を定義しているが、尾根型斜面の幅(D)や尾根型斜面の深さ(L/D)を用いて定義しても良いこと勿論である(図10_2)。
In this embodiment, by using one unit line classified as a ridge-type slope by the horizontal sectional shape classification program, the ridge bottom point that is the starting point of the ridge line is defined.
In this embodiment, when θ j <5 °, the horizontal cross section at the data point m j is treated as a straight slope.
As an item for defining the ridge bottom point, in this embodiment, the ridge bottom point is defined using the angle of the ridge type slope (斜面 s 1 ps 2 ), but the width of the ridge type slope (D 1 ) And the depth of the ridge-type slope (L / D 1 ) may of course be defined (FIG. 10_2).

[1単位ラインの属性解析プログラム]
このプログラムについては、既に段落0036から段落0048にて説明した谷線生成プログラムの1単位ラインの属性解析プログラムと同一であるので、詳しい説明を省略する。
[1 unit line attribute analysis program]
Since this program is the same as the attribute analysis program for one unit line of the valley generation program already described in paragraphs 0036 to 0048, detailed description thereof will be omitted.

[尾根下端点決定プログラム]
尾根下端点となるデータ点を見つけるため、前述の一単位ラインの属性解析プログラムでfile_xyr1に書き出したr=10であるデータ点を結ぶライン(以下「ジグザグライン」という。)を引く。
図27を参照して説明する。
尾根下端点を決定するために先ず、その候補の抽出を行う(図11_2)。
最初に、file_xyr1とその標高ファイルを読み込み、標高の低い等高線から順番に並べ替える(ステップ441−2)。
次いでジグザグラインの線分の最大長Rを決める(ステップ443−2)。
全データ点に、rise_i(等高線データのライン番号,等高線データのポイント番号)=−1、rise_j(等高線データのライン番号,等高線データのポイント番号)=−1という属性を与える。等高線データには、読み込み順に、ライン番号n(1,2,3…,n_end)を与える。このとき、g=0とする(ステップ444−2)。
また、ライン番号nの等高線データをMとし、Mの各データ点に、ポイント番号nn(1,2,3…,nn_end)を与える(ステップ445−2)。
そして、Mのポイント番号nnのデータ点をmとする(ステップ446−2)。次のステップ447−2で、mの属性rが10であるか否か調べ、10であればそのデータ点が尾根下端点の候補であるから、ステップ448−2に移ってrise_i(n,nn)>0かどうか判断する。
ここで、rise_i(n,nn)>0であればジグザグライン番号が既についていて、mを通るジグザグラインが既に存在するので、mを始点とするジグザグラインは発生させない。逆にrise_i(n,nn)>0でなければ、rise_j(n,nn)が−10であるか否か判断し、−10であれば、既に、mからジグザグラインを延長させようとして、不可能であったので、mを始点とするジグザグラインは発生させない。rise_j(n,nn)が−10でないときは、g=g+1として、mをジグザグラインW(ライン番号g)の発生点とする。このとき、mはWのgg番目の点(gg=1)となる(ステップ450−2)。ここで、mからジグザグラインWの延長を試みる。
[Ridge bottom point determination program]
In order to find the data point that becomes the lower end point of the ridge, a line (hereinafter referred to as “zigzag line”) connecting the data points with r = 10 written to file_xyr1 by the attribute analysis program of one unit line described above is drawn.
This will be described with reference to FIG.
In order to determine the ridge bottom point, first, the candidate is extracted (FIG. 11_2).
First, file_xyr1 and its elevation file are read and rearranged in order from the lowest contour line (step 441-2).
Next, the maximum length R of the zigzag line segment is determined (step 443-2).
All data points are given attributes of rise_i (line number of contour line data, point number of contour line data) = − 1 and rise_j (line number of contour line data, point number of contour line data) = − 1. Line numbers n (1, 2, 3,..., N_end) are given to the contour line data in the order of reading. At this time, g = 0 is set (step 444-2).
Further, the contour line data of the line number n is M, and a point number nn (1, 2, 3... Nn_end) is given to each data point of M (step 445-2).
Then, the data point of the M point number nn is set to m (step 446-2). In the next step 447-2, it is checked whether or not the attribute r of m is 10, and if it is 10, the data point is a candidate for the bottom edge of the ridge, so the process proceeds to step 448-2 and rise_i (n, nn). )> 0 is judged.
Here, if rise_i (n, nn)> 0, the zigzag line number has already been set, and there is already a zigzag line passing through m. Therefore, no zigzag line starting from m is generated. Conversely, if rise_i (n, nn)> 0 is not satisfied, it is determined whether rise_j (n, nn) is −10. If it is −10, an attempt is made to extend the zigzag line from m. Since it was possible, a zigzag line starting from m is not generated. When rise_j (n, nn) is not −10, g = g + 1 and m is the generation point of the zigzag line W (line number g). At this time, m is the gg-th point (gg = 1) of W (step 450-2). Here, an attempt is made to extend the zigzag line W from m.

そこで、Mより標高が1ランク高い等高線データが存在するとき、さらにMより高い等高線データのデータ点の中で、属性rが10であるデータ点が、mの半径R以内に存在すれば(ステップ453−2)、上記の点を尾根下端点の選択点とする。また、mの半径R以内に存在するデータ点を含む等高線の線分を仮線分として選ぶ(ステップ454−2)。
ステップ455−2において、mと前記各選択点とを結ぶ各線分(選択線分)の中で前記仮線分と交差しないものが存在するとき、仮線分と交差しない選択線分の中で、長さが最小となる選択点を、mからの延長点wと決定する(ステップ456−2)。
そして、wを含む等高線データをM、wをmに置き換え(ステップ457−2)、次のステップ458−2に進む。ただし、このmを、ライン番号iiの等高線データMのポイント番号jjのデータ点とする。
ここで、rise_i(ii,jj)=−1であれば、ジグザグラインのポイント番号ggを1インクリメントして(ステップ459−2)、ステップ452−2へ戻る。
Therefore, when there is contour data whose elevation is one rank higher than M, among data points of contour data higher than M, if a data point having attribute r is within radius R of m (step 453-2), and the above point is set as a selected point of the ridge lower end point. A contour line segment including a data point existing within the radius R of m is selected as a temporary line segment (step 454-2).
In step 455-2, when there is a line segment (selected line segment) connecting m and each selected point that does not intersect with the temporary line segment, among the selected line segments that do not intersect with the temporary line segment. The selection point having the minimum length is determined as the extension point w from m (step 456-2).
The contour data including w is replaced with M and w is replaced with m (step 457-2), and the process proceeds to the next step 458-2. However, m is a data point of point number jj of contour line data M of line number ii.
Here, if rise_i (ii, jj) = − 1, the zigzag line point number gg is incremented by 1 (step 459-2), and the processing returns to step 452-2.

前記ステップ452−2、453−2においてNoと判断されたときは、いずれもrise_j(n,nn)=−10の属性を与えて、mはWの終点であるとして扱い(ステップ471−2)、ステップ467−2に進んで、先にステップ445−2において付与されたポイント番号の最大値に達しているか否か調べ、達していなければポイント番号nnを1インクリメントしてステップ446−2へ戻る。
ステップ467−2においてポイント番号が最大値に達したと判断されたときは、先にステップ444−2において付与されたライン番号が最大値に達しているか否か調べ、達していなければライン番号nを1インクリメントしてステップ445−2へ戻り、以上の処理を繰り返し実行する。
When it is determined No in Steps 452-2 and 453-2, an attribute of rise_j (n, nn) = − 10 is given, and m is treated as an end point of W (Step 471-2). Then, the process proceeds to step 467-2, where it is checked whether or not the maximum point number assigned in step 445-2 has been reached. If not, the point number nn is incremented by 1 and the process returns to step 446-2. .
When it is determined in step 467-2 that the point number has reached the maximum value, it is checked whether or not the line number assigned in step 444-2 has reached the maximum value. Is incremented by 1, and the process returns to step 445-2 to repeat the above processing.

処理が進んで全ての処理が実行され、ステップ469−2においてYesと判断されたときは、ジグザグラインの作成を終了し、作成されたジグザグラインの始点を尾根下端点と決定する(ステップ473−2)。
最終的な処理として、file_xyr1を再び呼び込み、読み込んだ(x,y)座標が、作成されたジグザグラインの始点の(x,y)座標と等しいとき、rの属性として10を、それ以外ときはr=0に変更し、file_xyr1と同じ形式で書き出す。これをfile_xyr2とする(ステップ474−2)。以上から明らかなように、file_xyr2は、file_xyr1に比べて、属性rの値だけが変化していることとなる。
以上の処理が終了したところで、尾根線生成プログラムのメインルーチンに復帰する。
When the process proceeds and all the processes are executed and it is determined Yes in step 469-2, the creation of the zigzag line is terminated, and the starting point of the created zigzag line is determined as the ridge lower end point (step 473-). 2).
As a final process, file_xyr1 is called again, and when the read (x, y) coordinates are equal to the (x, y) coordinates of the starting point of the created zigzag line, 10 is set as the attribute of r, and otherwise Change to r = 0 and write in the same format as file_xyr1. This is set as file_xyr2 (step 474-2). As is clear from the above, file_xyr2 has only the value of attribute r changed compared to file_xyr1.
When the above processing is completed, the process returns to the main routine of the ridge line generation program.

[最急登線生成プログラム]
尾根線を生成する。
先ず、file_xyr2とその標高ファイルを読み込み、r=10であるデータ点、すなわち尾根下端点からのみ、尾根線データを生成するために、最急登線生成プログラムのサブルーチン(図22参照)に入って、ステップ201をスキップしてステップ202から処理を開始する。
以後の処理内容については、段落0022から段落0031において説明したことと同じであるので、説明を省略する。
[Early Climb Generation Program]
Generate a ridge line.
First, the file_xyr2 and its elevation file are read, and in order to generate the ridge line data only from the data point where r = 10, that is, the ridge bottom point, the subroutine of the steepest ridge generation program (see FIG. 22) is entered. Step 201 is skipped, and processing is started from Step 202.
Since the subsequent processing contents are the same as those described in paragraphs 0022 to 0031, description thereof is omitted.

鞍部等において同じ高さの等高線データを結ぶ線を生成しようとするときは、次の処理をさらに行う。
以下に述べるプログラムは、任意の二つの等高線を結ぶ線分の数は1本とすることを前提としている。
一単位ラインの属性解析プログラムを再度実行する。その際に実行するオプションはOption1(図50参照)である。このときDは計算しない。また、変曲点については書き出さないので、読み込んだデータ点の数と書き出すデータ点の数は等しいこととなる。
一単位ラインの属性解析プログラムを終了したら、メインルーチンに戻って、同高等高線結合線分生成プログラムを実行する。
When generating a line connecting contour line data of the same height in the buttocks or the like, the following processing is further performed.
The program described below assumes that the number of line segments connecting any two contour lines is one.
Execute the unit line attribute analysis program again. The option executed at this time is Option1 (see FIG. 50). At this time D 2 is not calculated. Further, since the inflection points are not written out, the number of read data points is equal to the number of data points to be written.
When the attribute analysis program for one unit line is finished, the process returns to the main routine and the same contour line generation program is executed.

[同高等高線結合線分生成プログラム]
図28乃至30を参照して説明する。
最初に、使用者が、等高線の全長max_length、結合する線分の最大長limit_lengthを入力して決定する。
全長がmax_lengthより短く、始点=終点である等高線データを開始ポリゴンとし、開始ポリゴンと同じ高さの等高線とを結ぶ線分を引く。この線分は、使用者が決定した最大長limit_lengthを越えることはない。
次いでfile_xyrを読み込み、読み込み順にライン番号i(1,2,3…)を与える。等高線の総数をsumとする。また、ライン番号iの等高線のデータ点の総数をP[i]とする(ステップ482)。
また、file_Zを読み込み、各等高線の標高をZ[i]とする(ステップ483)。
次のステップ484において、各等高線について、ライン番号がiであるとき、(1)始点=終点である等高線データには、poly[i]=1という属性を与え、
それ以外の場合はpoly[i]=0という属性を与えるとともに、
(2)全長を計算し、ライン番号line_i[i]と全長line_l[i]を保存一時記憶する。次いで、s=1,i=1とする(ステップ485〜486)。次のステップ487において、poly[i]=1であり、かつ、全長<max_length以下であり、かつ、標高が0より上であれば、ライン番号(poly_i[s]=i)と全長(poly_l[s]=line_l[i])を保存一時記憶して、sを1インクリメントして、ステップ490に進む(ステップ487〜489)。
一方、ステップ487において、poly[i]=1の全長<max_lengthである、標高が0より上である、の条件のいずれかを満たさないときは、同じくステップ490に進む。
ステップ490では、ライン番号iが等高線データの総数sumと等しいか否か判断し、等しくなければ、ライン番号iを1インクリメントして、ステップ487へ戻って処理を繰り返し実行する。
一方、ライン番号iが等高線データの総数sumと等しいと判断されたときは、開始ポリゴンの総数p_numをsとして、開始ポリゴン選択処理を終了する(ステップ492)。
[Same Contour Line Segment Generation Program]
This will be described with reference to FIGS.
First, the user inputs and determines the total length max_length of the contour line and the maximum length limit_length of the line segments to be combined.
Contour data whose total length is shorter than max_length and whose start point = end point is set as the start polygon, and a line segment connecting the contour lines having the same height as the start polygon is drawn. This line segment does not exceed the maximum length limit_length determined by the user.
Next, file_xyr is read and line numbers i (1, 2, 3,...) Are given in the reading order. Let sum be the total number of contour lines. Further, the total number of contour line data points of line number i is set to P [i] (step 482).
Also, file_Z is read, and the elevation of each contour line is set to Z [i] (step 483).
In the next step 484, when the line number is i for each contour line, (1) the attribute poly [i] = 1 is given to the contour line data where the starting point = ending point,
Otherwise, give the attribute poly [i] = 0,
(2) The total length is calculated, and the line number line_i [i] and the total length line_l [i] are saved and temporarily stored. Next, s = 1 and i = 1 are set (steps 485 to 486). In the next step 487, if poly [i] = 1, the total length is less than or equal to max_length, and the altitude is higher than 0, the line number (poly_i [s] = i) and the total length (poly_l [ s] = line_l [i]) is temporarily stored, s is incremented by 1, and the process proceeds to step 490 (steps 487 to 489).
On the other hand, if any of the conditions that poly [i] = 1 total length <max_length and elevation is above 0 is not satisfied in step 487, the process proceeds to step 490.
In step 490, it is determined whether or not the line number i is equal to the total number of contour line data sum. If not, the line number i is incremented by 1, and the process returns to step 487 to repeat the process.
On the other hand, when it is determined that the line number i is equal to the total number sum of contour line data, the total number p_num of start polygons is set to s, and the start polygon selection process is ended (step 492).

次のステップ493で、poly_i[s]とpoly_l[s]をpoly_l[s]が短い順に並べ替える。この処理により、poly_l[1](等高線番号poly_i[1])が、全長が最も短い開始ポリゴンとなるとともに、poly_l[p_sum](等高線番号poly_i[p_sum])が、全長が最も長い開始ポリゴンとなる。
次いで、line_i[i]とline_l[i]をline_l[i]が長い順に並べ替える。
この処理により、line_l[1](等高線番号line_l[1])が、全長が最も長い等高線となり、line_l[sum](等高線番号line_l[sum])が、全長が最も短い等高線となる(ステップ494)。
In the next step 493, poly_i [s] and poly_l [s] are rearranged in order of decreasing poly_l [s]. By this processing, poly_l [1] (contour line number poly_i [1]) becomes the start polygon with the shortest overall length, and poly_l [p_sum] (contour line number poly_i [p_sum]) becomes the start polygon with the longest overall length. .
Next, line_i [i] and line_l [i] are rearranged in order of increasing line_l [i].
By this processing, line_l [1] (the contour line number line_l [1]) becomes the contour line with the longest overall length, and line_l [sum] (the contour line number line_l [sum]) becomes the contour line with the shortest overall length (step 494). .

次のステップ495において、開始ポリゴンと等高線を結ぶ線分を書き出す。
書き出される線分の番号を、number=0とする。また、ii=1と置く(ステップ496)。
次いで、線分を結べるかどうかの検討を行う開始ポリゴンである等高線のライン番号iをpoly_i[ii]とする(ステップ497)。
また、hh=1とした上で、開始ポリゴン(ライン番号i)との線分を結べるかどうかを検討する等高線のライン番号hをline_i[hh]とする(ステップ498〜499)。
そして、標高は0である、開始ポリゴンと開始ポリゴンとの線分を結べるかどうかを検討する等高線の標高が等しくない、開始ポリゴンである等高線のライン番号と開始ポリゴン(ライン番号i)との線分を結べるかどうかを検討する等高線のライン番号hとが等しい、の3条件のいずれかを満たす場合、等高線番号hhが等高線の総数sumと等しくないとき、hhを1インクリメントし(ステップ504)、等しいときは、開始ポリゴンの総数に至っていないとき次の開始ポリゴンを選択し(ステップ506)、開始ポリゴンの総数に至ったとき線分の作成を終了して(ステップ507)、線分を書き出す(ステップ508)。
このときt=1からt=書き出す線分番号の最大値まで、出力ファイルへの書き出しを繰り返し実行する(ステップ509〜511のサイクル)。このときの出力データの形式は、次の表のとおりである。
In the next step 495, a line segment connecting the starting polygon and the contour line is written.
The number of the line segment to be written is number = 0. Also, ii = 1 is set (step 496).
Next, the line number i of the contour line, which is the starting polygon for examining whether or not the line segment can be connected, is set to poly_i [ii] (step 497).
Further, after setting hh = 1, the line number h of the contour line for examining whether or not the line segment with the starting polygon (line number i) can be connected is set to line_i [hh] (steps 498 to 499).
Then, the altitude is 0, and it is examined whether or not the line segments of the start polygon and the start polygon can be connected. If any one of the three conditions of the contour line number h for examining whether or not the minute line is equal is satisfied, if the contour number hh is not equal to the total number sum of contour lines, hh is incremented by 1 (step 504), If equal, if the total number of start polygons has not been reached, the next start polygon is selected (step 506). When the total number of start polygons has been reached, the creation of the line segment is terminated (step 507) and the line segment is written out (step 507). Step 508).
At this time, writing to the output file is repeatedly executed from t = 1 to t = maximum line segment number to be written (cycle of steps 509 to 511). The format of the output data at this time is as shown in the following table.

(表2)
tの値が書き出す線分番号の最大値まで達したとき、出力ファイルへの書き出しを停止する(ステップ511)。
(Table 2)
When the value of t reaches the maximum line segment number to be written, writing to the output file is stopped (step 511).

一方、ステップ500〜502において、標高は0である、開始ポリゴンと開始ポリゴンとの線分を結べるかどうかを検討する等高線の標高が等しくない、開始ポリゴンである等高線のライン番号と開始ポリゴン(ライン番号)との線分を結べるかどうかを検討する等高線のライン番号とが等しい、の3条件のいずれをも満たさないとき、ステップ514以降において、開始ポリゴン(ライン番号i)と等高線(ライン番号h)を結ぶラインが存在するかどうかを調べる。そして、二つの等高線を最短距離で結ぶデータ点の組合せを捜す。 On the other hand, in steps 500 to 502, the elevation is 0, and it is examined whether or not the line segments of the start polygon and the start polygon can be connected. When the line number of the contour line for which it is considered whether or not the line segment can be connected to the line number is equal, if none of the three conditions is satisfied, the starting polygon (line number i) and the contour line (line number h) are ) To see if there is a line connecting. Then, a combination of data points connecting the two contour lines with the shortest distance is searched.

ステップ514で、tmp_j=−1,tmp_g=−1,ll=100000[m]とおき、次に、j=1とおく。このjは、開始ポリゴンのポイント番号である(ステップ515)。そして、この点jが尾根型斜面(r=1)であるデータ点であるか否か判断し、Yesであれば、g=1とおく。gは開始ポリゴンとの線分を結べるかどうかを検討する等高線hのポイント番号である。
そして、点gが尾根型斜面(r=1)であるデータ点あれば(ステップ518)、poly[h]=1かつg=p[h]でなければ、点jと点gの距離lを計算し(ステップ520)、llがlより大きいとき、tmp_j=j,tmp_g=g,ll=lとして、ステップ523へ進む。また、llが1より小さいときは、直接ステップ523へ進む。
ステップ523において、開始ポリゴンとの線分を結べるかどうかを検討する等高線hのポイント番号の総数でないとき、gを1インクリメントして、ステップ518に戻り、開始ポリゴンとの線分を結べるかどうかを検討する等高線hのポイント番号の総数であるときは、ステップ525へ進む。そして、jの値が開始ポリゴンのポイント数の総数に達していないときは、jを1インクリメントして(ステップ526)、ステップ516へ戻る。
ステップ525において、jの値が開始ポリゴンのポイント数の総数に達していれば、ステップ527に進んで、tmp_jが−1であるか否か調べ、−1であれば、再度ステップ503に戻る。
In step 514, tmp_j = -1, tmp_g = -1, ll = 100000 [m], and then j = 1. This j is the point number of the starting polygon (step 515). Then, it is determined whether or not the point j is a data point that is a ridge-type slope (r = 1). If Yes, g = 1 is set. g is a point number of a contour line h for examining whether or not a line segment with the starting polygon can be connected.
If the point g is a data point having a ridge slope (r = 1) (step 518), if poly [h] = 1 and g = p [h], the distance l between the point j and the point g is set. Calculate (step 520), and when ll is larger than l, tmp_j = j, tmp_g = g, and ll = l, and the process proceeds to step 523. On the other hand, when ll is smaller than 1, the process proceeds directly to step 523.
In step 523, if it is not the total number of point numbers of the contour line h for examining whether or not the line segment with the starting polygon can be connected, g is incremented by 1, and the process returns to step 518 to determine whether or not the line segment with the starting polygon can be connected. When the total number of point numbers of the contour line h to be examined is reached, the process proceeds to step 525. If the value of j has not reached the total number of points of the starting polygon, j is incremented by 1 (step 526), and the process returns to step 516.
In step 525, if the value of j has reached the total number of points of the starting polygon, the process proceeds to step 527, where it is checked whether tmp_j is -1, and if it is -1, the process returns to step 503 again.

一方、ステップ527においてtmp_jが−1でないときは、j=tmp_j,g=tmp_gとおき、以下のステップを実行することにより点jに最も近い、h上の点を捜す。
ステップ530において、times=1,tt=0,x1=x[i][j],y1=y[i][j]とおく。ここで、(x[i][j],y[i][j])はライン番号iの等高線のポイント番号jのデータ点の(x,y)座標である。
次にステップ531において、開始ポリゴンとの線分を結べるかどうかを検討する等高線hのポイント番号の総数が5以下であれば、ステップ532へ進んでstart1=l,end1=P[h]とする。
また、hのポイント番号の総数が5を越えるときは、当該ポイント番号が1であるとき、start1=l,end1=3とし、ポリゴンであればさらに、times=2,start2=p[h]−2,end2=p[h]とする(ステップ536)。
また、当該ポイント番号が2であるとき、start1=l,end1=4とし、ポリゴンであればさらに、times=2,start2=p[h]−1,end2=p[h]とする(ステップ540)。
当該ポイント番号がポイント番号の総数と等しいとき、start1=p[h]−3,end1=p[h]とする(ステップ542)。
当該ポイント番号が(ポイント番号の総数−1)と等しいとき、start1=p[h]−3,end1=p[h]とし、ポリゴンであればさらに、times=2,start2=1,end2=2とする(ステップ546)。
そして、ステップ531、533、537、541、543における判断がいずれもNoであるとき、start1=g−2,end1=g+2として(ステップ547)、ステップ548に進む。
また、ステップ531、533、537、541、543における判断がYesであったとき、次の処理を実行した後も、ステップ548へ進む。
On the other hand, when tmp_j is not −1 in step 527, j = tmp_j and g = tmp_g are set, and the point on h closest to point j is searched by executing the following steps.
In step 530, time = 1, tt = 0, x1 = x [i] [j], and y1 = y [i] [j]. Here, (x [i] [j], y [i] [j]) is the (x, y) coordinates of the data point of the point number j of the contour line of the line number i.
Next, at step 531, if the total number of point numbers of the contour line h for examining whether or not the line segment with the start polygon can be connected is 5 or less, the process proceeds to step 532 and start1 = 1 and end1 = P [h]. .
Further, when the total number of point numbers of h exceeds 5, when the point number is 1, start1 = 1, end1 = 3, and in the case of a polygon, further, times = 2, start2 = p [h] − 2, end2 = p [h] (step 536).
Further, when the point number is 2, start1 = 1, end1 = 4, and in the case of a polygon, further, times = 2, start2 = p [h] -1, end2 = p [h] (step 540). ).
When the point number is equal to the total number of point numbers, start1 = p [h] −3 and end1 = p [h] are set (step 542).
When the point number is equal to (total number of point numbers −1), start1 = p [h] −3, end1 = p [h], and in the case of a polygon, further, times = 2, start2 = 1, end2 = 2 (Step 546).
When the determinations in steps 531, 533, 537, 541, and 543 are all No, start1 = g−2 and end1 = g + 2 are set (step 547), and the process proceeds to step 548.
If the determinations in steps 531, 533, 537, 541, and 543 are Yes, the process proceeds to step 548 even after the next process is executed.

このステップ548以降の処理により、点jと、h上のstart1からend1までのデータ点との線分について検討する。
先ず、k=start1とする(ステップ549)。
つぎのステップ550で、x2=x[h][k],y2=y[h][k]とおく。
以下のステップを実行することにより、(x1,y1)と(x2,y2)を端点とする線分tmp_segmentが、等高線と交差するかどうか調べる。この際、標高がZ[i]、および、Z[i]より1ランク低い標高の等高線についてのみ調べればよい。
ステップ552において、(x1,y1)と(x2,y2)を端点とする線分tmp_segmentが、等高線と交差するか否か判断する。
次のステップ553にて、tmp_segmentの長さlについて、limit_lengthが1以上であるか調べ、1以上であるときx2,y2,1を保存する。また、tt=tt+1 tmp_x[tt]=x2,tmp_y[tt]=y2,tmp_l[tt]=lとして(ステップ554)、次のステップ555に進み、k=end1か否かを判断する。Noと判断されたときkを1インクリメントしてステップ550へ戻り、以上の処理を繰り返す。
ステップ552において、(x1,y1)と(x2,y2)を端点とする線分tmp_segmentが、等高線と交差すると判断されたときは、データを保存することなく、ステップ555へ進む。
ステップ555において、kの値がend1に達したとき、ステップ557以降の処理により、等高線のデータ点start1からend1までの各線分について、ある程度長いものについては、線分上の中間点(線分をn等分(nは整数)する点)についても調べる。
このとき、n等分された線分のそれぞれの長さはmin_lengthより長いものとする。このmin_lengthは使用者が入力して決定する。
ステップ559にてkの値をstart1とする。
(x[h][k],y[h][k])と(x[h][k+1],y[h][k+1])を端点とする等高線の線分の長さ12が、min_length×2以上のとき、_nを12/min_lengthの商に決定する。
次のステップ562で、Sign=1とする。
す560において、x[h][k],y[h][k]とx[h][k+1],y[h][k+1]を端点とする等高線の線分の長さ12が、min_length×2未満のときは、kの値がend1−1か否か調べ、Noであればkを1インクリメントして(ステップ569)ステップ560へ戻り、Yesであればステップ572へジャンプする。
ステップ563に進んで、x2とy2の座標の演算を行う。
By the processing after step 548, the line segment between the point j and the data point from start1 to end1 on h is examined.
First, k = start1 is set (step 549).
In the next step 550, x2 = x [h] [k] and y2 = y [h] [k] are set.
By executing the following steps, it is checked whether or not the line segment tmp_segment having (x1, y1) and (x2, y2) as endpoints intersects the contour line. At this time, it is only necessary to examine only the contour lines whose elevation is one rank lower than Z [i] and Z [i].
In step 552, it is determined whether or not the line segment tmp_segment having the end points at (x1, y1) and (x2, y2) intersects the contour line.
In the next step 553, with respect to the length l of tmp_segment, it is checked whether limit_length is 1 or more, and when it is 1, x2, y2, 1 are stored. Also, tt = tt + 1 tmp_x [tt] = x2, tmp_y [tt] = y2, tmp_l [tt] = l (step 554), the process proceeds to the next step 555, and it is determined whether k = end1. When it is determined No, k is incremented by 1, and the process returns to Step 550 to repeat the above processing.
If it is determined in step 552 that the line segment tmp_segment having (x1, y1) and (x2, y2) as endpoints intersects the contour line, the process proceeds to step 555 without saving the data.
In step 555, when the value of k reaches end1, with respect to each line segment from the contour data points start1 to end1 by a process after step 557, an intermediate point (line Also check n equal points (points where n is an integer).
At this time, the length of each of the n equally divided line segments is longer than min_length. This min_length is determined by input by the user.
In step 559, the value of k is set to start1.
The length 12 of the contour line segment whose end points are (x [h] [k], y [h] [k]) and (x [h] [k + 1], y [h] [k + 1]) is min_length. When x2 or more, _n is determined as a quotient of 12 / min_length.
In the next step 562, Sign = 1 is set.
560, the length 12 of the contour line segment whose end points are x [h] [k], y [h] [k] and x [h] [k + 1], y [h] [k + 1] is min_length. When it is less than x2, it is checked whether or not the value of k is end1-1. If it is No, k is incremented by 1 (step 569) and the process returns to step 560.
Proceeding to step 563, the coordinates of x2 and y2 are calculated.

(式2)

(Formula 2)

次のステップ564以降の処理で、(x1,y1)と(x2,y2)を端点とする線分tmp_segmentが、等高線と交差するかどうか調べる。標高がZ[i]、および、Z[i]より1ランク低い標高の等高線についてのみ調べればよい。
(x1,y1)と(x2,y2)を端点とする線分tmp_segmentが、等高線と交差するときは、sign=n−1であるかどうか調べ、sign=n−1でないときは、signを1インクリメントしてステップ563へ戻って以上の処理を繰り返し実行する。sign=n−1であるときは、ステップ571に進んでkの値がendi−1より大きいか否か判断する。kの値がendi−1より等しくないときは、kを1インクリメントして、S563へジャンプする。
kの値がendi−1に等しいときはtimesが2であるか否か判断し、2であれば、start1=start2、end1=end2、times=1とした(ステップ573)上で、ステップ548へ戻る。timesが2でないときは、ttが0か否か判断し、ttが0のときはステップ503に戻り、ttが0でないときは、ttが2以上か否か判断する。そして、2以上であれば、tmp_1[tt]が小さい順に、tmp_x[tt]=x2とtmp_y[tt]=y2とともに並べかえ(ステップ576)、次のステップ577でnumberを1インクリメントする(ステップ577)。
そして、次のステップ578で、二つの等高線をつなぐ新しい線分new_segmentとして、下記の情報を保存する。
In the processing after the next step 564, it is checked whether or not the line segment tmp_segment having the end points at (x1, y1) and (x2, y2) intersects the contour line. It suffices to examine only the contour lines whose elevation is Z [i] and an elevation that is one rank lower than Z [i].
When the line segment tmp_segment with (x1, y1) and (x2, y2) as the end points intersects the contour line, it is checked whether sign = n−1, and when sign = n−1, the sign is set to 1. Increment and return to step 563 to repeat the above processing. When sign = n−1, the process proceeds to step 571 to determine whether or not the value of k is larger than endi−1. When the value of k is not equal to endi-1, k is incremented by 1, and the process jumps to S563.
When the value of k is equal to endi-1, it is determined whether or not times is 2. If it is 2, then start1 = start2, end1 = end2, and times = 1 are set (step 573), and then to step 548. Return. When times is not 2, it is determined whether or not tt is 0. When tt is 0, the process returns to step 503, and when tt is not 0, it is determined whether or not tt is 2 or more. If it is 2 or more, tmp_1 [tt] is rearranged together with tmp_x [tt] = x2 and tmp_y [tt] = y2 in ascending order (step 576), and the number is incremented by 1 in the next step 577 (step 577). .
Then, in the next step 578, the following information is stored as a new line segment new_segment connecting the two contour lines.

(表3)

(Table 3)

次いで、new_segmentが、これまでに作成した線分segmentと交差するか否か調べる。
ステップ581において、numberが1であるか否か調べ、1であればステップ503へ戻り、1でなければtを1とし(ステップ582)て、(one_x[t],one_y[t])と(two_x[t],two_y[t])を端点とする線分pre_segment[t]とnew_segmentが交差するかどうか調べる。
これらが交差するときは、final_l[t]がfinal[number]より小さいとき、pre_segment[t]とnew_segmentの情報を入れかえ(ステップ586)、ステップ587へ進んで、number=number−1として、ステップ503へ戻る。
また、final_l[t]がfinal[number]より小さくないとき、ステップ587へジャンプしてnumber=number−1として、ステップ503へ戻る。
さらに、(one_x[t],one−y[t])と(two−x[t],two−y[t])を端点とする線分pre_segment[t]とnew_segmentが交差しない場合は、tがnumber−1と等しくないときtを1インクリメントし、tがnumber−1と等しいときpre_segment[t]とnew_segmentのとの関係を調べる。
ステップ591にてtを1として、次のステップ592において、new_segmentがつなぐ二つの等高線について、pre_segment[t]が、既に、つないでいるか否か判断する。
判断の結果、Noのときは、new_segmentがつなぐ二つの等高線(ライン番号iとh)のうちの一方の等高線(仮にM)の1点が、pre_segment[t]の端点であるか否かさらに判断し(ステップ593)、new_segmentとpre_segment[t]の、M上の端点2点の距離l3を計算する(ステップ594)。その結果、l3が1000を越えないとき、new_segmentとpre_segment[t]を、それぞれ、M上の1点を始点とするベクターと考え、二つのベクターが成す角θを計算し(ステップ596)、θ<45°かつl3<500であるかどうか判断した後、さらにfinal_l[t]<final_l[number]であるかどうか判断し(ステップ597〜598)、いずれもYesのときpre_segment[t]とnew_segmentの情報を入れ替えた後、number=number−1の処理をしてから(ステップ599)、ステップ503へ戻る。ステップ598の判断結果がNoのときはステップ600の処理をしてステップ503へ戻る。
また、ステップ592の判断結果がYesのときは、final_l[t]<final_l[number]であるとき、pre_segment[t]とnew_segmentの情報を入れかえた後、number=number−1の処理をしてステップ503に戻る(ステップ601〜603)。
さらに、ステップ593の判断結果がNo、ステップ595の判断結果がYesのときは、ステップ503へ戻る。
Next, it is checked whether or not new_segment intersects with the segment segment created so far.
In step 581, whether number is 1 or not is checked. If it is 1, the process returns to step 503, and if it is not 1, t is set to 1 (step 582), It is checked whether or not a line segment pre_segment [t] and new_segment intersecting with two_x [t], two_y [t]) as endpoints.
When these intersect, when final_l [t] is smaller than final [number], information of pre_segment [t] and new_segment is replaced (step 586), and the process proceeds to step 587, where number = number-1 and step 503 is set. Return to.
When final_l [t] is not smaller than final [number], the process jumps to step 587 to set number = number-1 and returns to step 503.
Furthermore, if the line segments pre_segment [t] and new_segment that end at (one_x [t], one-y [t]) and (two-x [t], two-y [t]) do not intersect, t When t is not equal to number-1, t is incremented by 1. When t is equal to number-1, the relationship between pre_segment [t] and new_segment is examined.
In step 591, t is set to 1. In the next step 592, it is determined whether or not pre_segment [t] has already been connected for two contour lines connected by new_segment.
If the result of determination is No, it is further determined whether one point of one of the contour lines (line numbers i and h) connected by new_segment is the end point of pre_segment [t]. Then (step 593), the distance l3 between the two end points on M between new_segment and pre_segment [t] is calculated (step 594). As a result, when l3 does not exceed 1000, new_segment and pre_segment [t] are considered as vectors starting from one point on M, respectively, and an angle θ formed by the two vectors is calculated (step 596). After determining whether <45 ° and l3 <500, it is further determined whether final_l [t] <final_l [number] (steps 597 to 598). If both are Yes, pre_segment [t] and new_segment After the information is exchanged, the process of number = number-1 is performed (step 599), and the process returns to step 503. If the determination result in step 598 is No, the process of step 600 is performed and the process returns to step 503.
When the determination result in step 592 is Yes, if final_l [t] <final_l [number], the information of pre_segment [t] and new_segment is replaced, and then the process of number = number-1 is performed. Return to 503 (steps 601 to 603).
Further, when the determination result of step 593 is No and the determination result of step 595 is Yes, the process returns to step 503.

[谷次数の計算]
斜面崩壊の発生場所が、特定の谷次数nの位置に集中していれば、まだ崩壊が起きていない谷次数nの部分は、他と比べ、崩壊の危険が高い。したがって、谷線に沿って得られる谷次数は、侵食の進み具合や、崩壊の傾向や危険度を把握するために重要な情報である。このプログラムは、最初に谷線生成プログラムを実行して谷線を生成し、次いで前記生成した谷線を水系毎に分類する水系分類プログラムを実行して得られた水系分類データを読み込んで、谷次数の計算を行うものである。勿論、落水線を用いてもよい(図45)。
[Calculation of valley order]
If the occurrence sites of the slope collapse are concentrated at the position of the specific valley order n, the portion of the valley order n where the collapse has not yet occurred has a higher risk of collapse than others. Therefore, the valley order obtained along the valley line is important information for grasping the progress of erosion, the tendency of collapse, and the degree of danger. This program first executes the valley line generation program to generate valley lines, and then reads the water system classification data obtained by executing the water system classification program for classifying the generated valley lines for each water system. The order is calculated. Of course, a falling water line may be used (FIG. 45).

谷線生成プログラムについては前述したので、水系分類プログラム(図43)について以下詳しく説明する。
前提として、標高が同じ二つの谷線(落水線)データのデータ点(終点)の距離がd[m]以内(デフォルトは0.5[m])であるとき、二つの谷線(落水線)データは合流するとする。
本発明の落水線作成手法は、隣り合う等高線、したがって標高の異なる等高線を直線でつなげることから、屈曲の激しい部分では、落水線は途切れる。
このような部分は、全体からみるとわずかな数なので、現在、途切れた部分については、手作業でつなぐのが最も実用的である。
そこで、作成された落水線の中で、途切れている部分があれば、その部分を手作業でつないで落水線データを補正し、当該補正した落水線データを解析対象とする。
Since the valley line generation program has been described above, the water system classification program (FIG. 43) will be described in detail below.
As a premise, when the distance between the data points (end points) of two valley lines (falling line) data with the same altitude is within d [m] (default is 0.5 [m]), the two valley lines (falling line) ) Data will be merged.
The falling water line creation method of the present invention connects adjacent contour lines, and therefore, contour lines having different altitudes with straight lines.
Since there are only a small number of such parts as a whole, it is currently most practical to connect the disconnected parts manually.
Therefore, if there is an interrupted portion in the created waterfall line, the portion is manually connected to correct the waterfall data, and the corrected waterfall data is set as an analysis target.

[水系分類プログラム]
水系については、本発明で、同一の終点に収束する谷線(落水線)データは、同じ水系であると定義している。
実際には、標高が同一の2つの谷線(落水線)の終点の平面距離がd[m]以内であるとき、この2つの谷線(落水線)は同一の終点に収束する、というように処理している。
この実施例では、デフォルトはd=0.0[m]としている。例えば、元データが縮尺1:25,000の等高線であり、図上0.1[mm]しか離れていない終点を同一としたいときは、d=2.5[m]となる。このdは、本発明では解析者が目的に応じて入力するようにしてある。
また、最低f本以上の谷線(落水線)が同一の終点を持つとき、これらの谷線(落水線)が水系を形成する、としている。このfは、本発明を使って解析する人が目的に応じて入力するようにしてある。
図43のステップ611において、上記補正済みの谷線(落水線)データを読み込み、全ての谷線(落水線)データに水系番号−1という属性を与える。
次のステップ612でk=1、s=1とおく。次のステップ613で、Wの終点をwとし、sより谷線(落水線)番号が大きい谷線(落水線)データの中から、終点の標高がwと同じであり、水平距離がd(使用者が決定)以内である谷線(落水線)データを選ぶ。これらの谷線(落水線)の総数が、f以上であるとき(ステップ614)、選ばれた谷線(落水線)それぞれに水系番号kを与える(ステップ615)(図12_1_B)。また、総数がfより小さい場合は、選ばれた谷線(落水線)それぞれに水系番号−10という属性を与える(ステップ616)(図12_1_A)。sが最大の谷線(落水線)番号(ステップ617)であればメインルーチンに復帰終了し、でなければ谷線(落水線)番号に+1をする(ステップ618)、Wの属性が−10(ステップ619)であればステップ617へジャンプする。Wの属性が−10でない場合、ステップ620においてWの属性>0のときは同様にステップ617へジャンプする。満たさないものは、水系番号に+1を与えステップ613へジャンプする。
以上の処理にて、谷線(落水線)は水系毎に分類される。
なお、水系番号毎(例えば、1,2,3,…)に、谷線(落水線)の色を変えることにより、谷線(落水線)をベースにして、分類された水系を表示、印刷することができ、視覚的に理解し易い水系図を作成することができる。
[Water system classification program]
Regarding the water system, in the present invention, valley line (falling line) data that converge to the same end point is defined as the same water system.
Actually, when the plane distance between the end points of two valley lines (falling line) with the same altitude is within d [m], the two valley lines (falling line) converge to the same end point. Is processed.
In this embodiment, the default is d = 0.0 [m]. For example, if the original data is a contour line with a scale of 1: 25,000 and it is desired to make the end points separated by only 0.1 [mm] in the figure the same, d = 2.5 [m]. In the present invention, this d is input according to the purpose by an analyst.
In addition, when at least f or more valley lines (falling lines) have the same end point, these valley lines (falling lines) form a water system. This f is input according to the purpose by a person who analyzes using the present invention.
In step 611 of FIG. 43, the corrected valley line (falling line) data is read, and an attribute of water system number −1 is given to all valley line (falling line) data.
In the next step 612, k = 1 and s = 1 are set. In the next step 613, the end point of W s is set as w, the altitude of the end point is the same as w from the valley line (falling line) data having a valley line (falling line) number larger than s, and the horizontal distance is d. Select the valley line (falling line) data that is within (determined by the user). When the total number of these valley lines (falling lines) is greater than or equal to f (step 614), a water system number k is given to each selected valley line (falling line) (step 615) (FIG. 12_1_B). When the total number is smaller than f, the attribute of the water system number −10 is given to each selected valley line (falling line) (step 616) (FIG. 12_1_A). If s is the maximum valley line (falling line) number (step 617), the process returns to the main routine, otherwise, the valley line (falling line) number is incremented by 1 (step 618), and the attribute of W s is − If it is 10 (step 619), the process jumps to step 617. If the attribute of W s is not −10, if the attribute of W s > 0 in step 620, the process jumps to step 617 in the same manner. If not satisfied, +1 is given to the water system number, and the process jumps to step 613.
Through the above processing, the valley line (falling line) is classified for each water system.
For each water system number (for example, 1, 2, 3, ...), the color of the valley line (falling line) is changed to display and print the classified water system based on the valley line (falling line). It is possible to create a water map that is easy to understand visually.

次いで図46、47を参照して谷次数計算プログラムについて説明する。
先ず、水系分類を行った谷線データを読み込み(ステップ631)、次のステップ632にて、α=等高線の標高間隔(デフォルトは、α=10[m])とする。また、s=1とする。
以後、水系毎に谷次数を計算する。ここでk=1とする。このkは水系毎に付与される水系番号(1,2,3,…,k_end)である。
次のステップ634において、水系番号kである谷線データを始点の標高が高い順に並べ替え、仮番号h(1,2,3,…,h_end)を与える。仮番号1の谷線データWの始点の標高をmax_Z,終点の標高をmin_Zとする(図13)。
本実施例では、谷次数の計算の基になるデータを谷線としているが、落水線であってもよい。
仮番号hの谷線データWのg番目のデータ点をwh,gとするとき、Wのデータ点の総数をP[h]個とする。線分のwh,gh,g+1の起点をwh,g、先端点をwh,g+1とする。
このとき、wh,gの標高は、wh,g+1の標高より高い。
先ず、起点が谷線データの始点にあたる線分wh,1h,2の谷次数には、あらかじめ0を与える。
Next, the valley order calculation program will be described with reference to FIGS.
First, valley data subjected to water system classification is read (step 631), and in the next step 632, α = altitude interval between contour lines (default is α = 10 [m]). Further, s = 1.
Thereafter, the valley order is calculated for each water system. Here, k = 1. This k is a water system number (1, 2, 3,..., K_end) assigned to each water system.
In the next step 634, the valley data having the water system number k is rearranged in descending order of the elevation of the starting point, and provisional numbers h (1, 2, 3,..., H_end) are given. The starting altitude of the valley line data W 1 of the temporary number 1 max_z, the elevation of the end point and min_z (Figure 13).
In this embodiment, the data used as the basis for calculating the valley order is a valley line, but it may be a falling water line.
When the g-th data point of the valley line data W h of the temporary number h is set to w h, g , the total number of data points of W h is P [h]. The starting point of the line segment w h, g w h, g + 1 is set as w h, g and the tip point is set as w h, g + 1 .
In this case, the altitude of w h, g is greater than w h, g + 1 of the elevation.
First, 0 is given in advance to the valley orders of the line segments w h, 1 w h, 2 whose starting point is the starting point of the valley line data.

ステップ636において、E=max_Zとし、次のステップにおいてh=1とする。その次に、Count=0とする(ステップ638)。
次いで、Wのデータ点の総数P[h]が0であるか否か判断する。
のデータ点の総数が0でないとき、Wのデータ点について、ポイント番号が小さい順にデータ点の標高がEと等しい点を捜す。ここでg=1とおく。
次に、[wh,gの標高]がEであるか否か判断する(ステップ641)。[wh,gの標高]がEであるとき、Countが0であれば、i=h、j=gとするとともに、線分wi,ji,j+1を基準線分とする。このとき、tmp=−1、count=1、order=−1として(ステップ643)、ステップ647へ戻って、仮番号hが最終の番号であるか否か判断し、次のステップに移行する。
In step 636, E = max_Z, and in the next step, h = 1. Next, Count = 0 is set (step 638).
Next, it is determined whether or not the total number P [h] of data points of W h is 0.
When the total number of data points of W h is not 0, for the data points of W h , the point where the elevation of the data point is equal to E is searched in order of increasing point number. Here, g = 1 is set.
Next, it is determined whether or not [wh , g elevation] is E (step 641). When [Elevation of w h, g ] is E and Count is 0, i = h, j = g and line segments w i, j w i, j + 1 are set as reference line segments. At this time, tmp = −1, count = 1, order = −1 (step 643), the process returns to step 647, it is determined whether or not the temporary number h is the final number, and the process proceeds to the next step.

一方、[wh,gの標高]がEより大きいとき、wh,g+1がWの終点であるか否か判断し(ステップ645)、終点でなければgを1インクリメントして、ステップ641に戻る。
ステップ645においてwh,g+1がWの終点であるとき、ステップ644において[wh,gの標高]がEより小さいとき、及びステップ649において線分wi,ji,j+1と線分wh,gh,g+1がwi,j+1で合流しないと判断されたときは、いずれもステップ647へ進む。
ステップ647において、仮番号hが最終の番号であるか否か判断し、最終の番号でないとき、hを1インクリメントして(ステップ648)、ステップ639に戻る。
On the other hand, when [elevation of w h, g ] is greater than E, it is determined whether or not w h, g + 1 is the end point of W h (step 645). Return to.
When w h, g + 1 is the end point of W h in step 645, when [elevation of w h, g ] is smaller than E in step 644, and in step 649, the line segments w i, j w i, j + 1 and the line segment If it is determined that w h, g w h, g + 1 do not merge at w i, j + 1 , the process proceeds to step 647.
In step 647, it is determined whether or not the temporary number h is the final number. If it is not the final number, h is incremented by 1 (step 648), and the process returns to step 639.

ステップ649において線分wi,ji,j+1と線分wh,gh,g+1がwi,j+1で合流すると判断されたときは、谷次数の計算を実行するため、ステップ650へ進む。
ステップ650では、hとgを保存し、P[h]=0とする。これは、wi,j+1より下流において、WとWの重複をさけるために行うものである(図17、18)。
そして、ステップ651において、tmpが負か否かチェックし(tmpの意味は段落0098参照)、負の数であれば、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数と等しいとき、ステップ653において、tmp=5、order=(wi,ji,j+1の谷次数)+1の処理を行う。また、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数より大きいとき、ステップ655において、tmp=1、order=(wi,ji,j+1の谷次数)とする。
さらに、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数より小さいとき、ステップ656において、tmp=10、order=(線分wh,gh,g+1の谷次数)とする。
If it is determined in step 649 that the line segments w i, j w i, j + 1 and the line segments w h, g w h, g + 1 meet at w i, j + 1 , the flow proceeds to step 650 to calculate the valley order. move on.
In step 650, h and g are stored, and P [h] = 0 is set. This is performed in order to avoid duplication of W i and W h downstream of w i, j + 1 (FIGS. 17 and 18).
In step 651, it is checked whether tmp is negative (see paragraph 0098 for the meaning of tmp). If negative, the valley order of the line segments w i, j w i, j + 1 is the line segment w h, When it is equal to the valley order of g w h, g + 1 , in step 653, processing of tmp = 5, order = (valley order of w i, j w i, j + 1 ) +1 is performed. When the valley order of the line segments w i, j w i, j + 1 is larger than the valley order of the line segments w h, g w h, g + 1 , in step 655, tmp = 1, order = (wi , j w i , J + 1 valley order).
Further, when the valley order of the line segments w i, j w i, j + 1 is smaller than the valley order of the line segments w h, g w h, g + 1 , in step 656, tmp = 10, order = (line segments w h, g w h, g + 1 valley order).

以上の処理が終了したら、ステップ647に戻る。
ステップ647において、仮番号hが最終の番号h_endでないとき、hを1インクリメントしてステップ639へ戻る。
仮番号hが最終の番号h_endであるときは、ステップ657へ進み、orderが負の数であれば、線分wi,j+1i,j+2の谷次数を線分wi,ji,j+1の谷次数と同一にし(ステップ658)、orderが0以上の数であれば、wi,j+1i,j+2の谷次数をorderの数とする(ステップ659)。
When the above processing is completed, the process returns to step 647.
In step 647, when the temporary number h is not the final number h_end, h is incremented by 1, and the process returns to step 639.
When the temporary number h is the final number h_end, the process proceeds to step 657. If order is a negative number, the valley number of the line segment w i, j + 1 w i, j + 2 is determined as the line segment w i, j w i, If the order is the same as the rank of j + 1 (step 658) and order is a number greater than or equal to 0, the rank of w i, j + 1 w i, j + 2 is set as the order number (step 659).

ステップ651において、tmpが0以上であるとき、Option−v1(図47)のサブルーチンに入る。
このサブルーチンは、三本以上の谷線データが、1点で合流する場合に実行されるものである(tmpの意味は段落0098参照)。
ステップ671において、wi,ji,j+1の谷次数がwh,gh,g+1の谷次数と等しく、かつ、tmp=1であるとき、tmp=5とするとともに、order=(wi,ji,j+1の谷次数)+1とする(ステップ672)。
また、ステップ671において、wi,ji,j+1の谷次数がwh,gh,g+1の谷次数と等しくないか、またはtmp=1でないとき、wi,ji,j+1の谷次数がwh,gh,g+1の谷次数より小さいか否か判断する。判断結果がYesであれば、tmpが1か、5か、10か、15かがチェックされ(ステップ674、676、678、683)、ステップ674とステップ676においてYesのとき、tmp=10、order=(wh,gh,g+1の谷次数)の処理がされる。
また、ステップ678においてtmp=10であり、ステップ679においてwh,gh,g+1の谷次数がorderであるときは、tmp=15、order=wh,gh,g+1の谷次数+1の処理を行う(ステップ680)。
そして、ステップ679においてwh,gh,g+1の谷次数がorderでないときは、ステップ681に進んでwh,gh,g+1の谷次数がorderより大きいか否かを判断し、大きければtmp=10、order=wh,gh,g+1の谷次数の処理を行う(ステップ682)。
さらに、ステップ683において、tmp=15であるとき、order=wh,gh,g+1の谷次数が、order(以上あるか否か)の判断をして、Yesのとき、tmp=10、order=wh,gh,g+1の谷次数の処理を行い(ステップ685)、Noのとき、処理を終了してステップ647に戻る。
In step 651, when tmp is 0 or more, the subroutine of Option-v1 (FIG. 47) is entered.
This subroutine is executed when three or more valley line data merge at one point (see paragraph 0098 for the meaning of tmp).
In step 671, when the valley order of w i, j w i, j + 1 is equal to the valley order of w h, g w h, g + 1 and tmp = 1, tmp = 5 and order = (w i, j w i, j + 1 trough order) +1 (step 672).
In step 671, when the valley order of w i, j w i, j + 1 is not equal to the valley order of w h, g w h, g + 1 or tmp = 1, w i, j w i, j + 1 valley orders w h, g w h, small it is judged whether or not than g + 1 of the valley degree. If the determination result is Yes, it is checked whether tmp is 1, 5, 10, 10 or 15 (steps 674, 676, 678, 683). When Yes in steps 674 and 676, tmp = 10, order = (Wh h, g h h, g + 1 valley order) is processed.
Also, when tmp = 10 in step 678 and the valley order of w h, g w h, g + 1 is order in step 679, tmp = 15, order = valley order of w h, g w h, g + 1 + 1 (Step 680).
And when w h, g w h, g + 1 of the valley orders is not order in step 679, w h, g w h , valleys order of g + 1 it is determined whether the order is greater than the flow proceeds to step 681, larger if tmp = 10, order = w h , g w h, carry out the g + 1 of the valley following the number of processing (step 682).
Further, in step 683, when it is tmp = 15, order = w h , g w h, g + 1 valley orders, and the determination order (whether higher), when the Yes, tmp = 10, Order = w h, g w h, g + 1 is processed for the valley degree (step 685). If No, the process ends and the process returns to step 647.

谷次数についての計算が終了したら、計算結果をステップ660において書き出す。
次のステップ661にて、sを1インクリメントして、i=h_endでないとき、h=i+1、conut=0として、再度ステップ639に戻る。
i=h_endのとき、E>min_Z+αであれば、E=E−αの処理をし(ステップ664)て、ステップ638に戻る。
i=h_endのとき、E>min_Z+αでなければ、k=k_endを判断する。
k=k_endでなければ、kを1インクリメントしてステップ634に戻り、次の水系番号のデータについて処理を実行する。
全ての水系番号のデータを処理すれば、k=k_endとなるから、計算を終了する。
[谷次数と斜面の垂直断面形の組合せ]
When the calculation for the valley number is completed, the calculation result is written in step 660.
In the next step 661, when s is incremented by 1 and i = h_end is not satisfied, h = i + 1 and count = 0 are set, and the process returns to step 639 again.
When i = h_end, if E> min_Z + α, E = E−α is processed (step 664), and the process returns to step 638.
When i = h_end, if E> min_Z + α, k = k_end is determined.
If k = k_end is not satisfied, k is incremented by 1 and the process returns to step 634 to execute processing for the data of the next water system number.
If all the water system number data are processed, k = k_end, so the calculation is terminated.
[Combination of valley degree and slope vertical section]

図31〜34を参照して説明する。
落水線データW、W、Wについて、それぞれ、j番目のデータ点をwi,j、g番目のデータ点をwh,g、q番目のデータ点をwp,qとする。また、wi,jとwi,j+1、wh,gとwh,g+1、wp,qとwp,q+1の中点を、それぞれ、ti,j、th,g、tp,qとする。本発明による斜面の垂直断面形は、落水線データのデータ点を中点とする二つの線分、つまり、3点から成るラインを一単位とする。一単位のラインの両端の点は、落水線データの線分の中点となる場合が多い(図15B))が、落水線データの始点や終点となる場合もある(図15A))。また、複数の落水線データが同じデータ点に合流する場合、その合流点を中点とする一単位のラインの垂直断面形は、それぞれ異なる場合がある(図15,B1),B2))。したがって、落水線データW、W、Wが、データ点wi,j+1において合流するとき、wi,j+1における斜面の垂直断面形(wi,j+1を中点とするライン)を、下記の手順によって、唯一つに定める。
先ず、落水線生成プログラムを実行して落水線を生成し(ステップ701)た後、次の702にて水系分類プログラムを実行する。本実施例は、落水線データを基に計算を行ったが、谷線データであってもよい。
そこで、水系分類データを読み込む(ステップ702の2)。続いて、水系番号を持たない、すなわち水系をなさない落水線についての計算を行うかどうか入力して決定する(ステップ703)。
水系番号を持たない落水線についての計算を行うと決定されたときは、Option−cのサブルーチンに進む。このサブルーチンは、付加的なものであるから、このサブルーチンについては後述することとする。
This will be described with reference to FIGS.
For the falling water line data W i , W h , W p , the j-th data point is set to w i, j , the g-th data point is set to w h, g , and the q-th data point is set to w p, q . In addition, w i, j and w i, j + 1, w h, g and w h, g + 1, w p, q and w p, the midpoint of the q + 1, respectively, t i, j, t h , g, t p , Q. The vertical cross-sectional shape of the slope according to the present invention has two line segments with the data point of the falling water line data as the midpoint, that is, a line composed of three points as one unit. In many cases, the points at both ends of a unit line are the midpoints of the line segment of the waterfall line data (FIG. 15B)), but may also be the start point and the end point of the waterfall line data (FIG. 15A)). Further, when a plurality of waterfall line data merge at the same data point, the vertical sectional shape of one unit line having the merge point as a midpoint may be different (FIG. 15, B1) and B2)). Therefore, Drainage line data W i, W h, W p is the data point w i, when merging the j + 1, w i, the slope of the vertical cross-sectional shape in the j + 1 and (w i, line to the j + 1 midpoint), The only procedure is as follows.
First, the waterfall line generation program is executed to generate a waterfall line (step 701), and then in step 702, the water system classification program is executed. In the present embodiment, the calculation is performed based on the falling water line data, but may be valley line data.
Therefore, the water system classification data is read (step 702-2). Subsequently, it is determined by inputting whether or not to calculate a waterfall line that does not have a water system number, that is, does not form a water system (step 703).
When it is determined to perform the calculation for the falling water line having no water system number, the process proceeds to the Option-c subroutine. Since this subroutine is additional, this subroutine will be described later.

このプログラムは、先ず水系毎に谷次数を計算し、さらに垂直断面形の分類を行うものである。そこで、この処理について詳しく説明する。
最初にステップ706にて等高線の標高間隔αを規定する。なお、デフォルトは、α=10[m]としてある。ここでs=1(ステップ765においてsが出てくるため)、k=1とする。sはデータ番号、kは水系毎に付与される水系番号(1,2,3,…,k_end)である。
ステップ708において、水系番号kの落水線データを、始点の標高が高い順に並べ替え、仮番号h(1,2,3,…,h_end)を与える。また、仮番号1の落水線データWの始点の標高をmax_Z、終点の標高をmin_Zとする。
次いで、仮番号hの落水線データWのg番目のデータ点をwh,gとし、Wのデータ点の総数をP[h]個とする。線分wh,gh,g+1の起点をwh,g、先端点をwh,g+1とする。このとき、wh,gの標高>wh,g+1の標高の関係にある。
そして起点が落水線データの始点にあたる線分wh,1h,2の谷次数を0とする。次にE=max_Z、h=1、count=0とおく。
This program first calculates the valley order for each water system, and further classifies the vertical cross section. Therefore, this process will be described in detail.
First, in step 706, an altitude interval α between contour lines is defined. The default is α = 10 [m]. Here, s = 1 (since s comes out in step 765), k = 1. s is a data number, and k is a water system number (1, 2, 3,..., k_end) assigned to each water system.
In step 708, the falling water line data of the water system number k is rearranged in descending order of the elevation of the starting point, and a temporary number h (1, 2, 3,..., H_end) is given. Further, the starting point elevation of the drainage line data W 1 of the temporary number 1 max_z, the elevation of the end point and min_z.
Next, the g-th data point of the waterfall line data W h of the temporary number h is set to w h, g, and the total number of W h data points is set to P [h]. The starting point of the line segment w h, g w h, g + 1 is set to w h, g and the tip point is set to w h, g + 1 . At this time, there w h, g of elevation> w h, at an altitude of relationship of g + 1.
Then , the valley order of the line segments wh , 1 wh , 2 where the starting point is the start point of the falling water line data is set to 0. Next, E = max_Z, h = 1, and count = 0.

のデータ点の総数が0でないとき、Wのデータ点について、ポイント番号が小さい順にデータ点の標高がEと等しい点を捜す。ここでg=1とおく(ステップ714)。
次に、wh,gの標高がEであるか否か判断する(ステップ715)。wh,gの標高がEであるとき、Countが0であれば、i=h、j=gとするとともに、線分wi,ji,j+1を基準線分とする。このとき、tmp=−1、count=1、order=−1として(ステップ723)、ステップ719へ戻って、仮番号hが最終の番号であるか否か判断する。判断結果がNoのとき仮番号hを1繰り上げてステップ713に戻る。
When the total number of data points of W h is not 0, for the data points of W h , the point where the elevation of the data point is equal to E is searched in order of increasing point number. Here, g = 1 is set (step 714).
Next, it is determined whether or not the altitude of wh, g is E (step 715). When the elevation of w h, g is E, if Count is 0, i = h, j = g, and line segments w i, j w i, j + 1 are set as reference line segments. At this time, tmp = −1, count = 1, order = −1 (step 723), the process returns to step 719, and it is determined whether or not the temporary number h is the final number. When the determination result is No, the temporary number h is incremented by 1 and the process returns to step 713.

一方、wh,gの標高がEより高いとき、wh,g+1がWの終点であるか否か判断し(ステップ717)、終点でなければデータ番号gを+1してステップ715に戻る。
ステップ717においてwh,g+1がWの終点であるとき、ステップ716においてwh,gの標高がEより低いとき、及びステップ724においてwi,ji,j+1とwh,gh,g+1がwi,j+1で合流しないと判断されたときは、ステップ719へ進む。
ステップ719において、仮番号hが最終の番号であるか否か判断し、最終の番号でないとき、仮番号hを1インクリメントして(ステップ720)、ステップ713に戻る。
On the other hand, when the altitude of w h, g is higher than E, it is determined whether or not w h, g + 1 is the end point of W h (step 717). .
When w h, g + 1 is the end point of W h in step 717, when the altitude of w h, g is lower than E in step 716, and in step 724, w i, j w i, j + 1 and w h, g w h , G + 1 go to step 719 when it is determined that w i, j + 1 do not merge.
In step 719, it is determined whether or not the temporary number h is the final number. If the temporary number h is not the final number, the temporary number h is incremented by 1 (step 720), and the process returns to step 713.

ステップ724において線分wi,ji,j+1と線分wh,gh,g+1がwi,j+1で合流すると判断されたときは、谷次数の計算を実行するため、ステップ725へ進む。ステップ725では、hとgを保存する。
そして、ステップ726において、tmpが負か否かチェックし、負の数であれば、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数と等しいとき、ステップ728において、tmp=5、order=( 線分wi,ji,j+1の谷次数)+1の処理を行う。
また、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数より大きいとき、ステップ730において、tmp=1、order=( 線分wi,ji,j+1の谷次数)とする。
さらに、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数より小さいとき、ステップ731において、tmp=10、order=(線分wh,gh,g+1の谷次数)とする。
If it is determined in step 724 that the line segments w i, j w i, j + 1 and the line segments w h, g w h, g + 1 merge at w i, j + 1 , the flow proceeds to step 725 to calculate the valley order. move on. In step 725, h and g are stored.
Then, in step 726, it is checked whether tmp is negative. If it is a negative number, the valley order of the line segments w i, j w i, j + 1 is equal to the valley order of the line segments w h, g w h, g + 1. If equal, in step 728, tmp = 5, order = (valley of line segments w i, j w i, j + 1 ) +1 is performed.
When the valley order of the line segments w i, j w i, j + 1 is larger than the valley order of the line segments w h, g w h, g + 1 , in step 730, tmp = 1, order = (line segment w i, j wi , j + 1 valley degree).
Further, when the valley order of the line segments w i, j w i, j + 1 is smaller than the valley order of the line segments w h, g w h, g + 1 , in step 731 tmp = 10, order = (line segments w h, g wh, valley order of g + 1 ).

以上の処理が終了したら、ステップ719に戻る。
ステップ719において、仮番号hが最終の番号h_endでない場合、hを1インクリメントしてステップ713へ戻り、仮番号hが最終の番号に達するまで以上の処理を繰り返す。
また、仮番号hが最終の番号h_endに達したときは、Countが0であるか否か判断する。ステップ721にてCountが0と判断されたときは、ステップ790に進み、標高が終点の1つ手前の標高であるとき、落水線データの始点の標高を1つ下げてステップ713に戻る。
一方ステップ790で、標高が終点の1つ手前の標高ではない場合、水系番号kが最終のものでないとき、水系番号を1繰り上げてステップ708に戻り、次の水系番号のデータ処理に入る。また、水系番号kが最終のものであるときは、全ての対象について処理が終了しているので、この処理を終了する。
When the above processing ends, the process returns to step 719.
In step 719, if the temporary number h is not the final number h_end, h is incremented by 1 and the process returns to step 713, and the above processing is repeated until the temporary number h reaches the final number.
When the temporary number h reaches the final number h_end, it is determined whether Count is 0 or not. If it is determined in step 721 that Count is 0, the process proceeds to step 790. If the altitude is the altitude just before the end point, the altitude at the start point of the falling water line data is lowered by 1, and the process returns to step 713.
On the other hand, in step 790, if the altitude is not the one immediately before the end point, and the water system number k is not the final one, the water system number is incremented by 1 and the process returns to step 708 to start data processing for the next water system number. Further, when the water system number k is the final one, the processing is finished for all the objects, so this processing is finished.

ステップ726において、tmpが0以上である場合、ステップ732において、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数と等しく、かつ、tmp=1であるとき、tmp=5とするとともに、order=(線分wi,ji,j+1の谷次数)+1とする(ステップ733)。
また、前記ステップ732において、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数と等しくないか、またはtmp=1でないとき、線分wi,ji,j+1の谷次数が線分wh,gh,g+1の谷次数より小さいか否か判断する。
判断結果がYesであれば、tmpが1か、5か、10か、15かがチェックされ(ステップ735,736,738,743)、ステップ735とステップ736においてtmpが1か5のとき、tmp=10、order=(線分wh,gh,g+1の谷次数)の処理がされる(ステップ737)。
また、ステップ738においてtmp=10であり、ステップ739において線分wh,gh,g+1の谷次数がorderであるときは、tmp=15、order=線分wh,gh,g+1の谷次数+1の処理を行う(ステップ740)。
そして、ステップ739において線分wh,gh,g+1の谷次数がorderでないときは、ステップ741に進んで線分wh,gh,g+1の谷次数がorderより大きいか否かを判断し、大きければorder=線分wh,gh,g+1の谷次数の処理を行う(ステップ742)。
さらに、ステップ743において、tmp=15であるとき、線分wh,gh,g+1の谷次数≧orderの判断をして、Yesのとき、tmp=10、order=線分wh,gh,g+1の谷次数の処理を行い(ステップ745)、ステップ719に戻る。また、ステップ744の線分wh,gh,g+1の谷次数≧orderの判断かNoのとき、処理を終了してステップ719に戻る。
In step 726, if tmp is greater than or equal to 0, in step 732, the valley order of the line segments w i, j w i, j + 1 is equal to the valley order of the line segments w h, g w h, g + 1 and tmp = When it is 1, tmp = 5 and order = (valley of line segments w i, j w i, j + 1 ) +1 (step 733).
In step 732, if the valley order of the line segments w i, j w i, j + 1 is not equal to the valley order of the line segments w h, g w h, g + 1 or tmp = 1, the line segment w i , J w i, j + 1 is determined as to whether or not the valley order of the line segments w h, g w h, g + 1 is smaller.
If the determination result is Yes, it is checked whether tmp is 1, 5, 10, 10 or 15 (steps 735, 736, 738, 743), and when tmp is 1 or 5 in steps 735 and 736, tmp = 10, order = (line w h, g w h, g + 1 valley orders) process is (step 737).
Further, when tmp = 10 in step 738 and the valley degree of the line segment w h, g w h, g + 1 is order in step 739, tmp = 15, order = line segment w h, g w h, g + 1 The process of the valley order of +1 is performed (step 740).
Then, the segment w h at step 739, g w h, when the valleys order of g + 1 is not order, the segment w h proceeds to step 741, g w h, valleys order of g + 1 is whether order greater than If it is determined that the value is larger, the order of the order = the line segments w h, g w h, g + 1 is processed (step 742).
Further, in step 743, when tmp = 15, it is determined that the valley degree of the line segment w h, g w h, g + 1 ≧ order, and when Yes, tmp = 10, order = line segment w h, g Processing of the valley order of wh , g + 1 is performed (step 745), and the process returns to step 719. Also, if the determination of the valley number of the line segments w h, g w h, g + 1 in step 744 ≧ order or No, the process ends and the process returns to step 719.

ここで、tmpの値の持つ意味について整理しておく。
tmp=1:線分wi,ji,j+1のみが、最大の谷次数をもつ。
tmp=5:線分wi,ji,j+1とそれ以外(複数可)の線分wh,gh,g+1が、最大の谷次数をもつ。
tmp=10:単一の線分wh,gh,g+1(≠線分wi,ji,j+1)が、最大の谷次数をもつ。
tmp=15:複数の線分wh,gh,g+1(≠線分wi,ji,j+1)が、最大の谷次数をもつ。
Here, the meaning of the value of tmp is summarized.
tmp = 1: Only the line segments w i, j w i, j + 1 have the largest valley order.
tmp = 5: The line segments w i, j w i, j + 1 and the other line segment (s) w h, g w h, g + 1 have the maximum valley order.
tmp = 10: A single line segment w h, g w h, g + 1 (≠ line segment w i, j w i, j + 1 ) has the maximum valley order.
tmp = 15: A plurality of line segments w h, g w h, g + 1 (≠ line segments w i, j w i, j + 1 ) have the maximum valley order.

1つの水系に属する落水線データについての谷次数の計算が終了すると、前記ステップ719においてYesの判断がなされ、ステップ721に進んで、Countが0であるか否か判断する。Countが0と判断されたときはステップ790に進み、0でない場合さらにステップ746に進む。
該ステップ746において、orderが負か否か判断される。
負と判断されたときは、線分wi,j+1i,j+2の谷次数の値を線分wi,ji,j+1の谷次数の値とする。
また、負と判断されなかったときは、orderの値を線分wi,j+1i,j+2の谷次数の値とする。
When the calculation of the valley order for the falling water line data belonging to one water system is completed, a determination of Yes is made in step 719, and the process proceeds to step 721 to determine whether Count is 0 or not. When Count is determined to be 0, the process proceeds to step 790, and when it is not 0, the process proceeds to step 746.
In step 746, it is determined whether order is negative.
When it is determined to be negative, the value of the valley degree of the line segment w i, j + 1 w i, j + 2 is set as the value of the valley degree of the line segment w i, j w i, j + 1 .
If it is not determined to be negative, the value of order is the value of the valley order of the line segments w i, j + 1 w i, j + 2 .

次いで、ステップ749とステップ750において、orderが負であるか、tmpが1であるときは、ii=i、jj=jとおく。
また、ステップ752においてtmpが10であるときは、データ点wi,j+1で合流する線分wh,gh,g+1(ただしh≠i)の中で最大の谷次数をもつ線分の(h,g)を用いてii=h、jj=gとおく。
上記の3つのステップにおいて、いずれにも該当しないときは、線分wi,ji,j+1と線分wh,gh,g+1が同じ谷次数を持っていて互いに流れとしての経歴は互角であるから、いずれの落水線が直線的に流れて行くことになるかを調べるために、線分wh,gh,g+1と線分wh,g+1h,g+2が水平面上でなす角δh,g+1(≦180°)を計算する(図16B)。ただし、このhにはiが含まれる、また、このgにはjが含まれる。
したがって、線分wi,ji,j+1と線分wi,j+1i,j+2が水平面上でなす上記角δh,g+1(≦180°)についても計算するものである。そして、計算されたδh,g+1の中で、最大であるδh,g+1のhとgについて、ii=h、jj=gとおく。すなわち、直線的に流れていくものを優先して基準線分として利用していくこととしている。
Next, in step 749 and step 750, when order is negative or tmp is 1, ii = i and jj = j are set.
When tmp is 10 in step 752, the line segment having the maximum valley degree among the line segments wh , gwh , g + 1 (where h ≠ i) joined at the data point wi , j + 1 . Let ii = h and jj = g using (h, g).
In the above three steps, when none of the above applies, the line segments w i, j w i, j + 1 and the line segments w h, g w h, g + 1 have the same valley degree, Since they are equal, the line segments wh , gw h, g + 1 and the line segments wh , g + 1 wh , g + 2 are on the horizontal plane in order to investigate which falling water line will flow linearly. The formed angle δ h, g + 1 (≦ 180 °) is calculated (FIG. 16B). However, this h includes i, and this g includes j.
Therefore, the angle δ h, g + 1 (≦ 180 °) formed by the line segment w i, j w i, j + 1 and the line segment w i, j + 1 w i, j + 2 on the horizontal plane is also calculated. Then, ii = h and jj = g are set for h and g of δh , g + 1 which are the largest among the calculated δh , g + 1 . That is, priority is given to the one that flows linearly as the reference line segment.

ここで、データ構造及びその属性の計算方法及びその属性について説明する。 Here, the data structure and the calculation method of the attribute and the attribute will be described.

(表4)

勾配θii,jj:tanθii,jj=α/lii,jjより計算
谷次数vii,jj−1:wii,jj−1ii,jjの谷次数
垂直断面形を決めるτii,jj=180°+θii,jj−1−θii,jj
水平面上での角δii,jj:lii,jj−1、lii,jj、wii,jj−1とwii,jj+1との水平面距離llから次式の計算により求まる。
(Table 4)

Gradient θ ii, jj : tan θ ii, jj = α / l ii, jj Calculated valley order v ii, jj-1 : w ii, jj-1 determines the valley degree vertical cross section of w ii, jj τ ii, jj = 180 ° + θ ii, jj−1 −θ ii, jj
Corner [delta] ii on the horizontal plane, jj: l ii, jj- 1, l ii, jj, w ii, jj-1 and w ii, determined by calculation from the horizontal distance ll follows the jj + 1.

(式3)
(Formula 3)

また、上から中点、データ点、中点のデータmii,jj−1ii,jjii,jj+1について属性ファイルに書き出す属性は、つぎのとおりである。
(1)線分番号:s(xyファイルのsに対応させる)
(2)中点の標高:zii,jj
(3)水系番号:k
(4)wii,jjの上流の線分の勾配:θii,jj−1
(5)wii,jjの下流の線分の勾配:θii,jj
(6)wii,jjでの、水平面での角:δii,jj
(7)垂直断面形を分けるための角:τii,jj
(8)谷次数vii,jj−1:線分wii,jj−1ii,jjの谷次数
以上みたように、例えば谷次数は、1つの落水線データの線分、したがって2つのデータ点に対し1つの属性を有するが、例えば垂直断面形を決める角は、連続する2つの落水線データの線分、したがって3つのデータ点に対し1つの属性を有する。
このため、最初の及び最後のものを除く落水線データは、典型的には下表のようなステップ807のデータ点を書き出すこととなる。
The attributes to be written in the attribute file for the middle point, the data point, and the middle point data m ii, jj−1 w ii, jj m ii, jj + 1 from the top are as follows.
(1) Line number: s (corresponds to s in the xy file)
(2) Elevation of midpoint: z ii, jj
(3) Water system number: k
(4) The gradient of the line segment upstream of w ii, jj : θ ii, jj−1
(5) Gradient of the line segment downstream of w ii, jj : θ ii, jj
(6) Angle in the horizontal plane at w ii, jj : δ ii, jj
(7) Angle for dividing the vertical sectional shape: τ ii, jj
(8) Valley degree v ii, jj-1 : As seen from the valley degree of the line segment w ii, jj-1 w ii, jj , for example, the valley order is a line segment of one falling line data, and therefore two data Although it has one attribute for a point, for example, the angle that determines the vertical cross-section has one attribute for two consecutive waterfall line segments, and thus three data points.
For this reason, the waterfall line data excluding the first and last ones typically writes out the data points in step 807 as shown in the table below.

(式4)
また、書き出す属性は下表のようになる。
(Formula 4)
The attributes to be written are as shown in the table below.

(表5)
(Table 5)

以下の処理を実行することにより、全ての線分について、xyファイル属性ファイルにデータを書き出す処理を実行する。
ii,jjの(x,y,z)座標をそれぞれ(xii,jjii,jj,zii,jj)、wh,gの(x,y,z)座標をそれぞれ(xh,g,yh,g,zh,g)とする(ステップ755)。
そして、線分wii,jjii,jj+1以外に、wi,j+1を先端点とする線分が存在するか否か判断し(ステップ756)、存在すれば、線分wii,jjii,jj+1を除く、wi,j+1を先端点とする複数の線分をwh,gh,g+1とする(ステップ757)。
By executing the following processing, processing for writing data to the xy file attribute file is executed for all line segments.
The (x, y, z) coordinates of w ii, jj are respectively (x ii, j j y ii, j j, z ii, j j), and the (x, y, z) coordinates of wh , g are respectively (x h, j g , yh , g , zh , g ) (step 755).
Then, the segment w ii, jj w ii, besides jj + 1, w i, is determined whether or not the line segment to the tip point of the j + 1 exists (step 756), if present, a line segment w ii, jj w ii, except jj + 1, w i, a plurality of line segments with the tip point j + 1 w h, g w h, and g + 1 (step 757).

ステップ758からステップ766の処理により、今までの処理により取得したデータの全てをファイルに書き出す。
先ず、ステップ759とステップ761において、データポイント番号が1か2かそれ以外かを判別する。
そして、データポイント番号が1であれば、ステップ760において書き出しを行い、データポイント番号が2であるときは、ステップ762において書き出しを行う。
また、データポイント番号が1でも2でもないときは、ステップ763において書き出しを行う。
そして、ステップ764では、Wのデータ点の総数P[h]を0とおく。これは、以後の処理において重複する落水線データを排除するために行う処理である。
以上の処理により、全ての落水線データのxy座標データと属性データの書き出しを終了する。
By the processing from step 758 to step 766, all of the data acquired by the processing so far is written to the file.
First, in step 759 and step 761, it is determined whether the data point number is 1 or 2 or other.
If the data point number is 1, writing is performed in step 760, and if the data point number is 2, writing is performed in step 762.
If the data point number is neither 1 nor 2, writing is performed in step 763.
In step 764, the total number P [h] of W h data points is set to zero. This is a process that is performed in order to eliminate overlapping waterfall line data in subsequent processes.
With the above processing, writing of the xy coordinate data and attribute data of all the falling water line data is completed.

次に、線分wii,jjii,jj+1について書き出しを行う。
データポイント番号が1か、2かつWiiのデータ点の総数P[ii]の2つ手前か否かを調べ、それぞれ満足する条件にしたがって、データを書き出し(ステップ768〜778)、データ番号sを+1してステップ789へ進む。
一方ステップ756において、wii,jjii,jj+1以外に、wii,jj+1を先端点とする線分が存在しないときは、ステップ780に進んで、データポイント番号が1であるか否か判断し、1であればステップ789に進む。
また、データポイント番号が1以外である場合には、データポイント番号が2、データ点の総数が3、データ番号が2、データ番号がデータ点の総数の1つ手前、のいずれか条件を満たするか否かによって、4通りの形式でデータを書き出す(ステップ781〜787)。
しかる後に、データポイント番号sを+1して、ステップ789に進む。
Next, the line segment w ii, jj w ii, jj + 1 is written.
It is checked whether the data point number is 1 or 2 and two before the total number of data points P [ii] of W ii , and the data is written in accordance with the conditions that are satisfied (steps 768 to 778), and the data number s +1 and go to step 789.
On the other hand, when there is no line segment with w ii, jj + 1 as a tip point other than w ii, jj w ii, jj + 1 at step 756, the process proceeds to step 780 to determine whether the data point number is 1 or not. If it is 1, the process proceeds to Step 789.
If the data point number is other than 1, the data point number is 2, the total number of data points is 3, the data number is 2, and the data number is one before the total number of data points. Depending on whether or not, data is written in four formats (steps 781 to 787).
Thereafter, the data point number s is incremented by 1, and the process proceeds to Step 789.

ステップ789においては、基準線分のライン番号が仮番号の総数に到達したか否かを判断する。
そして、到達していない場合は、h=i+1、count=0とおいて、ステップ713に戻る。
また、基準線分のライン番号が仮番号の総数に到達したと判断された場合は、E>min_Z+αのとき、標高を1ランク下げて(E=E−α)してステップ713に戻って以後の処理を実行する。
さらに、E>min_Z+αでないときは、水系番号の最終に到達していなければ、次の水系についての処理に移行する(ステップ794)。
ここで、水系番号の最終に到達したときは、全ての水系について処理が終了したので、プログラムの実行を終了する。
In step 789, it is determined whether or not the line number of the reference line has reached the total number of temporary numbers.
If not reached, h = i + 1 and count = 0, and the process returns to step 713.
If it is determined that the line number of the reference line has reached the total number of temporary numbers, when E> min_Z + α, the altitude is lowered by one rank (E = E−α), and the process returns to step 713 and thereafter. Execute the process.
Further, when E> min_Z + α is not satisfied, if the end of the water system number has not been reached, the process proceeds to the process for the next water system (step 794).
Here, when the end of the water system number is reached, since the processing has been completed for all the water systems, the execution of the program is terminated.

ここであらためて、サブルーチンOption_c(図48)について説明する
次に、落水線Gの線分全てについて、谷次数0という属性を与える(ステップ796)。
書き出されていないGの落水線データWiiがあるとき(ステップ797の1)、wiiのjj番目(jj=1,2,3,…)のデータ点をwii,jjとする。このときjj=1とおく(ステップ797の2)。
次のステップ798ではデータ番号jjが1でないとき、jj=2かつP[ii]=3であるか、jj=2、jj=P[ii]−1であるか、のいずれかの条件を満たす場合、ステップ801、804、808を実行してそれぞれデータを書き出す。
また、これが最も一般的であるが、ステップ807を実行する。
そして、ステップ801とステップ808を実行後は、ステップ802にてsを+1してステップ797の1に戻って以後の処理を繰り返して実行する。
また、ステップ804とステップ807を実行後は、ステップ805にてsを+1した後、ステップ799にてjjを+1してステップ798に戻って以後の処理を繰り返す。
以上の処理の繰り返した結果、ステップ797の1において全てのGの落水線データwiiが書き出されたと判断されて処理を終了し、メインルーチンに戻ってステップ706以降の処理に入るものである。
Here, the subroutine Option_c (FIG. 48) will be described again. Next, an attribute of valley degree 0 is given to all the lines of the falling water line G (step 796).
When there is drainage line data W ii the exported non G (1 in step 797), jj th w ii data points (jj = 1,2,3, ...) w ii, and jj. At this time, jj = 1 is set (step 797-2).
In the next step 798, when the data number jj is not 1, either jj = 2 and P [ii] = 3, or jj = 2, jj = P [ii] −1 are satisfied. In this case, steps 801, 804, and 808 are executed to write out data.
Also, although this is the most common, step 807 is executed.
After step 801 and step 808 are executed, s is incremented by 1 in step 802, and the process returns to 1 in step 797 to repeat the subsequent processing.
Further, after executing Steps 804 and 807, s is incremented by 1 at Step 805, jj is incremented by 1 at Step 799, and the routine returns to Step 798 to repeat the subsequent processing.
As a result of repeating the above processing, it is determined in step 797 1 that all the G waterfall line data w ii have been written out, the processing is terminated, and the processing returns to the main routine to enter the processing from step 706 onward. .

[等高線属性データのグリッド化プログラム1]
本発明は、等高線データを基に算出した各種の属性データ(線分)をグリッド化するときに用いるプログラムに関するものである。
一般に、値数統計解析手法では、規則正しい、格子状の配列を持つグリッドデータを用いる場合が多い。また、植生データ、地質データなどの多くのデータがグリッドデータとして整備されてきている。
一方、各種の情報を保有する線分データや(ランダムな)ポイントデータは、そのままでは、上記グリッドデータと結合して使用することは困難である。
そこで本発明は、取得された、地形属性を持つ線分データなどをグリッド化して、各種のグリッドデータとリンクさせ、活用の範囲を広げようとするものである。
グリッド化に用いる線分データは、線分の始点と終点の平面位置座標の情報を必ず持ち、勾配や斜面方位などの属性を一つ以上持つものとする。
そして例えば、落水線の線分データから、勾配と斜面方位と谷次数を同時に計算し、1)ライン番号,2)線分の始点のx座標,3)線分の始点のy座標,4)線分の終点のx座標,5)線分の終点のy座標,6)水系番号,7)勾配,8)斜面方位,9)谷次数を、各線分毎に書き出したファイルを作っておいて、必要に応じた属性だけを読み込んでもよい。
また、勾配グリッドデータを作りたいときは、上記2)〜5)と7)だけを書き出したファイルを作っても良い。
いずれにしても、グリッドデータ作成に用いる線分データの形成は、いろいろ考えられる。また、落水線だけでなく、最急登線、谷線、尾根線、属性付きのポイントデータを基に、グリッドデータを作成することが可能である。
[Contour line attribute data gridding program 1]
The present invention relates to a program used when a variety of attribute data (line segments) calculated based on contour line data is gridded.
In general, the number-of-values statistical analysis method often uses grid data having a regular, grid-like arrangement. Many data such as vegetation data and geological data have been prepared as grid data.
On the other hand, it is difficult to use line data and (random) point data having various information in combination with the grid data as they are.
Therefore, the present invention intends to expand the range of utilization by making the obtained line segment data having terrain attributes into a grid and linking with various grid data.
The line segment data used for grid formation always has information on the plane position coordinates of the start point and end point of the line segment, and has one or more attributes such as gradient and slope direction.
And, for example, the slope, slope direction and valley degree are calculated simultaneously from the line data of the falling water line, 1) the line number, 2) the x coordinate of the starting point of the line segment, 3) the y coordinate of the starting point of the line segment, 4) Create a file in which the x coordinate of the end point of the line segment, 5) the y coordinate of the end point of the line segment, 6) water system number, 7) gradient, 8) slope orientation, and 9) valley degree are written for each line segment. , You may read only the attributes as needed.
When creating gradient grid data, a file in which only the above 2) to 5) and 7) are written may be created.
In any case, formation of line segment data used for creating grid data can be variously considered. In addition to the falling water line, it is possible to create grid data based on the steepest climb, valley line, ridge line, and point data with attributes.

斜面の垂直断面形のように、落水線の2つの線分を単位とする場合は、2つの線分に分けて書き出す。
2つに分けられた線分は、始点と終点の(x,y)座標は異なるが、属性は同じとなる。
If the unit is two line segments of the falling water line, such as the vertical cross section of the slope, it is divided into two line segments.
The line segment divided into two has the same attribute, although the start point and end point (x, y) coordinates are different.



等高線に沿って分類された斜面の水平断面形の場合は、等高線の線分毎に書き出す。
(例)
1)ライン番号
2)線分の始点のx座標
3)線分の始点のy座標
4)線分の終点のx座標
5)線分の終点のy座標
6)水平断面形の種類(1:尾根型,−1:谷型,0:それ以外)
In the case of a horizontal cross section of a slope classified along a contour line, it is written for each contour line segment.
(Example)
1) Line number 2) x-coordinate of start point of line segment 3) y-coordinate of start point of line segment 4) x-coordinate of end point of line segment 5) y-coordinate of end point of line segment 6) Type of horizontal sectional shape (1: Ridge type, -1: valley type, 0: other than that)

まず、グリッドデータを作成するための作成範囲を決める。例として以下の2つの方法を挙げる。
方法1)図面等をみて、手作業で(x,y)座標の最大値と最小値(min_x,max_x,min_y,max_y)を決める。
方法2)グリッドデータの基になる線分データを読み込み、これらの線分データの始点と終点の中から(x,y)座標の最大値と最小値(min_x,max_x,min_y,max_y)を決める。ただし、分布するデータの範囲が常に長方形とは限らないので注意する必要がある。
次に、作成するグリッドデータのグリッド間隔dを決める。
更に、グリッド点の位置を決める(中心、あるいは、四隅のはずれた点)。
なお、グリッドデータは、実際は、点ではなく、広がりを持ったセルとして現される。
First, the creation range for creating grid data is determined. The following two methods are given as examples.
Method 1) The maximum value and minimum value (min_x, max_x, min_y, max_y) of (x, y) coordinates are determined manually by looking at the drawings and the like.
Method 2) The line segment data that is the basis of the grid data is read, and the maximum value and minimum value (min_x, max_x, min_y, max_y) of the (x, y) coordinates are determined from the start point and end point of these line segment data. . However, it should be noted that the range of distributed data is not always rectangular.
Next, the grid interval d of the grid data to be created is determined.
Furthermore, the position of the grid point is determined (the center or the point where the four corners are off).
Note that the grid data is actually expressed not as dots but as spread cells.

(表6)

(Table 6)

従来多用されている標高グリッドデータを用いて、各種グリッドデータを計算する場合、下図のように行われる。 When various types of grid data are calculated using altitude grid data that has been frequently used in the past, the calculation is performed as shown in the figure below.

(表7)
例えば、グリッド点gi,jでの勾配を計算したいとき、gi,jの標高のみを用いて、gi,jの勾配を計算することはできない。
このため、gi,jの周囲のグリッド点の標高も使う必要がある。
したがって、計算範囲が広くなることから、計算結果が緩やかになる傾向にある。
これに対して、本発明においては、属性まで計算した線分データを作り、計算範囲内に存在するデータのみを使う。
まさに当該グリッド内での値が求められるのが特徴である。
従来は、標高グリッドデータから、勾配などの各種グリッドデータを作るのが普通である。
(Table 7)
For example, when it is desired to calculate the gradient at the grid point g i, j , the gradient of g i, j cannot be calculated using only the elevation of g i, j .
For this reason, it is also necessary to use the altitudes of grid points around g i, j .
Therefore, since the calculation range is widened, the calculation result tends to be gentle.
On the other hand, in the present invention, line segment data calculated up to the attribute is created, and only data existing within the calculation range is used.
The feature is that the value in the grid is obtained.
Conventionally, various types of grid data such as gradients are usually created from elevation grid data.

(表8)
(Table 8)

以下、属性を勾配とする実施例について詳しく説明する。
図35〜36を参照して説明する。
先ず使用する線分データと優先順位を決定する。
この優先順位は、パターン化されており、そのパターンは、
pattern1 [優先順位1:落水線データ ,優先順位2:最急登線データ]
pattern2 [優先順位1:最急登線データ,優先順位2:落水線データ]
pattern3 [優先順位1:落水線データ ,優先順位2: なし ]
pattern4 [優先順位1:最急登線データ,優先順位2: なし ]
の4種類である。
次いで、グリッドデータを作成する範囲を決定する。
このとき、min_x,max_x,min_y,max_yを入力するが、手入力による方法の他、グリッドデータの基になる線分データを読み込み、これらの線分データの始点と終点の中から(min_x,max_x,min_y,max_y)を計算により自動的に求める。ただし、分布するデータの範囲が常に長方形とは限らないので注意を要する。
Hereinafter, an embodiment in which the attribute is a gradient will be described in detail.
This will be described with reference to FIGS.
First, the line segment data to be used and the priority order are determined.
This priority is patterned, and the pattern is
pattern1 [Priority 1: Falling Line Data, Priority 2: Fastest Climbing Data]
pattern2 [Priority 1: Most rapid climbing data, Priority 2: Falling water data]
pattern3 [Priority 1: Downstream data, Priority 2: None]
pattern4 [Priority 1: Most rapid climbing data, Priority 2: None]
There are four types.
Next, a range for creating grid data is determined.
At this time, min_x, max_x, min_y, and max_y are input. In addition to the manual input method, line segment data that is the basis of the grid data is read, and (min_x, max_x) is selected from the start point and end point of these line segment data. , Min_y, max_y) is automatically obtained by calculation. However, it should be noted that the range of distributed data is not always rectangular.

そして、使用者がグリッド間隔dを入力することにより、dを決定する。このことにより、計算範囲rが確定する。なお、この計算範囲rは、本実施例ではグリッドを中心とした半径rで定義されている。rのデフォルトは、d/√2としているが、使用者が変更可能にしてある。rを決める際には、グリッド化の基になるデータの精度を考慮する必要がある。また、上記グリッド間隔dの入力により各グリッドの位置(x,y)、総数(num_x,num_y)が確定する。
続いて、優先順位1のデータを読み込み、線分番号をs、線分の総数をsum_sとする(ステップ814)。
次のステップ815にて、使用者が入力して決定したパターンが、pattern=1 or pattern=2と判断されると、引き続き優先順位2のデータを読み込み、線分番号をss、線分の総数をsum_ssとする。
そして、グリッド点の行の値j=1,同じく列の値i=1,線分番号s=1とおく(ステップ817)。
以後の処理により、優先順位1のデータを用いて、グリッド点gi,jでの値を計算する。このとき保存データ番号n=0とおく。
そして、線分番号sの線分の始点をp=(x,y),終点をp=(x,y)とする。
Then, the user determines d by inputting the grid interval d. As a result, the calculation range r is determined. The calculation range r is defined by a radius r centered on the grid in this embodiment. The default of r is d / √2, but can be changed by the user. When determining r, it is necessary to consider the accuracy of the data on which the grid is formed. Further, the position (x, y) and the total number (num_x, num_y) of each grid are determined by inputting the grid interval d.
Subsequently, the data of the priority order 1 is read, the line segment number is s, and the total number of line segments is sum_s (step 814).
In the next step 815, when it is determined that the pattern input and determined by the user is pattern = 1 or pattern = 2, the priority level 2 data is continuously read, the line segment number is ss, and the total number of line segments Is sum_ss.
Then, the row value j = 1 of the grid point, the column value i = 1, and the line segment number s = 1 are set (step 817).
In the subsequent processing, the value at the grid point g i, j is calculated using the data of the priority order 1. At this time, the stored data number n = 0.
Then, the start point of the line segment with the line number s is set to p 1 = (x 1 , y 1 ), and the end point is set to p 2 = (x 2 , y 2 ).

ステップ820、821、822、824及び825において、線分の始点、終点がともに1つのグリッドの範囲外にある、または、グリッド中心gi,jと、始点pと終点pを通る直線Tにグリッド中心gi,jから下ろした垂線とTとの交点t(以下単に「交点」という。)と、の距離が計算範囲rを越えると判断された場合、ステップ826に進み、線分番号が線分の総数に達していないときは、線分番号sを1インクリメントして再びステップ819からステップ825を実行する。その実行の結果、ステップ820、821、822、824及び825において全てNoと判断されると、ステップ828、830及び832において、
a)グリッド中心と交点との距離が計算範囲rを越えず、かつ、交点が線分p上の点である(ステップ828)、
b)グリッド中心と終点との距離がグリッド中心と始点との距離より短いか等しく、かつ、グリッド中心と終点との距離が計算範囲rを越えない(ステップ830)、
c)グリッド中心と始点との距離がグリッド中心と終点との距離より短かく、かつ、グリッド中心と始点との距離が計算範囲rを越えない(ステップ832)、のいずれかに該当するとき、線分番号sとそれらの距離lを保存し(ステップ833−2)、nを1インクリメントして(ステップ833−3)ステップ826へ戻る。
また、上記a)〜c)のいずれにも該当しないとき、線分番号sが線分の総数sum_sに達していないとき、sを1インクリメントしてステップ819へ戻る。
In steps 820, 821, 822, 824 and 825, the start point and end point of the line segment are both outside the range of one grid, or the straight line T passing through the grid center g i, j and the start point p 1 and end point p 2 If it is determined that the distance between the intersection t of the perpendicular drawn from the grid center g i, j and T (hereinafter simply referred to as “intersection”) exceeds the calculation range r, the process proceeds to step 826 and the line segment number is determined. If the total number of line segments has not reached the total number of line segments, the line segment number s is incremented by 1 and steps 819 to 825 are executed again. As a result of the execution, if it is determined No in steps 820, 821, 822, 824 and 825, in steps 828, 830 and 832,
a) The distance between the grid center and the intersection does not exceed the calculation range r, and the intersection is a point on the line segment p 1 p 2 (step 828).
b) The distance between the grid center and the end point is shorter than or equal to the distance between the grid center and the start point, and the distance between the grid center and the end point does not exceed the calculation range r (step 830).
c) When the distance between the grid center and the start point is shorter than the distance between the grid center and the end point, and the distance between the grid center and the start point does not exceed the calculation range r (step 832), The line segment number s and their distance l are stored (step 833-2), n is incremented by 1 (step 833-3), and the process returns to step 826.
If the line number s does not reach the total number sum_s of line segments when none of the above a) to c) applies, s is incremented by 1 and the process returns to step 819.

ステップ835において、保存されたデータ番号nがあると判断された場合(n>0)、最近傍の線分データを用いて勾配のグリッドデータを生成するとの入力による指示があれば、ステップ837で保存したn個の線分を、距離lが小さい順に並べ替え、次いで、距離lが最も小さい線分の勾配の値を、グリッド点gi,jでの勾配の値として、書き出す(ステップ838)。
一方、ステップ836において、最近傍の線分データを用いて勾配のグリッドデータを作るとの指示がないときは、n個の線分の勾配の平均値を、グリッド点gi,jでの勾配の値として、書き出す(ステップ840)。
If it is determined in step 835 that there is a stored data number n (n> 0), if there is an instruction by input to generate gradient grid data using the nearest line segment data, in step 837 The stored n line segments are rearranged in order from the smallest distance l, and then the gradient value of the line segment having the smallest distance l is written as the gradient value at the grid point g i, j (step 838). .
On the other hand, in step 836, when there is no instruction to create gradient grid data using the nearest line segment data, the average value of the gradients of n line segments is determined as the gradient at grid points g i, j. Is written out as the value of (step 840).

一方、当該グリッド点の計算範囲r内に優先順位1のデータが存在しないときは、ステップ835においてYesと判断され、使用者がpattern1かpattern2を選択していた場合は、ステップ841においてYesと判断されるから、ステップ847に進んで優先順位2のデータを用いて、グリッド点gi,jでの値を計算する。
ステップ848以降ステップ870までの処理内容は、既に説明したステップ819からステップ840までの処理と同一であるので説明を省略する。
なお、ステップ841は、優先順位2のデータを処理するための固有のものである。
そして、上記処理を実行して優先順位2のデータについて処理した結果、当該グリッド点の計算範囲内に優先順位2のデータが存在すれば、ステップ865〜869を実行した後、ステップ843に戻って、継続して処理を実行する。
また、上記ステップ835にてn=0であり、かつ、選択したパターンがpattern=1でもpattern=2でもないときは、グリッド点gi,jでの値はないことから、−9999を書き出す(ステップ842)。
On the other hand, when the priority level 1 data does not exist within the calculation range r of the grid point, Yes is determined in step 835, and if the user has selected pattern1 or pattern2, it is determined Yes in step 841. Therefore, the process proceeds to step 847 to calculate the value at the grid point g i, j using the data of the priority order 2.
Since the processing content from step 848 to step 870 is the same as the processing from step 819 to step 840 already described, description thereof will be omitted.
Note that step 841 is unique for processing data of priority 2.
If the priority level 2 data exists within the calculation range of the grid point as a result of executing the above processing and the priority level 2 data is processed, the process returns to step 843 after executing steps 865 to 869. , Continue processing.
If n = 0 in step 835 and the selected pattern is neither pattern = 1 nor pattern = 2, since there is no value at grid point gi , j , −9999 is written ( Step 842).

その後、ステップ843において、グリッド点の列iが未だ総数num_xに達していないとき、次のグリッド点の列に進み(ステップ845)、ステップ818へ戻って、この循環を繰り返し実行する。
その結果、ステップ843において、グリッド点の列iが総数num_xに達したと判断されたとき、グリッド点の次の行に進み(ステップ846)、ステップ818へ戻り、グリッド点の列を1ずつ繰り上げ実行して、最終的に最後のグリッド点の処理が終了したとき、ステップ844においてYesと判断されて、グリッド化についての処理を終了する。
Thereafter, in step 843, when the grid point row i has not yet reached the total number num_x, the process proceeds to the next grid point row (step 845), and returns to step 818 to repeat this cycle.
As a result, when it is determined in step 843 that the grid point column i has reached the total number num_x, the process proceeds to the next row of grid points (step 846), and the process returns to step 818 to increment the grid point column by one. When it is executed and the processing of the last grid point is finally finished, it is determined Yes in step 844, and the processing for grid formation is finished.

[等高線属性データのグリッド化プログラム2]
このプログラムは、以前のグリッド点の処理において使用したデータについては、以後の処理においては使用しないことを特徴としており、その余の点においては、グリッド化プログラム1と同じである。
したがって、前記特徴点についてのみ、図37〜38を参照して説明することとする。
ステップ874において、全ての線分データに、used=−1という属性を与える。
そして、ステップ894において線分番号sと距離lを保存するときに、併せてusedの値を保存する。
このusedの値は、n個の線分が全てused=1である、すなわち当該全ての線分データは既に以前のデータ点においてデータとして使用済みのものである、と判断されたときは、使用可能なデータが皆無となるから、プログラム1と同様の処理を行う(ステップ903,907)。
反対の判断のときは、used=−1である線分のみを用いて、プログラム1と同様の処理を行うが、この時、計算に使用した線分に、used=1を付与することとしている(ステップ905,909)。
[Contour attribute data gridding program 2]
This program is characterized in that the data used in the previous grid point processing is not used in the subsequent processing, and the other points are the same as in the grid program 1.
Therefore, only the feature points will be described with reference to FIGS.
In step 874, the attribute used = -1 is given to all line segment data.
In step 894, when the line segment number s and the distance l are saved, the value of used is also saved.
This used value is used when it is determined that all n line segments are used = 1, that is, all the line segment data has already been used as data at the previous data point. Since there is no possible data, the same processing as program 1 is performed (steps 903 and 907).
In the opposite determination, the same processing as in program 1 is performed using only the line segment where used = −1, but at this time, used = 1 is assigned to the line segment used for the calculation. (Steps 905, 909).

一方、優先順位2のデータについては、もともとこのデータが使われることが少ないと想定されること、及び優先順位1のデータが皆無であるならば、優先順位2のデータもその数が少ないことが想定されることから、used=−1という属性は与えないこととしている。 On the other hand, for priority level 2 data, it is assumed that this data is rarely used, and if there is no priority level 1 data, the number of priority level 2 data is also low. Since it is assumed, the attribute used = −1 is not given.

以上、勾配や斜面方位の計算プログラムについては、説明してこなかったが、ここで改めて説明することとする。
図39を参照して、最初にn本のラインデータをライン番号が小さい順に読み込む。ライン番号i(1,2,…,n)のラインデータをWとする。s=1とおく。
のj番目のデータ点をwi,jとする。Wのデータ点の総数をmとする。そして、j=1とおく。
ステップ955において、wi,jとwi,j+1を端点とする線分wi,ji,j+1について、勾配θと斜面方位δを計算する際に、wi,jの三次元座標を(xi,j,yi,j,zi,j)、wi,j+1の三次元座標を(xi,j+1,yi,j+1,zi,j+1)とする。
斜面勾配θと斜面方位δはそれぞれ次の[式A]と[式B]で計算される(ステップ956〜957)。
また、斜面方位δは、反時計回りで、東が0[°]として、wi,jとwi,j+1を比べて、標高(zi,jとzi,j+1)が、低い方の三次元座標を(x,y,z)、高い方の三次元座標を(x,y,z)とする。
1)x−x≧0かつy−y≧0 → δ=a[°]
2)x−x<0かつy−y≧0 → δ=180−a[°]
3)x−x<0かつy−y<0 → δ=180+a[°]
4)x−x≧0かつy−y<0→ δ=360−a[°]
As mentioned above, although the calculation program of the gradient and the slope direction has not been described, it will be described again here.
Referring to FIG. 39, first, n line data are read in ascending order of line numbers. Line number i (1,2, ..., n) the line data of the W i. Let s = 1.
Let the j-th data point of W i be w i, j . The total number of data points of W i and m. Then, j = 1 is set.
In step 955, w i, j and w i, a line segment and a j + 1 end point w i, j w i, for j + 1, when computing the gradient θ and slope aspect [delta], w i, the three-dimensional coordinates of the j The three-dimensional coordinates of (x i, j , y i, j , z i, j ) and w i, j + 1 are (x i, j + 1 , y i, j + 1 , z i, j + 1 ).
The slope gradient θ and the slope direction δ are calculated by the following [formula A] and [formula B], respectively (steps 956 to 957).
Also, the slope direction δ is counterclockwise and the east is 0 [°], and the altitude (z i, j and z i, j + 1 ) is lower than that of w i, j and w i, j + 1 . The three-dimensional coordinates are (x 1 , y 1 , z 1 ), and the higher three-dimensional coordinates are (x 2 , y 2 , z 2 ).
1) x 1 −x 2 ≧ 0 and y 1 −y 2 ≧ 0 → δ = a [°]
2) x 1 −x 2 <0 and y 1 −y 2 ≧ 0 → δ = 180−a [°]
3) x 1 −x 2 <0 and y 1 −y 2 <0 → δ = 180 + a [°]
4) x 1 −x 2 ≧ 0 and y 1 −y 2 <0 → δ = 360−a [°]

(式A)


(式B)
(Formula A)


(Formula B)

ステップ958において、wi,jとwi,j+1の位置座標と勾配θと斜面方位δなどを、目的に応じた形で書き出す。このとき、線分番号はsである。
次のステップ960にて、データ番号jが総数mに達していなければ、jを1インクリメントして、次のデータについて計算し、当該ラインデータの総数を処理したら(ステップ962)、次のラインデータについて処理する(ステップ963)。
全てのデータについて処理が済んだら計算を終了する。
In step 958, the position coordinates of w i, j and w i, j + 1 , the gradient θ, the slope direction δ, and the like are written in a form according to the purpose. At this time, the line segment number is s.
In the next step 960, if the data number j has not reached the total number m, j is incremented by 1 and the next data is calculated and the total number of the line data is processed (step 962). (Step 963).
When all the data has been processed, the calculation is terminated.

本発明においては、属性まで計算した線分データを読み込み、計算範囲内に存在するデータのみを使用してグリッドデータに変換することから、当該グリッド内での値が求められるのが特徴である。
また、使用者が最近傍の線分データを用いて勾配のグリッドデータを生成するか、n個の線分の勾配の平均値を用いて勾配のグリッドデータを生成するかを選択可能としたので、具体的なアウトプットの性質に応じて使い分けすることができる。
さらに、同種の基礎データが複数存在する場合に、各種データを単独でまたは組合せて使用し、目的に応じて柔軟に対応することができる。
The present invention is characterized in that the line segment data calculated up to the attribute is read and converted into grid data using only the data existing within the calculation range, so that the value in the grid is obtained.
In addition, the user can select whether to generate gradient grid data using the nearest line segment data or to generate gradient grid data using the average value of the gradients of n line segments. Depending on the specific nature of the output, it can be used properly.
Furthermore, when there are a plurality of basic data of the same type, various data can be used alone or in combination, and can be flexibly handled according to the purpose.

斜面の形状(Dikau(1990)を変更)の分類図である。L,直線;V,凸;C,凹。太線はこれらの形状を三つのグループに分ける。(1)ともに直線;(2)一方が直線で、他方が曲線;(3)ともに曲線It is a classification figure of the shape of a slope (changed Dikau (1990)). L, straight line; V, convex; C, concave. The thick lines divide these shapes into three groups. (1) Both straight lines; (2) One is straight and the other is curved; (3) Both are curved 等高線データ構造と形式を示す。Shows contour data structure and format. 点qの決定と点qを見つけるときのエラーの例を示す。(A)tは選択点の中で最もmに近く、等高線データTは等高線データMの隣に位置し、仮線分mtはどの等高線とも交差しない。tとtは選択点ではない。B1)仮線分mtは等高線データMと交差する。このエラーは等高線データMが屈曲している部分で、しばしば発生する。An example of an error when finding the decision and the point q j of the point q j. (A) t 1 is closest to m among the selected points, the contour line data T is positioned next to the contour line data M, and the temporary line segment mt 1 does not intersect any contour line. t 4 and t 5 is not a selected point. B1) The temporary line segment mt 1 intersects the contour line data M. This error often occurs where the contour data M is bent. 点wの候補を捜す手順を示す。A procedure for searching for a candidate for the point w will be described. 等高線データMとMの隣のH(あるいはK)の関係を表す。This represents the relationship between contour line data M and H (or K) next to M. 斜面の水平断面形を分類する点を示す。Points to classify the horizontal cross-sectional shape of the slope. 連続するベクターの外積によって得られる斜面の水平断面形を示す。The horizontal sectional shape of the slope obtained by the outer product of successive vectors is shown. 落水線データ・最急登線データのデータ形式を示す。Shows the data format of the falling water data and the steepest data. 落水線データ・最急登線データを示す。Shows falling water data and steepest climb data. 谷型斜面の角度と尾根型斜面の角度:ωを示す。The angle of valley slope and the angle of ridge slope: ω. 谷頭・尾根下端の検索を示す。Indicates a search for the bottom of a valley head or ridge. 水系番号の付与を示す。Indicates the assignment of the water system number. 谷次数の計算の順番を示す。Indicates the order of calculation of the valley order. 落水線データに沿った組み合わせを示す。The combination along the falling water line data is shown. 垂直断面形の一単位を示す。Indicates a unit of vertical cross section. 任意のデータ点における斜面の垂直断面形を、唯一つに決める手順を示す。A procedure for determining a single vertical cross-sectional shape of a slope at an arbitrary data point will be described. 重複線分の削除を示す。Indicates deletion of overlapping line segments. データ点wi,j+1における落水線(最急登線)データの合流を示す。The merging of the falling water line (the steepest climb line) data at the data point w i, j + 1 is shown. 水平断面形のプログラム(その1)フローチャートHorizontal section program (part 1) flow chart 水平断面形のプログラム(その2)フローチャートHorizontal section program (part 2) flow chart 各データ点の斜面の水平断面形の判定のフローチャートFlow chart for determining the horizontal cross section of the slope of each data point 最急登線生成(その1)フローチャートFlow chart for generating the fastest climb (part 1) 最急登線生成(その2)フローチャートFlow chart for generating the fastest climb (part 2) 落水線線生成(その1)フローチャートFlow line generation (part 1) flow chart 落水線線生成(その2)フローチャートFlow line generation (part 2) flow chart 谷頭決定のプログラムフローチャートProgram flowchart of Tanigami determination 尾根下端点の決定プログラムフローチャートRidge bottom point determination program flowchart 同高等高線結合線分作成(その1)のフローチャートFlow chart of creating the same contour line connecting line segment (Part 1) 同高等高線結合線分作成(その2)のフローチャートFlow chart for creating the same contour line connecting line segment (Part 2) 同高等高線結合線分作成(その3)のフローチャートFlow chart for creating the same contour line connecting line segment (Part 3) 谷次数と垂直断面形の組み合わせプログラム(その1)フローチャートCombination program of valley order and vertical section (part 1) flow chart 谷次数と垂直断面形の組み合わせプログラム(その2)フローチャートCombination program of valley order and vertical section (part 2) flow chart 谷次数と垂直断面形の組み合わせプログラム(その3)フローチャートCombination program of valley order and vertical section (part 3) flow chart 谷次数と垂直断面形の組み合わせプログラム(その4)フローチャートCombination program of valley order and vertical section (part 4) flow chart 属性グリッドデータ作成1(その1)フローチャートAttribute grid data creation 1 (part 1) flowchart 属性グリッドデータ作成1(その2)フローチャートAttribute grid data creation 1 (part 2) flowchart 属性グリッドデータ作成2(その1)フローチャートAttribute grid data creation 2 (part 1) flowchart 属性グリッドデータ作成2(その2)フローチャートAttribute grid data creation 2 (part 2) flowchart 勾配と斜面方位の計算フローチャートGradient and slope orientation calculation flowchart 尾根線生成プログラムフローチャートRidge line generation program flowchart 最急登線生成(参考)(その1)フローチャートFastest climb generation (reference) (part 1) flow chart 最急登線生成(参考)(その2)フローチャートFastest climb generation (reference) (part 2) flow chart 水系分類プログラムフローチャートWater system classification program flowchart 谷線生成プログラムフローチャートValley line generation program flowchart 谷次数の計算全体フローチャートOverall flow chart for valley order calculation 谷次数の計算フローチャートValley degree calculation flowchart Option_v1フローチャートOption_v1 flowchart Option_cフローチャートOption_c flowchart 一単位ラインの属性解析プログラムフローチャートSingle unit line attribute analysis program flowchart Option1フローチャートOption1 flowchart

Claims (2)

コンピュータに、
谷線または落水線データを記憶手段から読み込ませるステップと、
前記読み込んだ谷線または落水線が合流するか否かを判断させるステップと、
合流したと判断されたとき、合流地点より下流において谷線または落水線の重複生成を排除するための措置を施させるステップと、
谷線または落水線の合流時における谷次数の異同に応じて属性と谷次数を付与させるステップと、
実行させて谷次数を計算させ、該計算結果を記憶又は出力させる地形データ処理プログラム。
On the computer,
Loading valley line or falling water data from storage means;
Determining whether the read valley line or falling water line merges;
When it is determined that they have merged, a step of eliminating measures to eliminate duplication of valley lines or falling water lines downstream from the merge point;
A step of assigning an attribute and a valley order according to the difference in the valley order at the time of joining the valley line or the falling water line,
Is executed to calculate the valley order and store or output the calculation result.
コンピュータに、谷次数を計算させ、該計算結果を記憶又は出力させる地形データ処理プログラムはさらに、水系毎に分類され水系番号が付与された谷線または落水線データを水系毎に記憶手段から読み込ませ、同一の水系番号の谷線または落水線が合流するか否か判断させることを特徴とする請求項1記載の谷次数を計算させ、該計算結果を記憶又は出力させる地形データ処理プログラム。   The terrain data processing program for causing the computer to calculate the valley order and to store or output the calculation result further causes the valley line or the falling line data classified by the water system and assigned with the water system number to be read from the storage means for each water system. 2. A terrain data processing program for calculating a valley order and storing or outputting the calculation result according to claim 1, wherein it is determined whether or not valley lines or falling water lines having the same water system number meet.
JP2005310575A 2005-10-25 2005-10-25 Topographic data processing program Expired - Lifetime JP4203600B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005310575A JP4203600B2 (en) 2005-10-25 2005-10-25 Topographic data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005310575A JP4203600B2 (en) 2005-10-25 2005-10-25 Topographic data processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002320548A Division JP3755002B2 (en) 2002-09-27 2002-09-27 Topographic data processing program

Publications (2)

Publication Number Publication Date
JP2006091908A JP2006091908A (en) 2006-04-06
JP4203600B2 true JP4203600B2 (en) 2009-01-07

Family

ID=36232867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005310575A Expired - Lifetime JP4203600B2 (en) 2005-10-25 2005-10-25 Topographic data processing program

Country Status (1)

Country Link
JP (1) JP4203600B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2573360C1 (en) * 2014-09-12 2016-01-20 Федеральное государственное бюджетное учреждение науки Геофизический институт Владикавказского научного центра Российской академии наук (ГФИ ВНЦ РАН) Method to detect height of rock-ice avalanche in valley

Also Published As

Publication number Publication date
JP2006091908A (en) 2006-04-06

Similar Documents

Publication Publication Date Title
Riveiro et al. Automated processing of large point clouds for structural health monitoring of masonry arch bridges
Douglas Experiments to locate ridges and channels to create a new type of digital elevation model
CN109035364B (en) Method for rapidly drawing section based on CAD topographic map
WO2021051346A1 (en) Three-dimensional vehicle lane line determination method, device, and electronic apparatus
JP6686262B2 (en) Topographic change point extraction system and topographic change point extraction method
KR100657870B1 (en) Method for sampling the ground height using aviation laser measurement data
Zheng et al. A robust channel network extraction method combining discrete curve evolution and the skeleton construction technique
JP4314371B2 (en) Topographic data processing program
JP4203599B2 (en) Topographic data processing program
JP4203601B2 (en) Topographic data processing program
JP2002092658A (en) Three-dimensional digital map forming device and storage medium storing three-dimensional digital map forming program
Tarboton TARDEM, a suite of programs for the analysis of digital elevation data
JP4203600B2 (en) Topographic data processing program
JP3755002B2 (en) Topographic data processing program
Wolf et al. Techniques for Automated Classification and Segregation of Mobile Mapping 3D Point Clouds.
CN116012613B (en) Method and system for measuring and calculating earthwork variation of strip mine based on laser point cloud
JP6746851B2 (en) Terrain classification system and terrain classification method
JP4389029B2 (en) Topographic data processing method
JP2006092567A (en) Topographic data processing program
CN111488411A (en) Road facility construction method and device, rendering method, medium and terminal
JP3572253B2 (en) Three-dimensional model generation method and apparatus, and recording medium recording execution program of this method
KR100764870B1 (en) a contour input device and method thereof
JP3873121B2 (en) Topographic data processing method
Koshel Algorithm for topologically correct gridding of contour data
Admassu et al. Improved Automated Mapping of Sinkholes Using High-Resolution DEMs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Ref document number: 4203600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term