first
This commit is contained in:
commit
bfaaa91639
17 changed files with 15912 additions and 0 deletions
BIN
bin/libshp.dll
Normal file
BIN
bin/libshp.dll
Normal file
Binary file not shown.
BIN
bin/shp_2_txt.exe
Normal file
BIN
bin/shp_2_txt.exe
Normal file
Binary file not shown.
1
compile.bat
Normal file
1
compile.bat
Normal file
|
@ -0,0 +1 @@
|
|||
g++ -g -Wall -I./src/cpp ./src/cpp/shp_2_txt.cpp -static -L ./src/cpp -l shp.dll -o ./bin/shp_2_txt
|
2
run_testing.bat
Normal file
2
run_testing.bat
Normal file
|
@ -0,0 +1,2 @@
|
|||
set rootFolder=%~dp0
|
||||
%rootFolder%\bin\shp_2_txt.exe -i %rootFolder%\testing\MA.dbf -o %rootFolder%\testing\MA.txt
|
95
shp_2_txt.cpp
Normal file
95
shp_2_txt.cpp
Normal file
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
http://shapelib.maptools.org/dbf_api.html
|
||||
|
||||
basic funtionality taken from dbfdump.c
|
||||
path to libshp.dll has to be added as a PATH var
|
||||
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "shapefil.h"
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{ string dbf_filename;
|
||||
string txt_filename;
|
||||
if (argc == 1)
|
||||
{
|
||||
// no arguments given, print help
|
||||
cout << "No input and output files defined!" << endl;
|
||||
cout << "example: shp_2_txt -i MA.dbf -o MA.txt" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// parse arguments
|
||||
for (int i = 1; i < argc; i++)
|
||||
{
|
||||
if (argv[i][0] == '\0')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (strcmp(argv[i],"-i") == 0)
|
||||
{
|
||||
dbf_filename = argv[i + 1];
|
||||
|
||||
}
|
||||
else if (strcmp(argv[i],"-o") == 0 )
|
||||
{
|
||||
txt_filename = argv[i + 1];
|
||||
}
|
||||
}
|
||||
|
||||
DBFHandle dbfh;
|
||||
int i, iRecord;
|
||||
char szTitle[12];
|
||||
|
||||
cout << dbf_filename << " " << txt_filename << endl;
|
||||
|
||||
// open textfile and dbf handle
|
||||
ofstream txt_file(txt_filename);
|
||||
dbfh = DBFOpen(dbf_filename.c_str(), "rb");
|
||||
|
||||
// check
|
||||
if (dbfh <= 0)
|
||||
{
|
||||
throw string("File " + dbf_filename + " not found");
|
||||
}
|
||||
else
|
||||
{
|
||||
// loop over dbf records
|
||||
for( iRecord = 0; iRecord < DBFGetRecordCount(dbfh); iRecord++ )
|
||||
{
|
||||
// loop over fields of record
|
||||
for( i = 0; i < DBFGetFieldCount(dbfh); i++ )
|
||||
{
|
||||
// DBFFieldType eType;
|
||||
// eType = DBFGetFieldInfo( dbfh, i, szTitle, &nWidth, &nDecimals );
|
||||
string dec_lat = "DEC_LAT";
|
||||
string dec_lon = "DEC_LON";
|
||||
string ellip_h = "ELLIP_HT";
|
||||
string ortho_h = "ORTHO_HT";
|
||||
string str(szTitle);
|
||||
string line;
|
||||
|
||||
// parse for lat, lon in degrees and orhto height
|
||||
if (szTitle == dec_lat or szTitle == dec_lon or szTitle == ortho_h)
|
||||
{
|
||||
txt_file << DBFReadStringAttribute( dbfh, iRecord, i );
|
||||
txt_file << " ";
|
||||
}
|
||||
}
|
||||
txt_file << endl;
|
||||
}
|
||||
// close dbf handle and textfile
|
||||
DBFClose( dbfh );
|
||||
txt_file.close();
|
||||
cout << "Done." << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
BIN
src/cpp/libshp.dll
Normal file
BIN
src/cpp/libshp.dll
Normal file
Binary file not shown.
BIN
src/cpp/libshp.dll.a
Normal file
BIN
src/cpp/libshp.dll.a
Normal file
Binary file not shown.
755
src/cpp/shapefil.h
Normal file
755
src/cpp/shapefil.h
Normal file
|
@ -0,0 +1,755 @@
|
|||
#ifndef SHAPEFILE_H_INCLUDED
|
||||
#define SHAPEFILE_H_INCLUDED
|
||||
|
||||
/******************************************************************************
|
||||
* $Id: shapefil.h,v 1.56 2018-08-16 15:39:07 erouault Exp $
|
||||
*
|
||||
* Project: Shapelib
|
||||
* Purpose: Primary include file for Shapelib.
|
||||
* Author: Frank Warmerdam, warmerdam@pobox.com
|
||||
*
|
||||
******************************************************************************
|
||||
* Copyright (c) 1999, Frank Warmerdam
|
||||
* Copyright (c) 2012-2016, Even Rouault <even dot rouault at mines-paris dot org>
|
||||
*
|
||||
* This software is available under the following "MIT Style" license,
|
||||
* or at the option of the licensee under the LGPL (see COPYING). This
|
||||
* option is discussed in more detail in shapelib.html.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
******************************************************************************
|
||||
*
|
||||
* $Log: shapefil.h,v $
|
||||
* Revision 1.56 2018-08-16 15:39:07 erouault
|
||||
* * shpopen.c, dbfopen.c, shptree.c, sbnsearch.c: resyc with GDAL
|
||||
* internal shapelib. Mostly to allow building those files as C++
|
||||
* without warning. Also add FTDate entry in DBFFieldType
|
||||
* (see https://github.com/OSGeo/gdal/pull/308). And some other
|
||||
* code cleanups
|
||||
*
|
||||
* Revision 1.55 2016-12-05 18:44:08 erouault
|
||||
* * dbfopen.c, shapefil.h: write DBF end-of-file character 0x1A by default.
|
||||
* This behaviour can be controlled with the DBFSetWriteEndOfFileChar()
|
||||
* function.
|
||||
*
|
||||
* Revision 1.54 2016-12-05 12:44:05 erouault
|
||||
* * Major overhaul of Makefile build system to use autoconf/automake.
|
||||
*
|
||||
* * Warning fixes in contrib/
|
||||
*
|
||||
* Revision 1.53 2016-12-04 15:30:15 erouault
|
||||
* * shpopen.c, dbfopen.c, shptree.c, shapefil.h: resync with
|
||||
* GDAL Shapefile driver. Mostly cleanups. SHPObject and DBFInfo
|
||||
* structures extended with new members. New functions:
|
||||
* DBFSetLastModifiedDate, SHPOpenLLEx, SHPRestoreSHX,
|
||||
* SHPSetFastModeReadObject
|
||||
*
|
||||
* * sbnsearch.c: new file to implement original ESRI .sbn spatial
|
||||
* index reading. (no write support). New functions:
|
||||
* SBNOpenDiskTree, SBNCloseDiskTree, SBNSearchDiskTree,
|
||||
* SBNSearchDiskTreeInteger, SBNSearchFreeIds
|
||||
*
|
||||
* * Makefile, makefile.vc, CMakeLists.txt, shapelib.def: updates
|
||||
* with new file and symbols.
|
||||
*
|
||||
* * commit: helper script to cvs commit
|
||||
*
|
||||
* Revision 1.52 2011-12-11 22:26:46 fwarmerdam
|
||||
* upgrade .qix access code to use SAHooks (gdal #3365)
|
||||
*
|
||||
* Revision 1.51 2011-07-24 05:59:25 fwarmerdam
|
||||
* minimize use of CPLError in favor of SAHooks.Error()
|
||||
*
|
||||
* Revision 1.50 2011-05-13 17:35:17 fwarmerdam
|
||||
* added DBFReorderFields() and DBFAlterFields() functions (from Even)
|
||||
*
|
||||
* Revision 1.49 2011-04-16 14:38:21 fwarmerdam
|
||||
* avoid warnings with gcc on SHP_CVSID
|
||||
*
|
||||
* Revision 1.48 2010-08-27 23:42:52 fwarmerdam
|
||||
* add SHPAPI_CALL attribute in code
|
||||
*
|
||||
* Revision 1.47 2010-01-28 11:34:34 fwarmerdam
|
||||
* handle the shape file length limits more gracefully (#3236)
|
||||
*
|
||||
* Revision 1.46 2008-11-12 14:28:15 fwarmerdam
|
||||
* DBFCreateField() now works on files with records
|
||||
*
|
||||
* Revision 1.45 2008/11/11 17:47:10 fwarmerdam
|
||||
* added DBFDeleteField() function
|
||||
*
|
||||
* Revision 1.44 2008/01/16 20:05:19 bram
|
||||
* Add file hooks that accept UTF-8 encoded filenames on some platforms. Use SASetupUtf8Hooks
|
||||
* tosetup the hooks and check SHPAPI_UTF8_HOOKS for its availability. Currently, this
|
||||
* is only available on the Windows platform that decodes the UTF-8 filenames to wide
|
||||
* character strings and feeds them to _wfopen and _wremove.
|
||||
*
|
||||
* Revision 1.43 2008/01/10 16:35:30 fwarmerdam
|
||||
* avoid _ prefix on #defined symbols (bug 1840)
|
||||
*
|
||||
* Revision 1.42 2007/12/18 18:28:14 bram
|
||||
* - create hook for client specific atof (bugzilla ticket 1615)
|
||||
* - check for NULL handle before closing cpCPG file, and close after reading.
|
||||
*
|
||||
* Revision 1.41 2007/12/15 20:25:32 bram
|
||||
* dbfopen.c now reads the Code Page information from the DBF file, and exports
|
||||
* this information as a string through the DBFGetCodePage function. This is
|
||||
* either the number from the LDID header field ("LDID/<number>") or as the
|
||||
* content of an accompanying .CPG file. When creating a DBF file, the code can
|
||||
* be set using DBFCreateEx.
|
||||
*
|
||||
* Revision 1.40 2007/12/06 07:00:25 fwarmerdam
|
||||
* dbfopen now using SAHooks for fileio
|
||||
*
|
||||
* Revision 1.39 2007/12/04 20:37:56 fwarmerdam
|
||||
* preliminary implementation of hooks api for io and errors
|
||||
*
|
||||
* Revision 1.38 2007/11/21 22:39:56 fwarmerdam
|
||||
* close shx file in readonly mode (GDAL #1956)
|
||||
*
|
||||
* Revision 1.37 2007/10/27 03:31:14 fwarmerdam
|
||||
* limit default depth of tree to 12 levels (gdal ticket #1594)
|
||||
*
|
||||
* Revision 1.36 2007/09/10 23:33:15 fwarmerdam
|
||||
* Upstreamed support for visibility flag in SHPAPI_CALL for the needs
|
||||
* of GDAL (gdal ticket #1810).
|
||||
*
|
||||
* Revision 1.35 2007/09/03 19:48:10 fwarmerdam
|
||||
* move DBFReadAttribute() static dDoubleField into dbfinfo
|
||||
*
|
||||
* Revision 1.34 2006/06/17 15:33:32 fwarmerdam
|
||||
* added pszWorkField - bug 1202 (rso)
|
||||
*
|
||||
* Revision 1.33 2006/02/15 01:14:30 fwarmerdam
|
||||
* added DBFAddNativeFieldType
|
||||
*
|
||||
* Revision 1.32 2006/01/26 15:07:32 fwarmerdam
|
||||
* add bMeasureIsUsed flag from Craig Bruce: Bug 1249
|
||||
*
|
||||
* Revision 1.31 2006/01/05 01:27:27 fwarmerdam
|
||||
* added dbf deletion mark/fetch
|
||||
*
|
||||
* Revision 1.30 2005/01/03 22:30:13 fwarmerdam
|
||||
* added support for saved quadtrees
|
||||
*
|
||||
* Revision 1.29 2004/09/26 20:09:35 fwarmerdam
|
||||
* avoid rcsid warnings
|
||||
*
|
||||
* Revision 1.28 2003/12/29 06:02:18 fwarmerdam
|
||||
* added cpl_error.h option
|
||||
*
|
||||
* Revision 1.27 2003/04/21 18:30:37 warmerda
|
||||
* added header write/update public methods
|
||||
*
|
||||
* Revision 1.26 2002/09/29 00:00:08 warmerda
|
||||
* added FTLogical and logical attribute read/write calls
|
||||
*
|
||||
* Revision 1.25 2002/05/07 13:46:30 warmerda
|
||||
* added DBFWriteAttributeDirectly().
|
||||
*
|
||||
* Revision 1.24 2002/04/10 16:59:54 warmerda
|
||||
* added SHPRewindObject
|
||||
*
|
||||
* Revision 1.23 2002/01/15 14:36:07 warmerda
|
||||
* updated email address
|
||||
*
|
||||
* Revision 1.22 2002/01/15 14:32:00 warmerda
|
||||
* try to improve SHPAPI_CALL docs
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef USE_DBMALLOC
|
||||
#include <dbmalloc.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_CPL
|
||||
#include "cpl_conv.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/************************************************************************/
|
||||
/* Configuration options. */
|
||||
/************************************************************************/
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Should the DBFReadStringAttribute() strip leading and */
|
||||
/* trailing white space? */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#define TRIM_DBF_WHITESPACE
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Should we write measure values to the Multipatch object? */
|
||||
/* Reportedly ArcView crashes if we do write it, so for now it */
|
||||
/* is disabled. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#define DISABLE_MULTIPATCH_MEASURE
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* SHPAPI_CALL */
|
||||
/* */
|
||||
/* The following two macros are present to allow forcing */
|
||||
/* various calling conventions on the Shapelib API. */
|
||||
/* */
|
||||
/* To force __stdcall conventions (needed to call Shapelib */
|
||||
/* from Visual Basic and/or Dephi I believe) the makefile could */
|
||||
/* be modified to define: */
|
||||
/* */
|
||||
/* /DSHPAPI_CALL=__stdcall */
|
||||
/* */
|
||||
/* If it is desired to force export of the Shapelib API without */
|
||||
/* using the shapelib.def file, use the following definition. */
|
||||
/* */
|
||||
/* /DSHAPELIB_DLLEXPORT */
|
||||
/* */
|
||||
/* To get both at once it will be necessary to hack this */
|
||||
/* include file to define: */
|
||||
/* */
|
||||
/* #define SHPAPI_CALL __declspec(dllexport) __stdcall */
|
||||
/* #define SHPAPI_CALL1 __declspec(dllexport) * __stdcall */
|
||||
/* */
|
||||
/* The complexity of the situation is partly caused by the */
|
||||
/* peculiar requirement of Visual C++ that __stdcall appear */
|
||||
/* after any "*"'s in the return value of a function while the */
|
||||
/* __declspec(dllexport) must appear before them. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
#ifdef SHAPELIB_DLLEXPORT
|
||||
# define SHPAPI_CALL __declspec(dllexport)
|
||||
# define SHPAPI_CALL1(x) __declspec(dllexport) x
|
||||
#endif
|
||||
|
||||
#ifndef SHPAPI_CALL
|
||||
# if defined(USE_GCC_VISIBILITY_FLAG)
|
||||
# define SHPAPI_CALL __attribute__ ((visibility("default")))
|
||||
# define SHPAPI_CALL1(x) __attribute__ ((visibility("default"))) x
|
||||
# else
|
||||
# define SHPAPI_CALL
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef SHPAPI_CALL1
|
||||
# define SHPAPI_CALL1(x) x SHPAPI_CALL
|
||||
#endif
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Macros for controlling CVSID and ensuring they don't appear */
|
||||
/* as unreferenced variables resulting in lots of warnings. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#ifndef DISABLE_CVSID
|
||||
# if defined(__GNUC__) && __GNUC__ >= 4
|
||||
# define SHP_CVSID(string) static const char cpl_cvsid[] __attribute__((used)) = string;
|
||||
# else
|
||||
# define SHP_CVSID(string) static const char cpl_cvsid[] = string; \
|
||||
static const char *cvsid_aw() { return( cvsid_aw() ? NULL : cpl_cvsid ); }
|
||||
# endif
|
||||
#else
|
||||
# define SHP_CVSID(string)
|
||||
#endif
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* On some platforms, additional file IO hooks are defined that */
|
||||
/* UTF-8 encoded filenames Unicode filenames */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define SHPAPI_WINDOWS
|
||||
# define SHPAPI_UTF8_HOOKS
|
||||
#endif
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* IO/Error hook functions. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
typedef int *SAFile;
|
||||
|
||||
#ifndef SAOffset
|
||||
typedef unsigned long SAOffset;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
SAFile (*FOpen) ( const char *filename, const char *access);
|
||||
SAOffset (*FRead) ( void *p, SAOffset size, SAOffset nmemb, SAFile file);
|
||||
SAOffset (*FWrite)( void *p, SAOffset size, SAOffset nmemb, SAFile file);
|
||||
SAOffset (*FSeek) ( SAFile file, SAOffset offset, int whence );
|
||||
SAOffset (*FTell) ( SAFile file );
|
||||
int (*FFlush)( SAFile file );
|
||||
int (*FClose)( SAFile file );
|
||||
int (*Remove) ( const char *filename );
|
||||
|
||||
void (*Error) ( const char *message );
|
||||
double (*Atof) ( const char *str );
|
||||
} SAHooks;
|
||||
|
||||
void SHPAPI_CALL SASetupDefaultHooks( SAHooks *psHooks );
|
||||
#ifdef SHPAPI_UTF8_HOOKS
|
||||
void SHPAPI_CALL SASetupUtf8Hooks( SAHooks *psHooks );
|
||||
#endif
|
||||
|
||||
/************************************************************************/
|
||||
/* SHP Support. */
|
||||
/************************************************************************/
|
||||
typedef struct tagSHPObject SHPObject;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
SAHooks sHooks;
|
||||
|
||||
SAFile fpSHP;
|
||||
SAFile fpSHX;
|
||||
|
||||
int nShapeType; /* SHPT_* */
|
||||
|
||||
unsigned int nFileSize; /* SHP file */
|
||||
|
||||
int nRecords;
|
||||
int nMaxRecords;
|
||||
unsigned int*panRecOffset;
|
||||
unsigned int *panRecSize;
|
||||
|
||||
double adBoundsMin[4];
|
||||
double adBoundsMax[4];
|
||||
|
||||
int bUpdated;
|
||||
|
||||
unsigned char *pabyRec;
|
||||
int nBufSize;
|
||||
|
||||
int bFastModeReadObject;
|
||||
unsigned char *pabyObjectBuf;
|
||||
int nObjectBufSize;
|
||||
SHPObject* psCachedObject;
|
||||
} SHPInfo;
|
||||
|
||||
typedef SHPInfo * SHPHandle;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Shape types (nSHPType) */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#define SHPT_NULL 0
|
||||
#define SHPT_POINT 1
|
||||
#define SHPT_ARC 3
|
||||
#define SHPT_POLYGON 5
|
||||
#define SHPT_MULTIPOINT 8
|
||||
#define SHPT_POINTZ 11
|
||||
#define SHPT_ARCZ 13
|
||||
#define SHPT_POLYGONZ 15
|
||||
#define SHPT_MULTIPOINTZ 18
|
||||
#define SHPT_POINTM 21
|
||||
#define SHPT_ARCM 23
|
||||
#define SHPT_POLYGONM 25
|
||||
#define SHPT_MULTIPOINTM 28
|
||||
#define SHPT_MULTIPATCH 31
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Part types - everything but SHPT_MULTIPATCH just uses */
|
||||
/* SHPP_RING. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
#define SHPP_TRISTRIP 0
|
||||
#define SHPP_TRIFAN 1
|
||||
#define SHPP_OUTERRING 2
|
||||
#define SHPP_INNERRING 3
|
||||
#define SHPP_FIRSTRING 4
|
||||
#define SHPP_RING 5
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* SHPObject - represents on shape (without attributes) read */
|
||||
/* from the .shp file. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
struct tagSHPObject
|
||||
{
|
||||
int nSHPType;
|
||||
|
||||
int nShapeId; /* -1 is unknown/unassigned */
|
||||
|
||||
int nParts;
|
||||
int *panPartStart;
|
||||
int *panPartType;
|
||||
|
||||
int nVertices;
|
||||
double *padfX;
|
||||
double *padfY;
|
||||
double *padfZ;
|
||||
double *padfM;
|
||||
|
||||
double dfXMin;
|
||||
double dfYMin;
|
||||
double dfZMin;
|
||||
double dfMMin;
|
||||
|
||||
double dfXMax;
|
||||
double dfYMax;
|
||||
double dfZMax;
|
||||
double dfMMax;
|
||||
|
||||
int bMeasureIsUsed;
|
||||
int bFastModeReadObject;
|
||||
};
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* SHP API Prototypes */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
/* If pszAccess is read-only, the fpSHX field of the returned structure */
|
||||
/* will be NULL as it is not necessary to keep the SHX file open */
|
||||
SHPHandle SHPAPI_CALL
|
||||
SHPOpen( const char * pszShapeFile, const char * pszAccess );
|
||||
SHPHandle SHPAPI_CALL
|
||||
SHPOpenLL( const char *pszShapeFile, const char *pszAccess,
|
||||
SAHooks *psHooks );
|
||||
SHPHandle SHPAPI_CALL
|
||||
SHPOpenLLEx( const char *pszShapeFile, const char *pszAccess,
|
||||
SAHooks *psHooks, int bRestoreSHX );
|
||||
|
||||
int SHPAPI_CALL
|
||||
SHPRestoreSHX( const char *pszShapeFile, const char *pszAccess,
|
||||
SAHooks *psHooks );
|
||||
|
||||
/* If setting bFastMode = TRUE, the content of SHPReadObject() is owned by the SHPHandle. */
|
||||
/* So you cannot have 2 valid instances of SHPReadObject() simultaneously. */
|
||||
/* The SHPObject padfZ and padfM members may be NULL depending on the geometry */
|
||||
/* type. It is illegal to free at hand any of the pointer members of the SHPObject structure */
|
||||
void SHPAPI_CALL SHPSetFastModeReadObject( SHPHandle hSHP, int bFastMode );
|
||||
|
||||
SHPHandle SHPAPI_CALL
|
||||
SHPCreate( const char * pszShapeFile, int nShapeType );
|
||||
SHPHandle SHPAPI_CALL
|
||||
SHPCreateLL( const char * pszShapeFile, int nShapeType,
|
||||
SAHooks *psHooks );
|
||||
void SHPAPI_CALL
|
||||
SHPGetInfo( SHPHandle hSHP, int * pnEntities, int * pnShapeType,
|
||||
double * padfMinBound, double * padfMaxBound );
|
||||
|
||||
SHPObject SHPAPI_CALL1(*)
|
||||
SHPReadObject( SHPHandle hSHP, int iShape );
|
||||
int SHPAPI_CALL
|
||||
SHPWriteObject( SHPHandle hSHP, int iShape, SHPObject * psObject );
|
||||
|
||||
void SHPAPI_CALL
|
||||
SHPDestroyObject( SHPObject * psObject );
|
||||
void SHPAPI_CALL
|
||||
SHPComputeExtents( SHPObject * psObject );
|
||||
SHPObject SHPAPI_CALL1(*)
|
||||
SHPCreateObject( int nSHPType, int nShapeId, int nParts,
|
||||
const int * panPartStart, const int * panPartType,
|
||||
int nVertices,
|
||||
const double * padfX, const double * padfY,
|
||||
const double * padfZ, const double * padfM );
|
||||
SHPObject SHPAPI_CALL1(*)
|
||||
SHPCreateSimpleObject( int nSHPType, int nVertices,
|
||||
const double * padfX,
|
||||
const double * padfY,
|
||||
const double * padfZ );
|
||||
|
||||
int SHPAPI_CALL
|
||||
SHPRewindObject( SHPHandle hSHP, SHPObject * psObject );
|
||||
|
||||
void SHPAPI_CALL SHPClose( SHPHandle hSHP );
|
||||
void SHPAPI_CALL SHPWriteHeader( SHPHandle hSHP );
|
||||
|
||||
const char SHPAPI_CALL1(*)
|
||||
SHPTypeName( int nSHPType );
|
||||
const char SHPAPI_CALL1(*)
|
||||
SHPPartTypeName( int nPartType );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Shape quadtree indexing API. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
/* this can be two or four for binary or quad tree */
|
||||
#define MAX_SUBNODE 4
|
||||
|
||||
/* upper limit of tree levels for automatic estimation */
|
||||
#define MAX_DEFAULT_TREE_DEPTH 12
|
||||
|
||||
typedef struct shape_tree_node
|
||||
{
|
||||
/* region covered by this node */
|
||||
double adfBoundsMin[4];
|
||||
double adfBoundsMax[4];
|
||||
|
||||
/* list of shapes stored at this node. The papsShapeObj pointers
|
||||
or the whole list can be NULL */
|
||||
int nShapeCount;
|
||||
int *panShapeIds;
|
||||
SHPObject **papsShapeObj;
|
||||
|
||||
int nSubNodes;
|
||||
struct shape_tree_node *apsSubNode[MAX_SUBNODE];
|
||||
|
||||
} SHPTreeNode;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
SHPHandle hSHP;
|
||||
|
||||
int nMaxDepth;
|
||||
int nDimension;
|
||||
int nTotalCount;
|
||||
|
||||
SHPTreeNode *psRoot;
|
||||
} SHPTree;
|
||||
|
||||
SHPTree SHPAPI_CALL1(*)
|
||||
SHPCreateTree( SHPHandle hSHP, int nDimension, int nMaxDepth,
|
||||
double *padfBoundsMin, double *padfBoundsMax );
|
||||
void SHPAPI_CALL
|
||||
SHPDestroyTree( SHPTree * hTree );
|
||||
|
||||
int SHPAPI_CALL
|
||||
SHPWriteTree( SHPTree *hTree, const char * pszFilename );
|
||||
|
||||
int SHPAPI_CALL
|
||||
SHPTreeAddShapeId( SHPTree * hTree, SHPObject * psObject );
|
||||
int SHPAPI_CALL
|
||||
SHPTreeRemoveShapeId( SHPTree * hTree, int nShapeId );
|
||||
|
||||
void SHPAPI_CALL
|
||||
SHPTreeTrimExtraNodes( SHPTree * hTree );
|
||||
|
||||
int SHPAPI_CALL1(*)
|
||||
SHPTreeFindLikelyShapes( SHPTree * hTree,
|
||||
double * padfBoundsMin,
|
||||
double * padfBoundsMax,
|
||||
int * );
|
||||
int SHPAPI_CALL
|
||||
SHPCheckBoundsOverlap( double *, double *, double *, double *, int );
|
||||
|
||||
int SHPAPI_CALL1(*)
|
||||
SHPSearchDiskTree( FILE *fp,
|
||||
double *padfBoundsMin, double *padfBoundsMax,
|
||||
int *pnShapeCount );
|
||||
|
||||
typedef struct SHPDiskTreeInfo* SHPTreeDiskHandle;
|
||||
|
||||
SHPTreeDiskHandle SHPAPI_CALL
|
||||
SHPOpenDiskTree( const char* pszQIXFilename,
|
||||
SAHooks *psHooks );
|
||||
|
||||
void SHPAPI_CALL
|
||||
SHPCloseDiskTree( SHPTreeDiskHandle hDiskTree );
|
||||
|
||||
int SHPAPI_CALL1(*)
|
||||
SHPSearchDiskTreeEx( SHPTreeDiskHandle hDiskTree,
|
||||
double *padfBoundsMin, double *padfBoundsMax,
|
||||
int *pnShapeCount );
|
||||
|
||||
int SHPAPI_CALL
|
||||
SHPWriteTreeLL(SHPTree *hTree, const char *pszFilename, SAHooks *psHooks );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* SBN Search API */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
typedef struct SBNSearchInfo* SBNSearchHandle;
|
||||
|
||||
SBNSearchHandle SHPAPI_CALL
|
||||
SBNOpenDiskTree( const char* pszSBNFilename,
|
||||
SAHooks *psHooks );
|
||||
|
||||
void SHPAPI_CALL
|
||||
SBNCloseDiskTree( SBNSearchHandle hSBN );
|
||||
|
||||
int SHPAPI_CALL1(*)
|
||||
SBNSearchDiskTree( SBNSearchHandle hSBN,
|
||||
double *padfBoundsMin, double *padfBoundsMax,
|
||||
int *pnShapeCount );
|
||||
|
||||
int SHPAPI_CALL1(*)
|
||||
SBNSearchDiskTreeInteger( SBNSearchHandle hSBN,
|
||||
int bMinX, int bMinY, int bMaxX, int bMaxY,
|
||||
int *pnShapeCount );
|
||||
|
||||
void SHPAPI_CALL SBNSearchFreeIds( int* panShapeId );
|
||||
|
||||
/************************************************************************/
|
||||
/* DBF Support. */
|
||||
/************************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
SAHooks sHooks;
|
||||
|
||||
SAFile fp;
|
||||
|
||||
int nRecords;
|
||||
|
||||
int nRecordLength; /* Must fit on uint16 */
|
||||
int nHeaderLength; /* File header length (32) + field
|
||||
descriptor length + spare space.
|
||||
Must fit on uint16 */
|
||||
int nFields;
|
||||
int *panFieldOffset;
|
||||
int *panFieldSize;
|
||||
int *panFieldDecimals;
|
||||
char *pachFieldType;
|
||||
|
||||
char *pszHeader; /* Field descriptors */
|
||||
|
||||
int nCurrentRecord;
|
||||
int bCurrentRecordModified;
|
||||
char *pszCurrentRecord;
|
||||
|
||||
int nWorkFieldLength;
|
||||
char *pszWorkField;
|
||||
|
||||
int bNoHeader;
|
||||
int bUpdated;
|
||||
|
||||
union
|
||||
{
|
||||
double dfDoubleField;
|
||||
int nIntField;
|
||||
} fieldValue;
|
||||
|
||||
int iLanguageDriver;
|
||||
char *pszCodePage;
|
||||
|
||||
int nUpdateYearSince1900; /* 0-255 */
|
||||
int nUpdateMonth; /* 1-12 */
|
||||
int nUpdateDay; /* 1-31 */
|
||||
|
||||
int bWriteEndOfFileChar; /* defaults to TRUE */
|
||||
} DBFInfo;
|
||||
|
||||
typedef DBFInfo * DBFHandle;
|
||||
|
||||
typedef enum {
|
||||
FTString,
|
||||
FTInteger,
|
||||
FTDouble,
|
||||
FTLogical,
|
||||
FTDate,
|
||||
FTInvalid
|
||||
} DBFFieldType;
|
||||
|
||||
/* Field descriptor/header size */
|
||||
#define XBASE_FLDHDR_SZ 32
|
||||
/* Shapelib read up to 11 characters, even if only 10 should normally be used */
|
||||
#define XBASE_FLDNAME_LEN_READ 11
|
||||
/* On writing, we limit to 10 characters */
|
||||
#define XBASE_FLDNAME_LEN_WRITE 10
|
||||
/* Normally only 254 characters should be used. We tolerate 255 historically */
|
||||
#define XBASE_FLD_MAX_WIDTH 255
|
||||
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFOpen( const char * pszDBFFile, const char * pszAccess );
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFOpenLL( const char * pszDBFFile, const char * pszAccess,
|
||||
SAHooks *psHooks );
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFCreate( const char * pszDBFFile );
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFCreateEx( const char * pszDBFFile, const char * pszCodePage );
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFCreateLL( const char * pszDBFFile, const char * pszCodePage, SAHooks *psHooks );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFGetFieldCount( DBFHandle psDBF );
|
||||
int SHPAPI_CALL
|
||||
DBFGetRecordCount( DBFHandle psDBF );
|
||||
int SHPAPI_CALL
|
||||
DBFAddField( DBFHandle hDBF, const char * pszFieldName,
|
||||
DBFFieldType eType, int nWidth, int nDecimals );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFAddNativeFieldType( DBFHandle hDBF, const char * pszFieldName,
|
||||
char chType, int nWidth, int nDecimals );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFDeleteField( DBFHandle hDBF, int iField );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFReorderFields( DBFHandle psDBF, int* panMap );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFAlterFieldDefn( DBFHandle psDBF, int iField, const char * pszFieldName,
|
||||
char chType, int nWidth, int nDecimals );
|
||||
|
||||
DBFFieldType SHPAPI_CALL
|
||||
DBFGetFieldInfo( DBFHandle psDBF, int iField,
|
||||
char * pszFieldName, int * pnWidth, int * pnDecimals );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName);
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFReadIntegerAttribute( DBFHandle hDBF, int iShape, int iField );
|
||||
double SHPAPI_CALL
|
||||
DBFReadDoubleAttribute( DBFHandle hDBF, int iShape, int iField );
|
||||
const char SHPAPI_CALL1(*)
|
||||
DBFReadStringAttribute( DBFHandle hDBF, int iShape, int iField );
|
||||
const char SHPAPI_CALL1(*)
|
||||
DBFReadLogicalAttribute( DBFHandle hDBF, int iShape, int iField );
|
||||
int SHPAPI_CALL
|
||||
DBFIsAttributeNULL( DBFHandle hDBF, int iShape, int iField );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFWriteIntegerAttribute( DBFHandle hDBF, int iShape, int iField,
|
||||
int nFieldValue );
|
||||
int SHPAPI_CALL
|
||||
DBFWriteDoubleAttribute( DBFHandle hDBF, int iShape, int iField,
|
||||
double dFieldValue );
|
||||
int SHPAPI_CALL
|
||||
DBFWriteStringAttribute( DBFHandle hDBF, int iShape, int iField,
|
||||
const char * pszFieldValue );
|
||||
int SHPAPI_CALL
|
||||
DBFWriteNULLAttribute( DBFHandle hDBF, int iShape, int iField );
|
||||
|
||||
int SHPAPI_CALL
|
||||
DBFWriteLogicalAttribute( DBFHandle hDBF, int iShape, int iField,
|
||||
const char lFieldValue);
|
||||
int SHPAPI_CALL
|
||||
DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField,
|
||||
void * pValue );
|
||||
const char SHPAPI_CALL1(*)
|
||||
DBFReadTuple(DBFHandle psDBF, int hEntity );
|
||||
int SHPAPI_CALL
|
||||
DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple );
|
||||
|
||||
int SHPAPI_CALL DBFIsRecordDeleted( DBFHandle psDBF, int iShape );
|
||||
int SHPAPI_CALL DBFMarkRecordDeleted( DBFHandle psDBF, int iShape,
|
||||
int bIsDeleted );
|
||||
|
||||
DBFHandle SHPAPI_CALL
|
||||
DBFCloneEmpty(DBFHandle psDBF, const char * pszFilename );
|
||||
|
||||
void SHPAPI_CALL
|
||||
DBFClose( DBFHandle hDBF );
|
||||
void SHPAPI_CALL
|
||||
DBFUpdateHeader( DBFHandle hDBF );
|
||||
char SHPAPI_CALL
|
||||
DBFGetNativeFieldType( DBFHandle hDBF, int iField );
|
||||
|
||||
const char SHPAPI_CALL1(*)
|
||||
DBFGetCodePage(DBFHandle psDBF );
|
||||
|
||||
void SHPAPI_CALL
|
||||
DBFSetLastModifiedDate( DBFHandle psDBF, int nYYSince1900, int nMM, int nDD );
|
||||
|
||||
void SHPAPI_CALL DBFSetWriteEndOfFileChar( DBFHandle psDBF, int bWriteFlag );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ndef SHAPEFILE_H_INCLUDED */
|
95
src/cpp/shp_2_txt.cpp
Normal file
95
src/cpp/shp_2_txt.cpp
Normal file
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
http://shapelib.maptools.org/dbf_api.html
|
||||
|
||||
basic funtionality taken from dbfdump.c
|
||||
path to libshp.dll has to be added as a PATH var
|
||||
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "shapefil.h"
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{ string dbf_filename;
|
||||
string txt_filename;
|
||||
if (argc == 1)
|
||||
{
|
||||
// no arguments given, print help
|
||||
cout << "No input and output files defined!" << endl;
|
||||
cout << "example: shp_2_txt -i MA.dbf -o MA.txt" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// parse arguments
|
||||
for (int i = 1; i < argc; i++)
|
||||
{
|
||||
if (argv[i][0] == '\0')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (strcmp(argv[i],"-i") == 0)
|
||||
{
|
||||
dbf_filename = argv[i + 1];
|
||||
|
||||
}
|
||||
else if (strcmp(argv[i],"-o") == 0 )
|
||||
{
|
||||
txt_filename = argv[i + 1];
|
||||
}
|
||||
}
|
||||
|
||||
DBFHandle dbfh;
|
||||
int i, iRecord;
|
||||
char szTitle[12];
|
||||
|
||||
cout << dbf_filename << " " << txt_filename << endl;
|
||||
|
||||
// open textfile and dbf handle
|
||||
ofstream txt_file(txt_filename);
|
||||
dbfh = DBFOpen(dbf_filename.c_str(), "rb");
|
||||
|
||||
// check
|
||||
if (dbfh <= 0)
|
||||
{
|
||||
throw string("File " + dbf_filename + " not found");
|
||||
}
|
||||
else
|
||||
{
|
||||
// loop over dbf records
|
||||
for( iRecord = 0; iRecord < DBFGetRecordCount(dbfh); iRecord++ )
|
||||
{
|
||||
// loop over fields of record
|
||||
for( i = 0; i < DBFGetFieldCount(dbfh); i++ )
|
||||
{
|
||||
// DBFFieldType eType;
|
||||
// eType = DBFGetFieldInfo( dbfh, i, szTitle, &nWidth, &nDecimals );
|
||||
string dec_lat = "DEC_LAT";
|
||||
string dec_lon = "DEC_LON";
|
||||
string ellip_h = "ELLIP_HT";
|
||||
string ortho_h = "ORTHO_HT";
|
||||
string str(szTitle);
|
||||
string line;
|
||||
|
||||
// parse for lat, lon in degrees and orhto height
|
||||
if (szTitle == dec_lat or szTitle == dec_lon or szTitle == ortho_h)
|
||||
{
|
||||
txt_file << DBFReadStringAttribute( dbfh, iRecord, i );
|
||||
txt_file << " ";
|
||||
}
|
||||
}
|
||||
txt_file << endl;
|
||||
}
|
||||
// close dbf handle and textfile
|
||||
DBFClose( dbfh );
|
||||
txt_file.close();
|
||||
cout << "Done." << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
22
src/python/shp_2_txt.py
Normal file
22
src/python/shp_2_txt.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
# OrderedDict([('FeatureId', None), ('DATA_DATE', '20190402'), ('DATA_SRCE', 'http://www.ngs.noaa.gov/cgi-bin/ds_mark.prl?PidBox=DF6866'),
|
||||
# ('PID', 'DF6866'), ('NAME', '204 S'), ('HT_MOD', ''), ('CORS_ID', ''), ('PACS_SACS', ''), ('STATE', 'MA'),
|
||||
# ('COUNTY', 'PLYMOUTH'), ('QUAD', ''), ('LATITUDE', '41 48 42.93229(N)'), ('LONGITUDE', '070 57 49.32872(W)'),
|
||||
# ('DEC_LAT', ' 41.8119256361'), ('DEC_LON', ' -70.9637024222'), ('ELLIP_HT', ''), ('POS_DATUM', 'NAD 83'), ('DATUM_TAG', '(1996)'),
|
||||
# ('POS_EPOCH', ''), ('POS_SRCE', 'ADJUSTED'), ('ORTHO_HT', ' 18.5'), ('VERT_DATUM', 'NAVD 88'), ('VERT_EPOCH', ''), ('VERT_SRCE', 'VERTCON'),
|
||||
# ('GEOID_HT', '-29.000'), ('GEOID_MOD', 'GEOID12B'), ('DYNAMIC_HT', ''), ('MODEL_GRAV', ''),
|
||||
# ('N_ACC_HZ', ''), ('N_ACC_EH', ''), ('N_ACC_STDN', ''), ('N_ACC_STDE', ''), ('N_ACC_STDH', ''), ('N_ACC_CORR', ''),
|
||||
# ('POS_ORDER', '2'), ('VERT_ORDER', ''), ('VERT_CLASS', ''), ('DIST_RATE', ''), ('ECEF_X', ''), ('ECEF_Y', ''), ('ECEF_Z', ''),
|
||||
# ('SPC_ZONE', 'MA M'), ('SPC_NORTH', '840320.139'), ('SPC_EAST', '244562.406'), ('SPC_CONV', '+0 21 36.9'), ('SPC_CSF', '0.99998907'),
|
||||
# ('UTM_ZONE', '19'), ('UTM_NORTH', '4630758.769'), ('UTM_EAST', '336889.228'), ('UTM_CONV', '-1 18 34.1'), ('UTM_CSF', '0.99992904'),
|
||||
# ('STABILITY', 'C'), ('FIRST_RECV', '1972'), ('LAST_RECV', '1972'), ('LAST_COND', 'MONUMENTED'), ('LAST_RECBY', 'MAGS'), ('SAT_USE', ''),
|
||||
# ('MARKER', 'DE = TRAVERSE STATION DISK'), ('SETTING', '7 = SET IN TOP OF CONCRETE MONUMENT'), ('STAMPING', '204 S')])
|
||||
|
||||
from dbfread import DBF
|
||||
|
||||
dbf_file = DBF("f:\\testing\\shp_2_txt\\MA.dbf", load=True, encoding='utf8')
|
||||
txt_file = open("f:\\testing\\shp_2_txt\\MA.txt", 'w')
|
||||
|
||||
for idx, record in enumerate(dbf_file):
|
||||
txt_file.write(str(record['DEC_LON'] + record['DEC_LAT'] + record['ELLIP_HT'] + record['ORTHO_HT']) + '\n')
|
||||
|
||||
txt_file.close()
|
BIN
testing/MA.dbf
Normal file
BIN
testing/MA.dbf
Normal file
Binary file not shown.
1
testing/MA.prj
Normal file
1
testing/MA.prj
Normal file
|
@ -0,0 +1 @@
|
|||
GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
|
BIN
testing/MA.shp
Normal file
BIN
testing/MA.shp
Normal file
Binary file not shown.
917
testing/MA.shp.xml
Normal file
917
testing/MA.shp.xml
Normal file
|
@ -0,0 +1,917 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<metadata>
|
||||
<idinfo>
|
||||
<citation>
|
||||
<citeinfo>
|
||||
<origin>NOAA, National Geodetic Survey</origin>
|
||||
<pubdate>20190402</pubdate>
|
||||
<title>Horizontal and Vertical Geodetic Control Data for the Unites States.</title>
|
||||
<edition>latest available</edition>
|
||||
<geoform>Diagram</geoform>
|
||||
<serinfo>
|
||||
<sername>N/A</sername>
|
||||
<issue>N/A</issue>
|
||||
</serinfo>
|
||||
<pubinfo>
|
||||
<pubplace>NOAA Campus, Silver Spring, MD</pubplace>
|
||||
<publish>NOAA, National Geodetic Survey</publish>
|
||||
</pubinfo>
|
||||
<othercit>
|
||||
Questions concerning this data
|
||||
may be addressed to
|
||||
NGS Information Services Branch
|
||||
EMail - ngs.software@noaa.gov
|
||||
Phone - 301-713-3242
|
||||
</othercit>
|
||||
<onlink><http://www.ngs.noaa.gov/cgi-bin/datasheet.prl></onlink>
|
||||
</citeinfo>
|
||||
</citation>
|
||||
<descript>
|
||||
<abstract>
|
||||
This data contains a set of geodetic control stations
|
||||
maintained by the National Geodetic Survey.
|
||||
Each geodetic control station in this dataset
|
||||
has either a precise Latitude/Longitude used
|
||||
for horizontal control or a precise Orthometric Height
|
||||
used for vertical control, or both.
|
||||
|
||||
The National Geodetic Survey (NGS) serves
|
||||
as the Nation's depository for geodetic data. The NGS
|
||||
distributes geodetic data worldwide to a variety of
|
||||
users. These geodetic data include the final results
|
||||
of geodetic surveys, software programs to format,
|
||||
compute, verify, and adjust original survey
|
||||
observations or to convert values from one geodetic
|
||||
datum to another, and publications that describe how to
|
||||
obtain and use Geodetic Data products and services.
|
||||
</abstract>
|
||||
<purpose>
|
||||
Provide a base of reference for latitude, longitude and height
|
||||
throughout the United States.
|
||||
</purpose>
|
||||
</descript>
|
||||
<timeperd>
|
||||
<timeinfo>
|
||||
<sngdate>
|
||||
<caldate>20190402</caldate>
|
||||
</sngdate>
|
||||
</timeinfo>
|
||||
<current>retrieval date</current>
|
||||
</timeperd>
|
||||
<status>
|
||||
<progress>Complete</progress>
|
||||
<update>Continually</update>
|
||||
</status>
|
||||
<spdom>
|
||||
<bounding>
|
||||
<westbc>-73.5</westbc>
|
||||
<eastbc>-69.9</eastbc>
|
||||
<northbc>42.9</northbc>
|
||||
<southbc>41.2</southbc>
|
||||
</bounding>
|
||||
</spdom>
|
||||
<keywords>
|
||||
<theme>
|
||||
<themekt>geodesy</themekt>
|
||||
<themekey>
|
||||
NSRS, geodetic, horizontal control,
|
||||
vertical control, ellipsoid height, benchmark,
|
||||
orthometric height, latitude, longitude
|
||||
</themekey>
|
||||
</theme>
|
||||
<place>
|
||||
<placekt>None</placekt>
|
||||
<placekey>The geographic limits of USA including trust Territories</placekey>
|
||||
</place>
|
||||
<stratum>
|
||||
<stratkt>N/A</stratkt>
|
||||
<stratkey>N/A</stratkey>
|
||||
</stratum>
|
||||
<temporal>
|
||||
<tempkt>N/A</tempkt>
|
||||
<tempkey>N/A</tempkey>
|
||||
</temporal>
|
||||
</keywords>
|
||||
<accconst>
|
||||
Geodetic Data are in the public
|
||||
domain, not restricted from access or distribution.
|
||||
</accconst>
|
||||
<useconst>
|
||||
Not restricted; Geodetic Data,
|
||||
including software were developed and compiled with
|
||||
U.S. Government funding; no proprietary rights may be
|
||||
attached to them nor may they be sold to the U.S.
|
||||
Government as part of any procurement of ADP products
|
||||
or services.
|
||||
</useconst>
|
||||
<ptcontac>
|
||||
<cntinfo>
|
||||
<cntperp>
|
||||
<cntper>NGS Information Services Branch</cntper>
|
||||
<cntorg>NOAA, National Geodetic Survey</cntorg>
|
||||
</cntperp>
|
||||
<cntpos>Information Specialist</cntpos>
|
||||
<cntaddr>
|
||||
<addrtype>Mailing and Physical Address</addrtype>
|
||||
<address>
|
||||
SSMC3/9202
|
||||
1315 East-west Highway
|
||||
</address>
|
||||
<city>Silver Spring</city>
|
||||
<state>MD</state>
|
||||
<postal>20910</postal>
|
||||
<country>USA</country>
|
||||
</cntaddr>
|
||||
<cntvoice>301-713-3242</cntvoice>
|
||||
<cntfax>301-713-4172</cntfax>
|
||||
<cntemail>ngs.infocenter@noaa.gov</cntemail>
|
||||
<hours>7:00am to 4:30pm EST</hours>
|
||||
<cntinst>Prefer EMail</cntinst>
|
||||
</cntinfo>
|
||||
</ptcontac>
|
||||
<datacred>
|
||||
NOAA, National Geodetic Survey and
|
||||
cooperating organizations
|
||||
</datacred>
|
||||
<secinfo>
|
||||
<secsys>DOD</secsys>
|
||||
<secclass>unclassified</secclass>
|
||||
<sechandl>none</sechandl>
|
||||
</secinfo>
|
||||
<native>
|
||||
The data was extracted from NGS datasheets which
|
||||
are available at <http://www.ngs.noaa.gov/cgi-bin/datasheet.prl>
|
||||
The NGS datasheet is a text document which summarizes
|
||||
key geodetic information stored in the NGS database.
|
||||
</native>
|
||||
</idinfo>
|
||||
<dataqual>
|
||||
<attracc>
|
||||
<attraccr>
|
||||
Horizontal control stations (those with precise Latitude, Longitude)
|
||||
were established in accordance with FGDC publications
|
||||
"Standards and Specifications for Geodetic Accuracy Standards"
|
||||
and "Geometric Geodetic Accuracy Standards and Specifications for
|
||||
Using GPS Relative Positioning Techniques"
|
||||
The final Latitude, Longitude of these stations were determined
|
||||
by a least squares adjustments of the horizontal observations.
|
||||
Horizontal control station have Latitude, Longitudes displayed
|
||||
to 5 places and are identified by attribute POS_SRCE = 'ADJUSTED'
|
||||
|
||||
Lesser quality Latitude, Longitudes may also be preset in the dataset.
|
||||
These are identified by a POS_SRCE attributes
|
||||
HD_HELD1, HD_HELD2, or SCALED.
|
||||
These lesser quality positions are described at:
|
||||
<http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=SCALED>
|
||||
|
||||
Vertical control stations (those with precise Orthometric Heights)
|
||||
were established in accordance with FGDC publications
|
||||
"Standards and Specifications for Geodetic Accuracy Standards"
|
||||
The final Orthometric Height of these stations were in most cases
|
||||
determined by a least squares adjustments of the vertical observations
|
||||
but in some cases may have been keyed from old survey documents.
|
||||
Vertical control stations have Orthometric Heights displayed
|
||||
to 2 or 3 places and are identified by attribute ELEV_SRCE of
|
||||
ADJUSTED, ADJ UNCH, POSTED,READJUST,N HEIGHT,RESET,COMPUTED
|
||||
|
||||
Lesser quality Orthometric Heights may also be preset in the dataset.
|
||||
These are identified by a ELEV_SRCE attributes
|
||||
GPS_OBS, VERT_ANG, H_LEVEL, VERTCON, SCALED.
|
||||
These lesser quality orthometric heights are described at:
|
||||
<http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=SCALED>
|
||||
|
||||
IMPORTANT - Control stations do not always have both precise
|
||||
Latitude, Longitude AND precise Orthometric Height.
|
||||
A horizontal control station may have a orthometric
|
||||
height associated with it which is of non geodetic quality.
|
||||
These types of heights are displayed to 0, 1, or 2 decimal
|
||||
places. Worst case being off by +/- 1 meter.
|
||||
LIKEWISE - A Vertical control station may have a Latitude, Longitude
|
||||
associated with it which is of non geodetic quality.
|
||||
These types of Latitude, Longitudes are displayed to 0, 1 or 2 decimal
|
||||
places. Worst case being off by +/- 180 meter.
|
||||
Refer to <http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=SCALED>
|
||||
for a description of the various type of methods used in determining
|
||||
the Latitude, Longitude, and Orthometric Height.
|
||||
|
||||
Attribute POS_CHECK and ELEV_CHECK indicate whether or not
|
||||
an observational check was made to the position and/or orthometric height.
|
||||
Care should be taken when using "No Check" coordinates.
|
||||
|
||||
If attribute ELEV_SRCE = 'VERTCON' then the Orthometric Height was
|
||||
determined by applying NGS program VERTCON to an Old NGVD 29 height.
|
||||
In most areas VERTCON gives results to +/- 2 cm.
|
||||
See <http://www.ngs.noaa.gov/TOOLS/Vertcon/vertcon.html> for a more
|
||||
detailed explanation of VERTCON accuracy.
|
||||
|
||||
Ellipsoid Heights are also present in the dataset.
|
||||
The ellipsoid heights consist of those determined using a precise
|
||||
geoid model, which are displayed to 2 decimal places and are considered
|
||||
good to +/- .005 meters, and those displayed to 1 decimal place and are considered
|
||||
only good to +/- .5 meters
|
||||
</attraccr>
|
||||
<qattracc>
|
||||
<attraccv>95 percent confidence level for geodetic quality data.</attraccv>
|
||||
<attracce>
|
||||
Geodetic Data are continuously being processed;
|
||||
their standards and specifications are being reviewed for next
|
||||
publication release. "Standards and Specifications for Geodetic Control Networks",
|
||||
1984 and "Geometric Geodetic Accuracy Standards
|
||||
and Specifications for Using GPS Relative
|
||||
Positioning Techniques," FGCS (formally FGCC)
|
||||
publication version 5.0 1989, are most current
|
||||
published documents.
|
||||
</attracce>
|
||||
</qattracc>
|
||||
</attracc>
|
||||
<logic>
|
||||
FGCS sponsored testing in cooperation with equipment
|
||||
manufacturers and National Institutes of Standards
|
||||
and Technology, Gaithersburg, MD 20850
|
||||
</logic>
|
||||
<complete>
|
||||
This dataset DOES NOT include destroyed marks.
|
||||
All other non-publishable marks are NOT included.
|
||||
Non-publishable criteria is available at
|
||||
<http://www.ngs.noaa.gov/cgi-bin/craigs_lib.prl?HELP_NONPUB=1>
|
||||
</complete>
|
||||
<posacc>
|
||||
<horizpa>
|
||||
<horizpar>
|
||||
The description of tests are explained in "Geometric
|
||||
Geodetic Accuracy Standards and Specifications For
|
||||
Using GPS Relative Positioning Techniques," FGCS
|
||||
(formally FGCC) publication version 5.0, 1989.
|
||||
</horizpar>
|
||||
<qhorizpa>
|
||||
<horizpav>.05 meters for highest order of accuracy</horizpav>
|
||||
<horizpae>
|
||||
Horizontal positional accuracy statements pertain
|
||||
to horizontal control stations only.
|
||||
i.e. Those with geodetic quality Latitude, Longitudes.
|
||||
Positional Accuracy explanation contained in
|
||||
"Geometric Geodetic Accuracy Standards and
|
||||
Specifications For Using GPS Relative Positioning
|
||||
Techniques," FGCS (formally FGCC) publication
|
||||
version 5.0, 1989, (See table 1, p6).
|
||||
with the exception of Order A and Order B which
|
||||
have an accuracy of as described at:
|
||||
<http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=HORZ%20ORDER>
|
||||
</horizpae>
|
||||
</qhorizpa>
|
||||
</horizpa>
|
||||
<vertacc>
|
||||
<vertaccr>
|
||||
The description of tests are explained in "Geometric Geodetic
|
||||
Accuracy Standards and Specifications for Using
|
||||
GPS Relative Positioning Techniques," FGCS
|
||||
(formally FGCC) publication version 5.0, 1989,
|
||||
(See table 1, p6).
|
||||
</vertaccr>
|
||||
<qvertpa>
|
||||
<vertaccv>.05 meter for highest order of accuracy</vertaccv>
|
||||
<vertacce>
|
||||
Vertical positional accuracy statements pertain
|
||||
to vertical control stations only.
|
||||
i.e. Those with geodetic quality Orthometric Heights.
|
||||
Orthometric Height accuracy explanation is contained in
|
||||
FGDC publication "Standards and Specifications for Geodetic Control Networks"
|
||||
with the exception of vertical control of class 0
|
||||
POSTED and READJUSTED Heights which are described at:
|
||||
<http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=VERT%20ORDER>
|
||||
|
||||
Ellipsoid height accuracy explanation contained in
|
||||
"Geometric Geodetic Accuracy Standards and
|
||||
Specifications for Using GPS Relative Positioning
|
||||
Techniques," FGCS (formally FGCC) publication
|
||||
version 5.0, 1989. (see table 1, p6).
|
||||
The accuracies for ellipsoid heights are described at:
|
||||
<http://www.ngs.noaa.gov/cgi-bin/ds_lookup.prl?Item=ELLP%20ORDER>
|
||||
</vertacce>
|
||||
</qvertpa>
|
||||
</vertacc>
|
||||
</posacc>
|
||||
<lineage>
|
||||
<srcinfo>
|
||||
<srccite>
|
||||
<citeinfo>
|
||||
<origin>NOAA, National Geodetic Survey</origin>
|
||||
<pubdate>20190402</pubdate>
|
||||
<title>
|
||||
"Input Formats and Specifications of the
|
||||
National Geodetic Survey Data Base" published by
|
||||
FGCS (formally FGCC)
|
||||
</title>
|
||||
<edition>latest available</edition>
|
||||
<geoform>diagram</geoform>
|
||||
<serinfo>
|
||||
<sername>N/A</sername>
|
||||
<issue>N/A</issue>
|
||||
</serinfo>
|
||||
<pubinfo>
|
||||
<pubplace>NOAA Campus, Silver Spring, MD</pubplace>
|
||||
<publish>NOAA, National Geodetic Survey</publish>
|
||||
</pubinfo>
|
||||
<othercit>N/A</othercit>
|
||||
<onlink><http://www.ngs.noaa.gov/FGCS/BlueBook/></onlink>
|
||||
</citeinfo>
|
||||
</srccite>
|
||||
<typesrc>paper, Web</typesrc>
|
||||
<srctime>
|
||||
<timeinfo>
|
||||
<sngdate>
|
||||
<caldate>1994</caldate>
|
||||
</sngdate>
|
||||
</timeinfo>
|
||||
<srccurr>publication date</srccurr>
|
||||
</srctime>
|
||||
<srccitea>Blue Book</srccitea>
|
||||
<srccontr>
|
||||
The geodetic data must be
|
||||
submitted in the digital formats specified in the
|
||||
FGCS (formally FGCC) publication "Input Formats
|
||||
and Specifications of the National Geodetic Survey
|
||||
Data Base" which describes the formats and
|
||||
procedures for submission of data for adjustment
|
||||
and assimilation into the National Geodetic Survey
|
||||
Data Base. Separate volumes of this publication
|
||||
refer to horizontal (volume 1), vertical (volume
|
||||
2), and gravity (volume 3) control, and are
|
||||
available from NOAA, National Geodetic Survey,
|
||||
1315 East-West Hwy, Code N/CGS1, Silver Spring,
|
||||
MD, 20910 (1-301-713-3242). Note guidelines for
|
||||
submission of three-dimensional Global Positioning
|
||||
System (GPS) relative positioning data are
|
||||
contained in annex L to volume 1.
|
||||
</srccontr>
|
||||
</srcinfo>
|
||||
<procstep>
|
||||
<procdesc>
|
||||
The National Geodetic Survey
|
||||
produces geodetic data. Geodetic data comprise
|
||||
the results of geodetic surveys to determine,
|
||||
among other things, latitude, longitude, height,
|
||||
scale, and orientation control. The National
|
||||
Geodetic Survey original field survey project
|
||||
observations and final reports are accessioned
|
||||
into records system of the National Archives and
|
||||
Records Administration of the U.S.A. These
|
||||
surveys provide information valuable for a variety
|
||||
of uses in the mapping, charting and surveying
|
||||
community.
|
||||
|
||||
The NGS' final product is the geodetic data sheet.
|
||||
Geodetic data sheets are comprehensive summaries
|
||||
of all published information for a given
|
||||
geodetic reference point, including:
|
||||
the geographic position and/or height based on the
|
||||
current reference datum, condition of the survey
|
||||
mark when it was last visited, a description of
|
||||
where the point is located and how to reach it,
|
||||
and an explanation of the terms used in the data
|
||||
sheet. In support of these geodetic data, the NGS
|
||||
provides software, publications, and various user
|
||||
services, including geodetic advisor program,
|
||||
instrument calibration, surveying standards, and
|
||||
technical workshops.
|
||||
|
||||
This dataset contains certain information extracted
|
||||
from the above mentioned data sheet.
|
||||
</procdesc>
|
||||
<srcused>Geodetic Data</srcused>
|
||||
<procdate>Not complete</procdate>
|
||||
<srcprod>NOAA, National Geodetic Survey and cooperating organizations.</srcprod>
|
||||
<proccont>
|
||||
<cntinfo>
|
||||
<cntperp>
|
||||
<cntper>NGS Information Services Branch</cntper>
|
||||
</cntperp>
|
||||
<cntpos>Information Specialist</cntpos>
|
||||
<cntaddr>
|
||||
<addrtype>Mailing and Physical Address</addrtype>
|
||||
<address>
|
||||
SSMC3/9202
|
||||
1315 East-west Highway
|
||||
</address>
|
||||
<city>Silver Spring</city>
|
||||
<state>MD</state>
|
||||
<postal>20910</postal>
|
||||
<country>USA</country>
|
||||
</cntaddr>
|
||||
<cntvoice>301-713-3242</cntvoice>
|
||||
<cntfax>301-713-4172</cntfax>
|
||||
<cntemail>ngs.infocenter@noaa.gov</cntemail>
|
||||
<hours>9:00am to 4:30pm EST</hours>
|
||||
<cntinst>Prefer EMail</cntinst>
|
||||
</cntinfo>
|
||||
</proccont>
|
||||
</procstep>
|
||||
</lineage>
|
||||
</dataqual>
|
||||
<spdoinfo>
|
||||
<indspref>
|
||||
Geodetic Data- horizontal positional datum
|
||||
conversion, use program NADCON (version 2.1)
|
||||
|
||||
Geodetic Data - vertical positional datum
|
||||
conversion, use program VERTCON (version 2.0)
|
||||
|
||||
These programs provide indirect spatial reference
|
||||
data and are available from NOAA, National
|
||||
Geodetic Survey at
|
||||
<http://www.ngs.noaa.gov/PC_PROD/pc_prod.shtml>
|
||||
</indspref>
|
||||
<direct>point</direct>
|
||||
<ptvctinf>
|
||||
<sdtsterm>
|
||||
<sdtstype>point</sdtstype>
|
||||
<ptvctcnt>1,500,000</ptvctcnt>
|
||||
</sdtsterm>
|
||||
</ptvctinf>
|
||||
</spdoinfo>
|
||||
<spref>
|
||||
<horizsys>
|
||||
<geograph>
|
||||
<latres>0.00001</latres>
|
||||
<longres>0.00001</longres>
|
||||
<geogunit>degrees, minutes, and decimal seconds</geogunit>
|
||||
</geograph>
|
||||
<geodetic>
|
||||
<horizdn>North American Datum of 1983 (NAD 83)</horizdn>
|
||||
<ellips>Geodetic Reference System 80 (GRS80)</ellips>
|
||||
<semiaxis>6378137</semiaxis>
|
||||
<denflat>298.26</denflat>
|
||||
</geodetic>
|
||||
</horizsys>
|
||||
<vertdef>
|
||||
<altsys>
|
||||
<altdatum>
|
||||
North American Vertical Datum of 1988 (NAVD 88),
|
||||
including Ellipsoidal and Orthometric
|
||||
Heights.
|
||||
</altdatum>
|
||||
<altres>.01</altres>
|
||||
<altunits>meters</altunits>
|
||||
<altenc>implicit coordinate</altenc>
|
||||
</altsys>
|
||||
<depthsys>
|
||||
<depthdn>the local surface</depthdn>
|
||||
<depthres>.01</depthres>
|
||||
<depthdu>meters</depthdu>
|
||||
<depthem>implicit coordinate</depthem>
|
||||
</depthsys>
|
||||
</vertdef>
|
||||
</spref>
|
||||
<eainfo>
|
||||
<overview>
|
||||
<eaover>
|
||||
|
||||
The current attributes and their meaning are shown below.
|
||||
|
||||
#FeatureId
|
||||
Temporary unique ID assigned to this station.
|
||||
|
||||
DATA_DATE-
|
||||
The date when this information was retrieved from the NGS database.
|
||||
|
||||
DATA_SRCE-
|
||||
Data Source where the information for the mark came from.
|
||||
You should use this link to obtain a full datasheet for the mark
|
||||
or obtain the datasheets from http://www.ngs.noaa.gov/cgi-bin/datasheet.prl
|
||||
if you intend to use the data for survey control.
|
||||
|
||||
DEC_LONG-
|
||||
Decimal equivalent of the LONGITUDE
|
||||
Always displayed to 10 decimal places, but you should
|
||||
see POS_SRCE and POS_ORDER to determine the true accuracy.
|
||||
|
||||
DEC_LAT-
|
||||
Decimal equivalent of the LATITUDE
|
||||
|
||||
PID-
|
||||
Permanent Identifier assigned by NGS to each mark
|
||||
|
||||
NAME-
|
||||
Station Name (a.k.a. Designation)
|
||||
|
||||
STATE-
|
||||
State Code
|
||||
|
||||
COUNTY-
|
||||
County Name
|
||||
|
||||
QUAD-
|
||||
USGS Topographic Quad Map Name
|
||||
|
||||
LATITUDE-
|
||||
Latitude in Deg-Min-Sec format
|
||||
|
||||
LONGITUDE-
|
||||
Longitude in Deg-Min-Sec format
|
||||
|
||||
POS_DATUM-
|
||||
Datum of the LATITUDE,LONGITUDE
|
||||
Should always be NAD83
|
||||
|
||||
DATUM_TAG-
|
||||
Datum Tag of the LATITUDE,LONGITUDE
|
||||
NAD83 (1986) indicates positions on the NAD83 datum for the
|
||||
North American Adjustment, completed in 1986.
|
||||
NAD83 (nnnn) indicates positions on the NAD83 datum for the
|
||||
North American Adjustment, but readjusted to a State High
|
||||
Accuracy Reference Network (HARN) on the date shown in (nnnn).
|
||||
NAD83 (CORS) indicates positions which are part of the CORS
|
||||
network.
|
||||
|
||||
POS_SRCE-
|
||||
Position Source for the LATITUDE,LONGITUDE
|
||||
|
||||
ADJUSTED = Least squares adjustment.
|
||||
(Lat,Lon Rounded to 5 decimal places.)
|
||||
|
||||
HD_HELD1 = Differentially corrected hand held GPS observations.
|
||||
(Lat,Lon Rounded to 2 decimal places.)
|
||||
|
||||
HD_HELD2 = Autonomous hand held GPS observations.
|
||||
(Lat,Lon Rounded to 1 decimal places.)
|
||||
|
||||
SCALED = Scaled from a topographic map.
|
||||
(Lat,Lon Rounded to 0 decimal places.)
|
||||
|
||||
ORTHO_HT-
|
||||
Present if available.
|
||||
The Orthometric Height in METERS indicating the height above the Geoid.
|
||||
|
||||
VERT_DATUM-
|
||||
Datum of the ORTHO_HT
|
||||
|
||||
VERT_SRCE-
|
||||
Vertical Source for the ORTHO_HT
|
||||
|
||||
ADJUSTED = Direct Digital Output from Least Squares Adjustment
|
||||
of Precise Leveling.
|
||||
(Rounded to 3 decimal places.)
|
||||
|
||||
ADJ UNCH = Manually Entered (and NOT verified) Output of
|
||||
Least Squares Adjustment of Precise Leveling.
|
||||
(Rounded to 3 decimal places.)
|
||||
|
||||
POSTED = Pre-1991 Precise Leveling Adjusted to
|
||||
the NAVD 88 Network After Completion of
|
||||
the NAVD 88 General Adjustment of 1991.
|
||||
(Rounded to 3 decimal places.)
|
||||
|
||||
READJUST = Precise Leveling Readjusted as Required
|
||||
by Crustal Motion or Other Cause.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
N HEIGHT = Computed from Precise Leveling Connected
|
||||
at Only One Published Bench Mark.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
RESET = Reset Computation of Precise Leveling.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
COMPUTED = Computed from Precise Leveling Using
|
||||
Non-rigorous Adjustment Technique.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
LEVELING = Precise Leveling Performed by Horizontal
|
||||
Field Party.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
H LEVEL = Level between control points not connected
|
||||
to bench mark.
|
||||
(Rounded to 1 decimal places.)
|
||||
|
||||
GPS OBS = Computed from GPS Observations.
|
||||
(Rounded to 1 decimal places.)
|
||||
|
||||
VERT ANG = Computed from Vertical Angle Observations.
|
||||
(Rounded to 1 decimal place;
|
||||
If No Check, to 0 decimal places.)
|
||||
|
||||
SCALED = Scaled from a Topographic Map.
|
||||
(Rounded to 0 decimal places.)
|
||||
|
||||
U HEIGHT = Unvalidated height from precise leveling
|
||||
connected at only one NSRS point.
|
||||
(Rounded to 2 decimal places.)
|
||||
|
||||
VERTCON = The NAVD 88 height was computed by applying the
|
||||
VERTCON shift value to the NGVD 29 height.
|
||||
(Rounded to 0 decimal places.)
|
||||
|
||||
ELLIP_HT-
|
||||
Present if available.
|
||||
The ellipsoid height in METERS referenced to GRS80 ellipsoid.
|
||||
|
||||
POS_ORDER-
|
||||
Order of accuracy for the LATITUDE,LONGITUDE
|
||||
Should be one of the following-
|
||||
A,B,1,2,3
|
||||
|
||||
Order and class for Orders 1, 2, and 3
|
||||
are defined in the Federal Geodetic Control Committee publication
|
||||
"Standards and Specifications for Geodetic Control Networks".
|
||||
|
||||
In addition-
|
||||
Order A stations have a relative accuracy of
|
||||
5 mm +/- 1-10,000,000 relative to other A-order stations.
|
||||
|
||||
Order B stations have a relative accuracy of
|
||||
8 mm +/- 1- 1,000,000 relative to other A- and B-order stations.
|
||||
|
||||
VERT_ORDER-
|
||||
Order of accuracy for the ORTHO_HT
|
||||
Should be 1,2, or 3 for Vertical Control Stations.
|
||||
Will be blank for stations used for Horizontal Control only.
|
||||
|
||||
Also see attribute DIST_RATE which is used for some
|
||||
vertical control stations.
|
||||
|
||||
Vertical order and class for 1, 2, and 3
|
||||
are defined in the Federal Geodetic Control
|
||||
Committee publication "Standards and Specifications for Geodetic
|
||||
Control Networks". In addition-
|
||||
|
||||
Vertical control which were determined only for the purpose of
|
||||
supplying a height for Horizontal Distance Reductions are
|
||||
assigned an order of 3.
|
||||
|
||||
Class 0 is used for special cases of
|
||||
orthometric vertical control as follows-
|
||||
|
||||
Vertical Order/Class Tolerance Factor
|
||||
-------------------- ----------------
|
||||
1 class 0 2.0 mm or less
|
||||
2 class 0 8.4 mm or less
|
||||
3 class 0 12.0 mm or less
|
||||
|
||||
VERT_CLASS-
|
||||
Should be 0, 1, or 2
|
||||
See details under ELEV_ORDER
|
||||
|
||||
DIST_RATE-
|
||||
Distribution rate for POSTED and READJUSTED benchmarks
|
||||
which do not have an Order and Class are as follows
|
||||
"Posted bench marks" are vertical control points in the NGS data
|
||||
base which were excluded from the NAVD 88 general adjustment.
|
||||
Some of the bench marks were excluded due to large adjustment
|
||||
residuals, possibly caused by vertical movement of the bench marks
|
||||
during the time interval between different leveling epochs.
|
||||
Adjusted NAVD 88 are computed for posted bench marks by
|
||||
supplemental adjustments.
|
||||
|
||||
A range of mean distribution rate corrections is listed for each
|
||||
posted bench mark in the data portion of the publication.
|
||||
A summary table of the mean distribution rates and their codes is
|
||||
listed below. The mean distribution rate corrections which were
|
||||
applied to the original leveling observations is a good
|
||||
indication of the usefulness of the posted bench marks' adjusted
|
||||
NAVD 88 heights.
|
||||
|
||||
Distribution Distribution
|
||||
Rate Code Rate Correction
|
||||
------------ ---------------
|
||||
"a" 0.0 thru 1.0 mm/km
|
||||
"b" 1.1 thru 2.0 "
|
||||
"c" 2.1 thru 3.0 "
|
||||
"d" 3.1 thru 4.0 "
|
||||
"e" 4.1 thru 8.0 "
|
||||
"f" greater than 8.0 mm/km
|
||||
|
||||
POSTED BENCH MARKS SHOULD BE USED WITH CAUTION. As is the case for
|
||||
all leveling projects, the mandatory FGCS check leveling two-mark or
|
||||
three-mark tie procedure will usually detect any isolated movement
|
||||
(or other problem) at an individual bench mark. Of course, regional
|
||||
movement affecting all the marks equally is not detected by the two-
|
||||
or three-mark tie procedure.
|
||||
|
||||
FIRST_RECV-
|
||||
Date when the station was first monumented
|
||||
or in the case of landmarks, first observed.
|
||||
|
||||
LAST_RECV-
|
||||
Date when the station was last recovered.
|
||||
|
||||
LAST_COND-
|
||||
Last recovered condition of the mark.
|
||||
Should be one of the following-
|
||||
MONUMENTED
|
||||
FIRST OBSERVED
|
||||
GOOD
|
||||
POOR
|
||||
MARK NOT FOUND
|
||||
SEE DESCRIPTION
|
||||
DESTROYED
|
||||
|
||||
LAST_RECBY-
|
||||
Agency who reported the last condition of the mark.
|
||||
|
||||
STABILITY-
|
||||
The stability of the mark may have 1 of 4 codes as indicated below-
|
||||
A = MOST RELIABLE AND EXPECTED TO HOLD POSITION/ELEVATION WELL
|
||||
B = PROBABLY HOLD POSITION/ELEVATION WELL
|
||||
C = MAY HOLD, BUT OF TYPE COMMONLY SUBJECT TO SURFACE MOTION
|
||||
- E.G. FROST HEAVE, ETC
|
||||
D = MARK OF QUESTIONABLE OR UNKNOWN STABILITY
|
||||
|
||||
HT_MOD-
|
||||
Designates if this site is a Height Modernization site. Y - Yes.
|
||||
|
||||
CORS_ID-
|
||||
Continuously Operating Reference Stations (CORS) site ID.
|
||||
|
||||
PACS_SACS-
|
||||
Designates whether this is a Primary Airport Control
|
||||
Station (PACS) or Secondary Airport Control Station (SACS).
|
||||
|
||||
GEOID_HT-
|
||||
Present if available. The geoid height in METERS referenced
|
||||
to the geoid model attribute.
|
||||
|
||||
N_ACC_HZ-
|
||||
Horizontal network accuracy at the 95 percent confidence level (cm).
|
||||
|
||||
N_ACC_EL-
|
||||
Ellipsoid height network accuracy at the 95 percent confidence level (cm).
|
||||
|
||||
N_ACC_STD_N-
|
||||
North component of coordinate standard deviation (latitude), used to compute horizontal network accuracy (cm).
|
||||
|
||||
N_ACC_STD_E-
|
||||
East component of coordinate standard deviation (longitude), used to compute horizontal network accuracy (cm).
|
||||
|
||||
N_ACC_STD_H-
|
||||
Up component of coordinate standard deviation (ellipsoid height), used to compute ellipsoid height network accuracy (cm).
|
||||
|
||||
N_ACC_CORR-
|
||||
Correlation coefficient between north and east components of coordinate standard deviation (latitude and longitude), used to compute horizontal network accuracy (unitless).
|
||||
|
||||
ECEF_X-
|
||||
The computed Earth-Centered, Earth-Fixed X position.
|
||||
|
||||
ECEF_Y-
|
||||
The computed Earth-Centered, Earth-Fixed Y position.
|
||||
|
||||
ECEF_Z-
|
||||
The computed Earth-Centered, Earth-Fixed Z position.
|
||||
|
||||
SPC_ZONE-
|
||||
The State Plane Coordinate Zone.
|
||||
|
||||
SPC_NORTH-
|
||||
The State Plane Coordinate Northing.
|
||||
|
||||
SPC_EAST-
|
||||
The State Plane Coordinate Easting.
|
||||
|
||||
SPC_CONV-
|
||||
The State Plane Coordinate Convergence Angle.
|
||||
|
||||
SPC_CSF-
|
||||
The State Plane Coordinate Combined Scale Factor.
|
||||
|
||||
UTM_ZONE-
|
||||
The Universal Transverse Mercator Zone.
|
||||
|
||||
UTM_NORTH-
|
||||
The Universal Transverse Mercator Northing.
|
||||
|
||||
UTM_EAST-
|
||||
The Universal Transverse Mercator Easting.
|
||||
|
||||
UTM_CONV-
|
||||
The Universal Transverse Mercator Convergence Angle.
|
||||
|
||||
UTM_CSF-
|
||||
The Universal Transverse Mercator Combined Scale Factor.
|
||||
|
||||
DYNAMIC_HT-
|
||||
The computed dynamic height at a bench mark using the
|
||||
orthometric height referenced the NAVD 88 and a gravity value.
|
||||
|
||||
MODELEDGRAV-
|
||||
The interpolated gravity value which was used in the
|
||||
NAVD 88 general adjustment.
|
||||
|
||||
MARKER-
|
||||
Identifies the type of marker.
|
||||
|
||||
SETTING-
|
||||
Identifies the type of setting.
|
||||
|
||||
STAMPING-
|
||||
Identifies the stamping on the disk.
|
||||
</eaover>
|
||||
<eadetcit>
|
||||
All values were obtained from the NGA Datasheet
|
||||
available at <http://www.ngs.noaa.gov/cgi-bin/datasheet.prl>
|
||||
</eadetcit>
|
||||
</overview>
|
||||
</eainfo>
|
||||
<distinfo>
|
||||
<distrib>
|
||||
<cntinfo>
|
||||
<cntperp>
|
||||
<cntper>NGS Information Services Branch</cntper>
|
||||
<cntorg>NOAA, National Geodetic Survey</cntorg>
|
||||
</cntperp>
|
||||
<cntpos>Information Specialist</cntpos>
|
||||
<cntaddr>
|
||||
<addrtype>Mailing and Physical Address</addrtype>
|
||||
<address>
|
||||
SSMC3/9202
|
||||
1315 East-west Highway
|
||||
</address>
|
||||
<city>Silver Spring</city>
|
||||
<state>MD</state>
|
||||
<postal>20910</postal>
|
||||
<country>USA</country>
|
||||
</cntaddr>
|
||||
<cntvoice>301-713-3242</cntvoice>
|
||||
<cntfax>301-713-4172</cntfax>
|
||||
<cntemail>ngs.infocenter@noaa.gov</cntemail>
|
||||
<hours>9:00am to 4:30pm EST</hours>
|
||||
<cntinst>Prefer EMail</cntinst>
|
||||
</cntinfo>
|
||||
</distrib>
|
||||
<resdesc>Datasheet Shapefile</resdesc>
|
||||
<distliab>The distributor does not assume liability</distliab>
|
||||
<stdorder>
|
||||
<digform>
|
||||
<digtinfo>
|
||||
<formname>ShapeFile</formname>
|
||||
<formvern>1.0</formvern>
|
||||
<formverd>2013</formverd>
|
||||
<filedec>Download options include PC Zip and Unix compressed tar</filedec>
|
||||
</digtinfo>
|
||||
<digtopt>
|
||||
<onlinopt>
|
||||
<computer>
|
||||
<networka>
|
||||
<networkr><http://www.ngs.noaa.gov/cgi-bin/datasheet.prl?Explain=ShapeFiles></networkr>
|
||||
</networka>
|
||||
</computer>
|
||||
<accinstr>Distributed through http://www.ngs.noaa.gov/cgi-bin/datasheet.prl</accinstr>
|
||||
<oncomp>SUN Solaris</oncomp>
|
||||
</onlinopt>
|
||||
</digtopt>
|
||||
</digform>
|
||||
<fees>free if you retrieve it yourself</fees>
|
||||
</stdorder>
|
||||
</distinfo>
|
||||
<metainfo>
|
||||
<metd>20130513</metd>
|
||||
<metc>
|
||||
<cntinfo>
|
||||
<cntperp>
|
||||
<cntper>NGS Information Services Branch</cntper>
|
||||
<cntorg>NOAA, National Geodetic Survey</cntorg>
|
||||
</cntperp>
|
||||
<cntpos>Information Specialist</cntpos>
|
||||
<cntaddr>
|
||||
<addrtype>Mailing and Physical Address</addrtype>
|
||||
<address>
|
||||
SSMC3/9202
|
||||
1315 East-west Highway
|
||||
</address>
|
||||
<city>Silver Spring</city>
|
||||
<state>MD</state>
|
||||
<postal>20910</postal>
|
||||
<country>USA</country>
|
||||
</cntaddr>
|
||||
<cntvoice>301-713-3242</cntvoice>
|
||||
<cntfax>301-713-4172</cntfax>
|
||||
<cntemail>ngs.software@noaa.gov</cntemail>
|
||||
<hours>9:00am to 4:30pm EST</hours>
|
||||
<cntinst>Prefer EMail</cntinst>
|
||||
</cntinfo>
|
||||
</metc>
|
||||
<metstdn>FGDC Content Standards for Digital Geospatial Metadata</metstdn>
|
||||
<metstdv>FGDC-STD-001-1998</metstdv>
|
||||
<mettc>local time</mettc>
|
||||
<metac>
|
||||
Geodetic Data are in the public domain, not restricted
|
||||
from access or distribution.
|
||||
</metac>
|
||||
<metuc>
|
||||
not restricted;
|
||||
Geodetic Data, including software were developed
|
||||
and compiled with U.S. Government funding; no
|
||||
proprietary rights may be attached to them nor may
|
||||
they be sold to the U.S. Government as part of any
|
||||
procurement of ADP products or services.
|
||||
</metuc>
|
||||
<metsi>
|
||||
<metscs>DOD</metscs>
|
||||
<metsc>unclassified</metsc>
|
||||
<metshd>none</metshd>
|
||||
</metsi>
|
||||
<metextns>
|
||||
<onlink>N/A</onlink>
|
||||
<metprof>N/A</metprof>
|
||||
</metextns>
|
||||
</metainfo>
|
||||
</metadata>
|
BIN
testing/MA.shx
Normal file
BIN
testing/MA.shx
Normal file
Binary file not shown.
7012
testing/MA.txt
Normal file
7012
testing/MA.txt
Normal file
File diff suppressed because it is too large
Load diff
7012
testing/out.txt
Normal file
7012
testing/out.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue