ArcGIS COORDINATE SYSTEM INTRODUCTION

Source: Internet
Author: User
1 ArcGIS coordinate system definition and conversion

There are many articles on coordinate system and coordinate transformation on the Internet. You can search and learn. I recommend the following two articles for your reference:

The Application of coordinate system and Projection Transformation in Desktop products introduces some basic concepts of coordinate system, and describes them with ArcGIS.

ArcGIS Coordinate System File introduces the resolution method of ArcGIS coordinate system name.

There are two sets of coordinate Systems in ArcGIS: Geographics coordinate system (geographic coordinate system, coordinate system, longitude and latitude expression) and Projected coordinate system (projection coordinate system, Cartesian coordinate system ).

Right-click a Feature class, Feature dataset, Raster dataset, and Raster Catalog in ArcCatalog, and set the Coordinate system in "XY Coordinate Sytstem" of "Property. To perform conversion, use the "Projections and Transformations" series Tools of "Data Management Tools" in ArcToolBox.

The coordinate transformation in the same Datum () is rigorous, for example, the conversion between the longitude and latitude coordinates of beijing 54 and the Cartesian coordinates can be directly converted by setting the source coordinate system and the target coordinate system in ArcGIS. If you want to convert data between different Datum, you need to set the conversion parameters. Generally, a high-precision conversion requires 7 parameters, that is, Geographics Transformation. For example, if you want to convert BEIJING 54 to WGS84, you need to set the conversion parameters.

Although the conversion 7 parameters between beijing 54, Xi'an 80 and WGS84 were not announced in China, ArcGIS can achieve coordinate conversion by setting the target coordinate system during data import without entering 7 parameters, after testing, the default parameter is 0. But according to the online article http://www.gissky.cn/blog.asp? ID = 125. How accurate is the ArcGIS coordinate conversion? These conversion errors are relatively large. The accuracy of the real coordinate conversion needs to be further verified.

When using the conversion tool in ArcToolBox for coordinate Transformation, if it is cross-datum, you must enter the Transformation parameter to ensure the conversion accuracy.
2. Coordinate System Development

ArcEngine defines the coordinate system between the 54-degree belt and the WGS84 Coordinate System in Beijing, but does not define the coordinate system between the Xi'an coordinate system and the three-degree belt in beijing 54. Therefore, you cannot directly use the pre-defined Coordinate System of ArcEngine.

After installing ArcGIS Desktop, the ArcGIS root directory contains the Coordinate Systems Directory, which is the Coordinate system defined by a series of prj files. ArcGISDesktop uses these coordinate systems. To support enough coordinate systems, read these files in ArcEngine instead of using predefined coordinate systems to enumerate variables.

In ArcEngine, the coordinate system is created through ISpatialReferenceFactory, for example:

ISpatialReferenceFactory srFactory = new SpatialReferenceEnvironmentClass ();

// Create the WGS1984 geographic coordinate system

IGeographicCoordinateSystem gcs =

SrFactory. CreateGeographicCoordinateSystem (int) esriSRGeoCSType. esriSRGeoCS_WGS1984 );

// Create the Xian 1980 geographic coordinate system

ISpatialReference sr =

SrFactory. createesrispatialreferencefromp1_file (@ "D: \ ArcGIS \ Coordinate Systems \ Geographic Coordinate Systems \ Asia \ Xian 1980.prj ");

// Create the Beijing 1954GK_18N projection Coordinate System

IProjectedCoordinateSystem pcs =

SrFactory. CreateProjectedCoordinateSystem (int) esriSRProjCSType. esriSRProjCS_Beijing1954GK_18N );

Geographics Transformation is implemented through the IGeoTransformation interface. This interface can specify the source coordinate system and the target coordinate system, and then convert datum at different times based on points. The classes to implement this interface include:

AbridgedMolodenskyTransformation

CompositeGeoTransformation

CoordinateFrameTransformation

CoordinateTransformation

GeocentricTranslation

HARNTransformation

LongitudeRotationTransformation

MolodenskyBadekasTransformation

MolodenskyTransformation

NADCONTransformation

NTv2Transformation

PositionVectorTransformation

Among them, CoordinateFrameTransformation is a commonly used Boolean 7 parameter conversion class.

For specific conversion coordinates, you can use the Project and ProjectEx functions of IGeometry to correspond to IGeoTransformation and IGeoTransformation. Project can also convert the coordinate system of different datum, but you need to set IGeoTransformationOperationSet.

Geometry. SpatialReference = srcSR;

If (geoTrans! = Null)

Geometry. ProjectEx (dstSR, esriTransformDirection. esriTransformForward, geoTrans, false, 0, 0 );

Else

Geometry. Project (dstSR );

You can also use the TransformPointsFF function of IGeoTransformation to Convert Between datum. However, note that this function does not support projection, that is, it can only be converted between longitude and latitude, if the projection coordinate system is input in the data reference system, the function will only retrieve its geographic coordinate system (I do not know whether the results of the experiment are correct ).

GeoTrans. PutSpatialReferences (srcSR, dstSR );

Double [] inPoints = new double [2];

InPoints [0] = 100; inPoints [1] = 100;

Double [] utPoints = new double [2];

GeoTrans. TransformPointsFF (esriTransformDirection. esriTransformForward, 1, ref inPoints [0], ref outPoints [0]);

You can define custom GeoTransformation in ArcToolBox and save it *. put the gtf file in the directory... \ Documents and Settings \ <user> \ Application Data \ ESRI \ ArcToolbox \ My GeoTransformations. but the ArcEngine does not find the function that can create GeoTransformation from the gft file. However, this file is easy to parse and can be written by yourself. If the conversion model is determined, you can define a simple file to store the conversion parameters.

When using IGeometry. Project, there is a special class that can be followed, IGeoTransformationOperationSet. This class applies to different SpatialReference values in Geometries for batch conversion. When using IGeometry. Project for coordinate transformation, if the datum between the two coordinate systems is different, the System Searches GeoTranformationOperationSet to find a matched geotransformation. If it cannot be found, GeoTranformation will fail.

IGeoTransformationOperationSet is the GeoTranformation cached in the system environment. Generally, the number of igeotransformationoperationsets in spatialReferenceFactory. GeoTransformationDefaults is 0, and one is added for each Set. See its example.
3. Using ArcGIS to maintain Coordinate System Transformation

1) Vector Data

If you create a Feature Dataset, set its coordinate system to WGS84 latitude and longitude. If you import vector data, ArcGIS automatically converts all data to WGS84 latitude and longitude.

For data directly imported into Geodatabase without importing Feature Dataset, you can set the "output Coordinate System" and "conversion Parameters" in Environment during import (if there are accurate parameters, set, otherwise, the default value is 0.

2) raster data

When importing Raster Dataset to Geodatabase or RasterCatalog, you can set the "output Coordinate System" and "conversion Parameters" in Environment (if accurate parameters exist, otherwise, the default value is 0.

3) Conversion

For data imported to the system, if you want to convert the coordinate system, you can use ArcToolBox to perform coordinate conversion. You must first customize Transformation.

Reprinted from: http://blog.chinaunix.net/u/15722/showart_1801670.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.