Skip to content

yuryatin/egcst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python package egcst

This Python package helps to perform triangulation for engineering geological cross-sections.

Installation

This Python package is uploaded to the PyPI repository and therefore can be installed with pip install egcst command line instruction and updated (this is critical at this early stage of development) with pip install egcst --upgrade.

Polygon data format to feed

The only class CrossSection() of this package, when initiated, is expected to read an input text file that contains the polygons with unique geological characteristics in the following format: each polygon is placed on an individual line in the file with vertices' coordinates following one another separated with tabulation characters with x and y coordinates separated with a comma. The expected default name for this input file is input.txt. The object of the class CrossSection(), when initiated, can accept the optional argument input_file_name with another name for this input file. Another optional argument is min_step, which determines the approximate step for the triangulation grid. Its default value is 0.5.

Dependencies

This package depends on the standard Python modules sys and datetime as well as the non-standard Python modules numpy, matplotlib, shapely, ground, and sect.

How to use it

Very easy. The package has only one class CrossSection(), which is initiated with the input text file containing the coordinates for the polygons of the engineering geological cross-section. This class has only 5 'public' methods: .draw_blank(), .triangulate(), .save_triangles(), .draw_triangles(), .do_everything(), which (except for the last one) are expected to be called in this order (and never repeated for the same object). The .save_triangles() method saves triangles in a simplified text formats as well as attempts to do so in a STEP (ISO 10303-21) format. Although since I failed to find a single free working STEP analyzer, it is still a question whether the exported .step files actually comply with the stantard. Your comments on them are very welcome.

The illustration of how to use this package can be found in the attached file egcst_illustration.ipybn .
Briefly this can be expressed like this:

from egcst import CrossSection
cs = CrossSection(input_file_name="input.txt", min_step=1.0)
cs.do_everything()

output_triangles