ArcInfo E00数据格式解析

 

# ----------------------------------------------------------------------
# E00 Format Record Definitions
#
# Revision: $Id: e00.def,v 17.0 2005/10/28 21:08:25 geh Exp $
#
# Author               Date            Changes made
# ------------------   ------------    -------------------------------
# Graeme Hiebert       Mar 20, 1997    Original definition
# Graeme Hiebert       May 01, 1997    Added code to handle TXT subfile.
# Graeme Hiebert       Jun 03, 1997    Added multiple label cover #
#                                      attributes to POLY_CENTROID_2
#                                      and POLY_CENTROID_2_DOUBLE.
# Graeme Hiebert       Sep 11, 1997    Changes for E00 output
# Graeme Hiebert       Feb 12, 1998    Make sure we don't write out 0s
#                                      in coord records when we have no data
# Graeme Hiebert       Jun 03, 1999    Added RXP definitions.
# Graeme Hiebert       Aug 21, 2000    Change CNT's "e00_num_labels" from
#                                      "String(10,1)" to "Integer(10,1,N)"
# Graeme Hiebert       Jun 21, 2001    Change TX6/TX7's "e00_grnd_height" to
#                                      "e00_text_size", and added
#                                      "e00_text_height".
# Graeme Hiebert       May 03, 2005    (PR#6618) Use single-precision
#                                      floats for TX[67]_FLOAT_DATA_1 (the
#                                      "$FIT" parameter), even in a double-
#                                      precision coverage.
#
#                  Copyright (c) 1996 - 1998, Safe Software Inc.
#                              All Rights Reserved
#
#    These definitions may not be copied or reproduced, in all or in part,
#    without the prior written consent of Safe Software Inc.
#
# ----------------------------------------------------------------------

# CAT_definitions for single-precision Arc/Info export format (E00)
# files.

# Full path to original export file.
CAT_DEF EXP_STATEMENT \
   e00_record_type   String(3,1)  \
   e00_option        Integer(3,4,N) \
   e00_filename      String(80,8)

# Spatial and polygon topology data for arcs.
CAT_DEF E00_TBL_HEADER    \
   e00_record_type   String(3,1)  \
   e00_precision     Integer(1,6,N)

###################################################################
#
# This section of definitions are used for single precision tables
# within the .E00 file.  The double-precision equivalents are
# defined immediately afterward.
#

# Defines the arc attributes which are specific to e00.
# Arcs are ended when record with value -1 0 0 0 0 0 0
# is read.

CAT_DEF ARC_INFO      \
   e00_cover_number  Integer(10,1,N)  \
   e00_cover_id      Integer(10,11,N) \
   e00_fnode         Integer(10,21,N) \
   e00_tnode         Integer(10,31,N) \
   e00_lpoly         Integer(10,41,N) \
   e00_rpoly         Integer(10,51,N) \
   e00_num_vertices  Integer(10,61,N)

CAT_DEF ARC_COORD     \
   e00_coordinate{0}.x  ExpReal(14,1,7)   \
   e00_coordinate{0}.y  ExpReal(14,15,7)  \
   e00_coordinate{1}.x  ExpReal(14,29,7,n)  \
   e00_coordinate{1}.y  ExpReal(14,43,7,n)

# ADP record.  Don't know what these are, but the format is
# pretty simple: some text followed by an integer

CAT_DEF ADP_ITEM \
   e00_adp_text       String(8,1)  \
   e00_adp_id         Integer(10,9,N)

# ADI record.  Don't know what these are, but all lines
# start with an integer

CAT_DEF ADI_ITEM      \
   e00_unknown       Integer(10,1,N)

# Centroid of the polygons are started by
# a record of type CNT.  This is also
# ended with a record of type -1 0 0 0 0 0

CAT_DEF POLY_CENTROID_1 \
   e00_num_labels    Integer(10,1,N)  \
   e00_x_coordinate  ExpReal(14,11,7) \
   e00_y_coordinate  ExpReal(14,25,7)

CAT_DEF POLY_CENTROID_2 \
   e00_cover_number_1 Integer(10,1,N)  \
   e00_cover_number_2 Integer(10,11,N,N,N) \
   e00_cover_number_3 Integer(10,21,N,N,N) \
   e00_cover_number_4 Integer(10,31,N,N,N) \
   e00_cover_number_5 Integer(10,41,N,N,N) \
   e00_cover_number_6 Integer(10,51,N,N,N) \
   e00_cover_number_7 Integer(10,61,N,N,N) \
   e00_cover_number_8 Integer(10,71,N,N,N)

CAT_DEF END_RECORD      \
   e00_end1          Integer(10,1,N)  \
   e00_end2          Integer(10,11,N) \
   e00_end3          Integer(10,21,N) \
   e00_end4          Integer(10,31,N) \
   e00_end5          Integer(10,41,N) \
   e00_end6          Integer(10,51,N) \
   e00_end7          Integer(10,61,N)

# Spatial Location of labels. The label section
# is ended by a value of -1 0 0.0 0.0 for LABEL_1 record.

# Now the first row of the label.
#
# [GEH 2003/07/16] Just a note here about the confusing mislabelling of the
# attributes.  The "e00_label_number" is actually the ID of the label itself,
# and the "e00_label_id" is the cover# of the polygon containing the label (or
# 0 if it is purely a point coverage).  It is the latter value that is used
# to join with the COVERAGE# of the .PAT info table to assign attributes
# to the label point.
#
# e00_label_number is written out to the attribute "cover_number" and the
# e00_label_id is written to the attribute "poly_id", in the output coverage.
#
# When relating labels' attributes, the poly_id should be matched against
# the .PAT <coverage>-ID field.  In the event where we have a pure point
# coverage, and hence the poly_id is 0, the record number within the list
# of labels is used to relate positionally to the the record at the same
# position in the .PAT table.

CAT_DEF LABEL_1 \
   e00_label_number  Integer(10,1,N)  \
   e00_label_id      Integer(10,11,N) \
   e00_x_coordinate  ExpReal(14,21,7)  \
   e00_y_coordinate  ExpReal(14,35,7)

# Now the second row of the label.  Apparently the format
# used to use two additional coordinates to specify a
# bounding box for the label, but these coordinates are
# generally just copies of the (x,y) coordinate in the first
# line now.

CAT_DEF LABEL_2 \
   e00_coordinate{0}.x  ExpReal(14,1,7)   \
   e00_coordinate{0}.y  ExpReal(14,15,7)  \
   e00_coordinate{1}.x  ExpReal(14,29,7)  \
   e00_coordinate{1}.y  ExpReal(14,43,7)

# Now the Arc Node Polygon Topology stuff. Begins with
# PAL 2. Again this ends with a record of integers of
# the form -1 0 0 0 0 0 0.
  
CAT_DEF PAL_DATA_1 \
   e00_num_triplets  Integer(10,1,N) \
   e00_min_x         ExpReal(14,11,7) \
   e00_min_y         ExpReal(14,25,7) \
   e00_max_x         ExpReal(14,39,7) \
   e00_max_y         ExpReal(14,53,7)

# This record isn't actually used for single-precision
# PAL files; it is just included for consistency with
# double-precision.

CAT_DEF PAL_DATA_1_CONT \
   e00_max_x         ExpReal(14,1,7) \
   e00_max_y         ExpReal(14,15,7)

CAT_DEF PAL_DATA_2 \
   e00_polyTriplet{0}.arc_number  Integer(10,1,N)  \
   e00_polyTriplet{0}.fnode       Integer(10,11,N) \
   e00_polyTriplet{0}.lpoly       Integer(10,21,N) \
   e00_polyTriplet{1}.arc_number  Integer(10,31,N,N,N) \
   e00_polyTriplet{1}.fnode       Integer(10,41,N,N,N) \
   e00_polyTriplet{1}.lpoly       Integer(10,51,N,N,N)

# Tolerance values. It is ended in the usual way.
# -1 0 0 0 0 0 0

CAT_DEF TOLERANCE_VALUES \
   e00_tolerance_id     Integer(10,1,N)  \
   e00_tolerance_misc   Integer(10,11,N) \
   e00_tolerance_value  ExpReal(14,21,7)

# Spatial Index flag
# Informs ARC/INFO to rebuild the spatial index on the specified
# feature. e.g. polygons,lines, default in no indexing.
# This is completed with an end of section flag. EOX

CAT_DEF SPATIAL_INDEX_HEADER2 \
   e00_type_of_rebuild String(30,1)

#End of section flag for spatial index.
CAT_DEF EOX_DEF \
   e00_endOfSection String(10,1)

# TX6 records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TX6_INT_DATA_1 \
   e00_anno_id           Integer(10,1,N)   \
   e00_level             Integer(10,11,N)  \
   e00_num_coords        Integer(10,21,N)  \
   e00_num_other_coords  Integer(10,31,N)  \
   e00_symbol            Integer(10,41,N)  \
   e00_tx6param{1}       Integer(10,51,N)  \
   e00_text_length       Integer(10,61,N)

CAT_DEF TX6_INT_DATA_2 \
   e00_text_just    Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_3 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_4 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX6_INT_DATA_5 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_6 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_7 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX6_FLOAT_DATA_1 \
   e00_tx6param{0}  ExpReal(14,1,7)

CAT_DEF TX6_FLOAT_DATA_2 \
   e00_char_size  ExpReal(14,1,7)    \
   e00_char_height   ExpReal(14,15,7)   \
   e00_tx6param{2}  ExpReal(14,29,7)

CAT_DEF TX6_COORD_DATA \
   e00_coordinate.x ExpReal(14,1,7)    \
   e00_coordinate.y ExpReal(14,15,7)

# TX7 records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TX7_INT_DATA_1 \
   e00_anno_id           Integer(10,1,N)   \
   e00_level             Integer(10,11,N)  \
   e00_num_coords        Integer(10,21,N)  \
   e00_num_other_coords  Integer(10,31,N)  \
   e00_symbol            Integer(10,41,N)  \
   e00_tx6param{1}       Integer(10,51,N)  \
   e00_text_length       Integer(10,61,N)  \
   e00_tx6param{2}       Integer(10,71,N)

CAT_DEF TX7_INT_DATA_2 \
   e00_text_just    Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_3 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_4 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX7_INT_DATA_5 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_6 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_7 \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX7_FLOAT_DATA_1 \
   e00_tx6param{0}  ExpReal(14,1,7)

CAT_DEF TX7_FLOAT_DATA_2 \
   e00_char_size  ExpReal(14,1,7)    \
   e00_char_height   ExpReal(14,15,7)   \
   e00_tx6param{2}  ExpReal(14,29,7)

CAT_DEF TX7_COORD_DATA \
   e00_coordinate.x ExpReal(14,1,7)    \
   e00_coordinate.y ExpReal(14,15,7)

# TXT records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TXT_INT_DATA \
   e00_level             Integer(10,1,N)   \
   e00_num_coords        Integer(10,11,N)  \
   e00_unknown1          Integer(10,21,N)  \
   e00_unknown2          Integer(10,31,N)  \
   e00_text_length       Integer(10,41,N)

CAT_DEF TXT_FLOAT_DATA_1 \
   e00_coordinate{0}.x  ExpReal(14,1,7)    \
   e00_coordinate{1}.x  ExpReal(14,15,7)   \
   e00_coordinate{2}.x  ExpReal(14,29,7)   \
   e00_coordinate{3}.x  ExpReal(14,43,7)   \
   e00_coordinate{0}.y  ExpReal(14,57,7)

CAT_DEF TXT_FLOAT_DATA_2 \
   e00_coordinate{1}.y  ExpReal(14,1,7)    \
   e00_coordinate{2}.y  ExpReal(14,15,7)   \
   e00_coordinate{3}.y  ExpReal(14,29,7)   \
   e00_unknown1         ExpReal(14,43,7)   \
   e00_unknown2         ExpReal(14,57,7)

CAT_DEF TXT_FLOAT_DATA_3 \
   e00_unknown1         ExpReal(14,1,7)    \
   e00_unknown2         ExpReal(14,15,7)   \
   e00_unknown3         ExpReal(14,29,7)   \
   e00_unknown4         ExpReal(14,43,7)   \
   e00_text_height      ExpReal(14,57,7)

# Single precision coverages don't have a fourth and fifth
# line of float data

