Skip to content

write_polygon_xld_arc_infoWritePolygonXldArcInfoWritePolygonXldArcInfowrite_polygon_xld_arc_infowrite_polygon_xld_arc_info🔗

Short description🔗

write_polygon_xld_arc_infoWritePolygonXldArcInfoWritePolygonXldArcInfowrite_polygon_xld_arc_infowrite_polygon_xld_arc_info — Write XLD polygons to a file in ARC/INFO generate format.

Signature🔗

write_polygon_xld_arc_info( xld_poly Polygons, filename.write FileName )void WritePolygonXldArcInfo( const HObject& Polygons, const HTuple& FileName )static void HOperatorSet.WritePolygonXldArcInfo( HObject polygons, HTuple fileName )def write_polygon_xld_arc_info( polygons: HObject, file_name: str ) -> None

Herror write_polygon_xld_arc_info( const Hobject Polygons, const char* FileName )

Herror T_write_polygon_xld_arc_info( const Hobject Polygons, const Htuple FileName )

void HXLDPoly::WritePolygonXldArcInfo( const HString& FileName ) const

void HXLDPoly::WritePolygonXldArcInfo( const char* FileName ) const

void HXLDPoly::WritePolygonXldArcInfo( const wchar_t* FileName ) const (Windows only)

void HXLDPoly.WritePolygonXldArcInfo( string fileName )

Description🔗

write_polygon_xld_arc_infoWritePolygonXldArcInfo writes the XLD polygons Polygonspolygonspolygons to an ARC/INFO generate format file with name FileNamefileNamefile_name. If no absolute path is given in FileNamefileNamefile_name, the output file is created in the current directory of the HALCON process. The polygons must have been transformed to the world coordinate system with affine_trans_polygon_xldAffineTransPolygonXld beforehand. The necessary transformation can be read from an ARC/INFO world file with read_world_fileReadWorldFile.

Attention🔗

The XLD contours that are possibly referenced by Polygonspolygonspolygons are not stored in the ARC/INFO file, since this is not possible with the ARC/INFO generate file format. Therefore, when the polygons are read again using read_polygon_xld_arc_infoReadPolygonXldArcInfo, this information is lost, and no references to contours are generated for the polygons. Hence, operators that access the contours associated with a polygon, e.g., split_contours_xldSplitContoursXld will not work correctly.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

Polygonspolygonspolygons (input_object) xld_poly(-array) → objectHObjectHXLDPolyHObjectHobject

XLD polygons to be written.

FileNamefileNamefile_name (input_control) filename.write → (string)HTuple (HString)HTuple (string)strHtuple (char*)

Name of the ARC/INFO file.

Example🔗

(HDevelop)


* Read transformation and image
read_world_file ('image.tfw', WorldTransformation)
read_image (Image, 'image.tif')
* Segment image
* ...
* Write result
affine_trans_polygon_xld (Polygons, PolygonsWorld, WorldTransformation)
write_polygon_xld_arc_info (PolygonsWorld, 'result.gen')

Result🔗

If the parameters are correct and the file could be written, the operator write_polygon_xld_arc_infoWritePolygonXldArcInfo returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

affine_trans_polygon_xldAffineTransPolygonXld

See also

read_world_fileReadWorldFile, read_polygon_xld_arc_infoReadPolygonXldArcInfo, write_contour_xld_arc_infoWriteContourXldArcInfo

Module🔗

Foundation