CAT_DEF TXT_FLOAT_DATA_4 \
   dummy            String(1,1)

CAT_DEF TXT_FLOAT_DATA_5 \
   dummy            String(1,1)

CAT_DEF TXT_FLOAT_DATA_LAST \
   e00_constant_100     ExpReal(14,1,7)

# The PRJ file defines map projection parameters.  It is
# simply a list of lines formatted as (parameter name,value),
# with a "~" spacer after each parameter.  After all of the
# named parameters is a line containing just the word
# "Parameters" followed by a "~" line.  Presumably more
# parameters would be listed after this line.  The parameter
# list is ended by a line of "EOP".

CAT_DEF PRJ_DATA \
   e00_param_name   String(13,1)    \
   e00_param_value  String(20,15)

# contents of log file in workspace (optional)
# This continues until we hit the EOL flag.

CAT_DEF LOG_DATA \
   e00_line_from_log String(132,1)

#End of section flag for log stuff
CAT_DEF EOL_DEF \
   e00_endOfSection String(10,1)

# The link records only contain (x,y) points

CAT_DEF LINK_RECORD_DATA \
   e00_x_coordinate  ExpReal(14,1,7)    \
   e00_y_coordinate  ExpReal(14,15,7)

#End of section flag for log stuff

# Now the info stuff is next.  Attribution that is.

CAT_DEF INFO_RECORD_ATTR_INFO \
   e00_info_file_name       String(32,1)    \
   e00_info_const_xx        String(2,33)    \
   e00_info_num_real_items  Integer(4,35,N) \
   e00_info_num_items       Integer(4,39,N) \
   e00_info_rec_length      Integer(4,43,N) \
   e00_info_num_records     Integer(10,47,N)

CAT_DEF INFO_RECORD_ITEM_DEF \
   e00_info_field_name     String(16,1)  \
   e00_info_input_width    Integer(3,17,N) \
   e00_info_const_val_0    Integer(2,20,N) \
   e00_info_start_column   Integer(4,22,N) \
   e00_info_const_val_1    Integer(1,26,N) \
   e00_info_const_val_2    Integer(2,27,N) \
   e00_info_output_width   Integer(4,29,N) \
   e00_info_num_decimals   Integer(2,33,N) \
   e00_info_item_type      Integer(2,35,N) \
   e00_info_const_val_3    Integer(1,37,N) \
   e00_info_const_val_4    Integer(2,38,N) \
   e00_info_const_val_5    Integer(4,40,N) \
   e00_info_const_val_6    Integer(4,44,N) \
   e00_info_const_val_7    Integer(2,48,N) \
   e00_info_item_position  Integer(3,67,N) \
   e00_info_trailing_minus String(1,70)

# RXP records map region IDs to polygon IDs

CAT_DEF RXP_MAPPING \
   e00_region_id         Integer(10,1,N)   \
   e00_poly_id           Integer(10,11,N)

###################################################################
#
# This section of definitions are used for double precision tables
# within the .E00 file.  The single-precision equivalents are
# defined above.
#

# Defines the arc attributes which are specific to e00.
# Arcs are ended when record with value -1 0 0 0 0 0 0
# is read.

CAT_DEF ARC_INFO_DOUBLE      \
   e00_cover_number  Integer(10,1,N)  \
   e00_cover_id      Integer(10,11,N) \
   e00_fnode         Integer(10,21,N) \
   e00_tnode         Integer(10,31,N) \
   e00_lpoly         Integer(10,41,N) \
   e00_rpoly         Integer(10,51,N) \
   e00_num_vertices  Integer(10,61,N)

CAT_DEF ARC_COORD_DOUBLE     \
   e00_coordinate{0}.x  ExpReal(21,1,14)   \
   e00_coordinate{0}.y  ExpReal(21,22,14)

# ADP record.  Don't know what these are, but the format is
# pretty simple: some text followed by an integer

CAT_DEF ADP_ITEM_DOUBLE      \
   e00_adp_text       String(8,1)  \
   e00_adp_id         Integer(10,9,N)

# ADI record.  Don't know what these are, but all lines
# start with an integer

CAT_DEF ADI_ITEM_DOUBLE      \
   e00_unknown       Integer(10,1,N)

# Centroid of the polygons are started by
# a record of type CNT.  This is also
# ended with a record of type -1 0 0 0 0 0

CAT_DEF POLY_CENTROID_1_DOUBLE \
   e00_num_labels    Integer(10,1,N)  \
   e00_x_coordinate  ExpReal(21,11,14) \
   e00_y_coordinate  ExpReal(21,32,14)

CAT_DEF POLY_CENTROID_2_DOUBLE \
   e00_cover_number_1 Integer(10,1,N)  \
   e00_cover_number_2 Integer(10,11,N,N,N) \
   e00_cover_number_3 Integer(10,21,N,N,N) \
   e00_cover_number_4 Integer(10,31,N,N,N) \
   e00_cover_number_5 Integer(10,41,N,N,N) \
   e00_cover_number_6 Integer(10,51,N,N,N) \
   e00_cover_number_7 Integer(10,61,N,N,N) \
   e00_cover_number_8 Integer(10,71,N,N,N)

CAT_DEF END_RECORD_DOUBLE      \
   e00_end1          Integer(10,1,N)  \
   e00_end2          Integer(10,11,N) \
   e00_end3          Integer(10,21,N) \
   e00_end4          Integer(10,31,N) \
   e00_end5          Integer(10,41,N) \
   e00_end6          Integer(10,51,N) \
   e00_end7          Integer(10,61,N)

# Spatial Location of labels. The label section
# is ended by a value of -1 0 0.0 0.0 for LABEL_1 record.

# Now the first row of the label.

CAT_DEF LABEL_1_DOUBLE \
   e00_label_number  Integer(10,1,N)  \
   e00_label_id      Integer(10,11,N) \
   e00_x_coordinate  ExpReal(21,21,14)  \
   e00_y_coordinate  ExpReal(21,42,14)

# Now the second row of the label.  Apparently the format
# used to use two additional coordinates to specify a
# bounding box for the label, but these coordinates are
# generally just copies of the (x,y) coordinate in the first
# line now.

CAT_DEF LABEL_2_DOUBLE \
   e00_coordinate{0}.x  ExpReal(21,1,17)   \
   e00_coordinate{0}.y  ExpReal(21,22,17)

# Now the Arc Node Polygon Topology stuff. Begins with
# PAL 2. Again this ends with a record of integers of
# the form -1 0 0 0 0 0 0.
  
CAT_DEF PAL_DATA_1_DOUBLE \
   e00_num_triplets  Integer(10,1,N) \
   e00_min_x         ExpReal(21,11,14) \
   e00_min_y         ExpReal(21,32,14)

# Double-precision PAL files list the max (x,y) on
# the second line of the record, whereas a single
# precision one would have put them all on the first
# line.

CAT_DEF PAL_DATA_1_CONT_DOUBLE \
   e00_max_x         ExpReal(21,1,14) \
   e00_max_y         ExpReal(21,22,14)

CAT_DEF PAL_DATA_2_DOUBLE \
   e00_polyTriplet{0}.arc_number  Integer(10,1,N)  \
   e00_polyTriplet{0}.fnode       Integer(10,11,N) \
   e00_polyTriplet{0}.lpoly       Integer(10,21,N) \
   e00_polyTriplet{1}.arc_number  Integer(10,31,N,N,N) \
   e00_polyTriplet{1}.fnode       Integer(10,41,N,N,N) \
   e00_polyTriplet{1}.lpoly       Integer(10,51,N,N,N)

# Tolerance values. It is ended in the usual way.
# -1 0 0 0 0 0 0

CAT_DEF TOLERANCE_VALUES_DOUBLE \
   e00_tolerance_id     Integer(10,1,N)  \
   e00_tolerance_misc   Integer(10,11,N) \
   e00_tolerance_value  ExpReal(21,21,14)

# Spatial Index flag
# Informs ARC/INFO to rebuild the spatial index on the specified
# feature. e.g. polygons,lines, default in no indexing.
# This is completed with an end of section flag. EOX

CAT_DEF SPATIAL_INDEX_HEADER2_DOUBLE \
   e00_type_of_rebuild String(30,1)

#End of section flag for spatial index.

CAT_DEF EOX_DEF_DOUBLE \
   e00_endOfSection String(10,1)

# TX6 records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TX6_INT_DATA_1_DOUBLE \
   e00_anno_id           Integer(10,1,N)   \
   e00_level             Integer(10,11,N)  \
   e00_num_coords        Integer(10,21,N)  \
   e00_num_other_coords  Integer(10,31,N)  \
   e00_symbol            Integer(10,41,N)  \
   e00_tx6param{1}       Integer(10,51,N)  \
   e00_text_length       Integer(10,61,N)

CAT_DEF TX6_INT_DATA_2_DOUBLE \
   e00_text_just    Integer(10,1,N)   \
   e00_tx6param{0}  Integer(10,11,N)  \
   e00_tx6param{1}  Integer(10,21,N)  \
   e00_tx6param{2}  Integer(10,31,N)  \
   e00_tx6param{3}  Integer(10,41,N)  \
   e00_tx6param{4}  Integer(10,51,N)  \
   e00_tx6param{5}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_3_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_4_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX6_INT_DATA_5_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_6_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX6_INT_DATA_7_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX6_FLOAT_DATA_1_DOUBLE \
   e00_tx6param{0}  ExpReal(14,1,7)

CAT_DEF TX6_FLOAT_DATA_2_DOUBLE \
   e00_char_size  ExpReal(21,1,14)    \
   e00_char_height   ExpReal(21,22,14)   \
   e00_tx6param{2}  ExpReal(21,43,14)

CAT_DEF TX6_COORD_DATA_DOUBLE \
   e00_coordinate.x ExpReal(21,1,14)    \
   e00_coordinate.y ExpReal(21,22,14)

# TX7 records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TX7_INT_DATA_1_DOUBLE \
   e00_anno_id           Integer(10,1,N)   \
   e00_level             Integer(10,11,N)  \
   e00_num_coords        Integer(10,21,N)  \
   e00_num_other_coords  Integer(10,31,N)  \
   e00_symbol            Integer(10,41,N)  \
   e00_tx6param{1}       Integer(10,51,N)  \
   e00_text_length       Integer(10,61,N)  \
   e00_tx6param{2}       Integer(10,71,N)

CAT_DEF TX7_INT_DATA_2_DOUBLE \
   e00_text_just    Integer(10,1,N)   \
   e00_tx6param{0}  Integer(10,11,N)  \
   e00_tx6param{1}  Integer(10,21,N)  \
   e00_tx6param{2}  Integer(10,31,N)  \
   e00_tx6param{3}  Integer(10,41,N)  \
   e00_tx6param{4}  Integer(10,51,N)  \
   e00_tx6param{5}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_3_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_4_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX7_INT_DATA_5_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_6_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)  \
   e00_tx6param{6}  Integer(10,61,N)

CAT_DEF TX7_INT_DATA_7_DOUBLE \
   e00_tx6param{0}  Integer(10,1,N)   \
   e00_tx6param{1}  Integer(10,11,N)  \
   e00_tx6param{2}  Integer(10,21,N)  \
   e00_tx6param{3}  Integer(10,31,N)  \
   e00_tx6param{4}  Integer(10,41,N)  \
   e00_tx6param{5}  Integer(10,51,N)

CAT_DEF TX7_FLOAT_DATA_1_DOUBLE \
   e00_tx6param{0}  ExpReal(14,1,7)

CAT_DEF TX7_FLOAT_DATA_2_DOUBLE \
   e00_char_size  ExpReal(21,1,14)    \
   e00_char_height   ExpReal(21,22,14)   \
   e00_tx6param{2}  ExpReal(21,43,14)

CAT_DEF TX7_COORD_DATA_DOUBLE \
   e00_coordinate.x ExpReal(21,1,14)    \
   e00_coordinate.y ExpReal(21,22,14)

# TXT records - These records define annotation.  They end the
# the same as most tables (-1 0 0 0 0 0 0)

CAT_DEF TXT_INT_DATA_DOUBLE \
   e00_level             Integer(10,1,N)   \
   e00_num_coords        Integer(10,11,N)  \
   e00_unknown1          Integer(10,21,N)  \
   e00_unknown2          Integer(10,31,N)  \
   e00_text_length       Integer(10,41,N)

CAT_DEF TXT_FLOAT_DATA_1_DOUBLE \
   e00_coordinate{0}.x  ExpReal(21,1,14)    \
   e00_coordinate{1}.x  ExpReal(21,22,14)   \
   e00_coordinate{2}.x  ExpReal(21,43,14)

CAT_DEF TXT_FLOAT_DATA_2_DOUBLE \
   e00_coordinate{3}.x  ExpReal(21,1,14)    \
   e00_coordinate{0}.y  ExpReal(21,22,14)   \
   e00_coordinate{1}.y  ExpReal(21,43,14)

CAT_DEF TXT_FLOAT_DATA_3_DOUBLE \
   e00_coordinate{2}.y  ExpReal(21,1,14)    \
   e00_coordinate{3}.y  ExpReal(21,22,14)   \
   e00_unknown1         ExpReal(21,43,14)

CAT_DEF TXT_FLOAT_DATA_4_DOUBLE \
   e00_unknown2         ExpReal(21,1,14)    \
   e00_unknown3         ExpReal(21,22,14)   \
   e00_unknown4         ExpReal(21,43,14)

CAT_DEF TXT_FLOAT_DATA_5_DOUBLE \
   e00_unknown5         ExpReal(21,1,14)    \
   e00_unknown6         ExpReal(21,22,14)   \
   e00_text_height      ExpReal(21,43,14)

CAT_DEF TXT_FLOAT_DATA_LAST_DOUBLE \
   e00_constant_100     ExpReal(14,1,7)

# The PRJ file defines map projection parameters.  It is
# simply a list of lines formatted as (parameter name,value),
# with a "~" spacer after each parameter.  After all of the
# named parameters is a line containing just the word
# "Parameters" followed by a "~" line.  Presumably more
# parameters would be listed after this line.  The parameter
# list is ended by a line of "EOP".

CAT_DEF PRJ_DATA_DOUBLE \
   e00_param_name   String(13,1)    \
   e00_param_value  String(20,15)

# contents of log file in workspace (optional)
# This continues until we hit the EOL flag.

CAT_DEF LOG_DATA_DOUBLE \
   e00_line_from_log String(132,1)

#End of section flag for log stuff

CAT_DEF EOL_DEF_DOUBLE \
   e00_endOfSection String(10,1)

# The link records only contain (x,y) points

CAT_DEF LINK_RECORD_DATA_DOUBLE \
   e00_x_coordinate  ExpReal(21,1,14)    \
   e00_y_coordinate  ExpReal(21,22,14)

# RXP records map region IDs to polygon IDs

CAT_DEF RXP_MAPPING_DOUBLE \
   e00_region_id         Integer(10,1,N)   \
   e00_poly_id           Integer(10,11,N)

# Now the info stuff is next.  Attribution that is.

CAT_DEF INFO_RECORD_ATTR_INFO_DOUBLE \
   e00_info_file_name       String(32,1)    \
   e00_info_const_xx        String(2,33)    \
   e00_info_num_real_items  Integer(4,35,N) \
   e00_info_num_items       Integer(4,39,N) \
   e00_info_rec_length      Integer(4,43,N) \
   e00_info_num_records     Integer(10,47,N)

CAT_DEF INFO_RECORD_ITEM_DEF_DOUBLE \
   e00_info_field_name     String(16,1)  \
   e00_info_input_width    Integer(3,17,N) \
   e00_info_const_val_0    Integer(2,20,N) \
   e00_info_start_column   Integer(4,22,N) \
   e00_info_const_val_1    Integer(1,26,N) \
   e00_info_const_val_2    Integer(2,27,N) \
   e00_info_output_width   Integer(4,29,N) \
   e00_info_num_decimals   Integer(2,33,N) \
   e00_info_item_type      Integer(2,35,N) \
   e00_info_const_val_3    Integer(1,37,N) \
   e00_info_const_val_4    Integer(2,38,N) \
   e00_info_const_val_5    Integer(4,40,N) \
   e00_info_const_val_6    Integer(4,44,N) \
   e00_info_const_val_7    Integer(2,48,N) \
   e00_info_item_position  Integer(3,67,N) \
   e00_info_trailing_minus String(1,70)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值