SpatialReference
サマリー
Each part of the spatial reference has a number of properties (especially the coordinate system) that defines what map projection options are used to define horizontal coordinates.
ディスカッション
A SpatialReference object can also be accessed from existing datasets using the Describe spatialReference property.
dataset = "c:/data/landbase.gdb/Wetlands"
spatial_ref = arcpy.Describe(dataset).spatialReference
XY, Z, and M extents are not the same as spatial reference domains. The XY, Z, and M domains in a spatial reference define the valid range of coordinate values that can be stored in a feature class. The feature class extents reflect the actual range of coordinate values that exist in the feature class. These extents cannot be larger than the domains.
The SpatialReference object supports equal (==) and not equal (!=) operators for comparing spatial references.
注意:
The spatial reference properties available depend on the coordinate system used. In the properties list below, those properties that are only available with a projected coordinate system are denoted with a 1; properties only available with a geographic coordinate system are denoted with a 2.
Because a projected coordinate system is based on a geographic coordinate system, projected coordinate system properties can be accessed from a geographic coordinate system using the GCS property.
構文
SpatialReference({item}, {vcs}, {text})
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
item (オプション) |
The horizontal coordinate system used to create the Create a
Create a
Create a
Create a
For more information about coordinate system names and factory codes, see the geographic_coordinate_systems.pdf and projected_coordinate_systems.pdf files. For more information, see Using the spatial reference class. |
Variant |
|
vcs (オプション) |
The vertical coordinate system (VCS). The VCS defines information about the z-coordinates and can be set using a name or factory code. See the following examples: Define the vertical coordinate system using a name.
Define the vertical coordinate system using a factory code.
|
Variant |
|
text (オプション) |
A well-known text (WKT or WKT2 format) string that can be used to define a horizontal and vertical coordinate system. 注意:When creating a Create a
Create a
Create a
|
String |
プロパティ
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
GCS (読み取り専用) |
A projected coordinate system returns a |
SpatialReference |
|
MDomain (読み取り専用) |
The extent of the measure domain. |
String |
|
MFalseOriginAndUnits (読み取り専用) |
The measure false origin and units. |
String |
|
MResolution (読み取り/書き込み) |
The measure resolution. |
Double |
|
MTolerance (読み取り/書き込み) |
The measure tolerance. |
Double |
|
VCS (読み取り専用) |
If the coordinate system has a vertical coordinate system, the property returns a |
Object |
|
XYResolution (読み取り/書き込み) |
The x,y-resolution. |
Double |
|
XYTolerance (読み取り/書き込み) |
The x,y-tolerance. |
Double |
|
ZDomain (読み取り専用) |
The extent of the z-domain. |
String |
|
ZFalseOriginAndUnits (読み取り専用) |
The z false origin and units. |
String |
|
ZResolution (読み取り/書き込み) |
The z-resolution. |
Double |
|
ZTolerance (読み取り/書き込み) |
The z-tolerance. |
Double |
|
abbreviation (読み取り/書き込み) |
The abbreviated name of the spatial reference. |
String |
|
alias (読み取り/書き込み) |
The alias of the spatial reference. |
String |
|
domain (読み取り専用) |
The extent of the x,y-domain. |
String |
|
factoryCode (読み取り/書き込み) |
The factory code or well-known ID (WKID) of the spatial reference. |
Integer |
|
falseOriginAndUnits (読み取り専用) |
The false origin and units. |
String |
|
hasMPrecision (読み取り専用) |
Specifies whether m-value precision information has been defined. |
Boolean |
|
hasXYPrecision (読み取り専用) |
Specifies whether x,y-coordinate precision information has been defined. |
Boolean |
|
hasZPrecision (読み取り専用) |
Specifies whether z-value precision information has been defined. |
Boolean |
|
isHighPrecision (読み取り/書き込み) |
Specifies whether the spatial reference has high precision set. |
Boolean |
|
name (読み取り/書き込み) |
The name of the spatial reference. |
String |
|
remarks (読み取り/書き込み) |
The comment string of the spatial reference. |
String |
|
type (読み取り/書き込み) |
Specifies the type of the spatial reference.
|
String |
|
usage (読み取り専用) |
The usage notes. |
String |
|
PCSCode (読み取り/書き込み) |
The projected coordinate system code.1 |
Integer |
|
PCSName (読み取り/書き込み) |
The projected coordinate system name.1 |
String |
|
azimuth (読み取り/書き込み) |
The azimuth of a projected coordinate system.1 |
Double |
|
centralMeridian (読み取り/書き込み) |
The central meridian of a projected coordinate system.1 |
Double |
|
centralMeridianInDegrees (読み取り/書き込み) |
The central meridian (Lambda0) of a projected coordinate system in degrees.1 |
Double |
|
centralParallel (読み取り/書き込み) |
The central parallel of a projected coordinate system.1 |
Double |
|
classification (読み取り専用) |
The classification of a map projection.1 |
String |
|
falseEasting (読み取り/書き込み) |
The false easting of a projected coordinate system.1 |
Double |
|
falseNorthing (読み取り/書き込み) |
The false northing of a projected coordinate system.1 |
Double |
|
latitudeOf1st (読み取り/書き込み) |
The latitude of the first point of a projected coordinate system.1 |
Double |
|
latitudeOf2nd (読み取り/書き込み) |
The latitude of the second point of a projected coordinate system.1 |
Double |
|
latitudeOfOrigin (読み取り/書き込み) |
The latitude of origin of a projected coordinate system.1 |
Double |
|
linearUnitCode (読み取り/書き込み) |
The linear unit code.1 |
Integer |
|
linearUnitName (読み取り/書き込み) |
The linear unit name.1 |
String |
|
longitude (読み取り/書き込み) |
The longitude value of this prime meridian.1 |
Double |
|
longitudeOf1st (読み取り/書き込み) |
The longitude of the first point of a projected coordinate system.1 |
Double |
|
longitudeOf2nd (読み取り/書き込み) |
The longitude of the second point of a projected coordinate system.1 |
Double |
|
longitudeOfOrigin (読み取り/書き込み) |
The longitude of origin of a projected coordinate system.1 |
Double |
|
metersPerUnit (読み取り専用) |
The meters per linear unit.1 |
Double |
|
projectionCode (読み取り/書き込み) |
The projection code.1 |
Integer |
|
projectionName (読み取り/書き込み) |
The projection name.1 |
String |
|
scaleFactor (読み取り/書き込み) |
The scale factor of a projected coordinate system.1 |
Double |
|
standardParallel1 (読み取り/書き込み) |
The first parallel of a projected coordinate system.1 |
Double |
|
standardParallel2 (読み取り/書き込み) |
The second parallel of a projected coordinate system.1 |
Double |
|
GCSCode (読み取り/書き込み) |
The geographic coordinate system code.2 |
Integer |
|
GCSName (読み取り/書き込み) |
The geographic coordinate system name.2 |
String |
|
angularUnitCode (読み取り/書き込み) |
The angular unit code.2 |
Integer |
|
angularUnitName (読み取り/書き込み) |
The angular unit name.2 |
String |
|
datumCode (読み取り/書き込み) |
The datum code.2 |
Integer |
|
datumName (読み取り/書き込み) |
The datum name.2 |
String |
|
flattening (読み取り/書き込み) |
The flattening ratio of this spheroid.2 |
Double |
|
longitude (読み取り/書き込み) |
The longitude value of this prime meridian.2 |
Double |
|
primeMeridianCode (読み取り/書き込み) |
The prime meridian code.2 |
Integer |
|
primeMeridianName (読み取り/書き込み) |
The prime meridian name.2 |
String |
|
radiansPerUnit (読み取り専用) |
The radians per angular unit.2 |
Double |
|
semiMajorAxis (読み取り/書き込み) |
The semi-major axis length of this spheroid.2 |
Double |
|
semiMinorAxis (読み取り/書き込み) |
The semi-minor axis length of this spheroid.2 |
Double |
|
spheroidCode (読み取り/書き込み) |
The spheroid code.2 |
Integer |
|
spheroidName (読み取り/書き込み) |
The spheroid name.2 |
String |
方法
create()
Creates the SpatialReference object using properties.
createFromFile(prj_file)
Creates the SpatialReference object from a projection file.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
prj_file |
The projection file used to populate the |
String |
exportToString({encoding})
Exports the object to its string representation.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
encoding (オプション) |
Specifies the encoding of the exported string.
The default value is WKT. |
String |
戻り値
| データ タイプ | 説明 |
|---|---|
|
String |
The WKT or WKT 2 representation of the object. |
loadFromString(string)
Defines a SpatialReference object from a WKT string.
The exportToString method can be used to export a WKT string representation of the spatial reference.
Using a WKT string with a horizontal coordinate system.
# The following string is the WKT for the # Geographic Coordinate system "WGS 1984" (factory code=4326) wkt = 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],\ PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]];\ -400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119522E-09;\ 0.001;0.001;IsHighPrecision' sr = arcpy.SpatialReference() sr.loadFromString(wkt)Using a WKT string with a horizontal and vertical coordinate system. Note that the vertical coordinate system is defined in the
VERTCSsection of the WKT.# The following string is the WKT for the # Geographic Coordinate system "WGS 1984" (factory code=4326), # with a vertical coordinate system "WGS 1984" (factory code=115700) wkt = 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],\ PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],\ VERTCS["WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],\ PARAMETER["Vertical_Shift",0.0],PARAMETER["Direction",1.0],UNIT["Meter",1.0]];\ -400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119522E-09;\ 0.001;0.001;IsHighPrecision' sr = arcpy.SpatialReference() sr.loadFromString(wkt)
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
string |
The WKT string representation of the object. |
String |
setDomain(x_min, x_max, y_min, y_max)
Sets the x,y-domain.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
x_min |
The minimum x-value. |
Double |
|
x_max |
The maximum x-value. |
Double |
|
y_min |
The minimum y-value. |
Double |
|
y_max |
The maximum y-value. |
Double |
setFalseOriginAndUnits(false_x, false_y, xy_units)
Sets the false x,y origin and units.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
false_x |
The false x-value. |
Double |
|
false_y |
The false y-value. |
Double |
|
xy_units |
The x,y-units. |
String |
setMDomain(m_min, m_max)
Sets the m-domain.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
m_min |
The minimum m-value. |
Double |
|
m_max |
The maximum m-value. |
Double |
setMFalseOriginAndUnits(false_m, m_units)
Sets the false m origin and units.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
false_m |
The false m-value. |
Double |
|
m_units |
The m-units. |
Double |
setZDomain(z_min, z_max)
Sets the z-domain.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
z_min |
The minimum z-value. |
Double |
|
z_max |
The maximum z-value. |
Double |
setZFalseOriginAndUnits(false_z, z_units)
Sets the false z origin and units.
| 名前 | 説明 | データ タイプ |
|---|---|---|
|
false_z |
The false z-value. |
Double |
|
z_units |
The false z-units. |
Double |
コードのサンプル
For each feature class in a workspace, print the name of its spatial reference.
import arcpy
# Set the workspace environment
arcpy.env.workspace = "c:/base/base.gdb"
# Get a list of the feature classes in the input folder
feature_classes = arcpy.ListFeatureClasses()
# Loop through the list
for fc in feature_classes:
# Create the spatial reference object
spatial_ref = arcpy.Describe(fc).spatialReference
# If the spatial reference is unknown
if spatial_ref.name == "Unknown":
print(r"{fc} has an unknown spatial reference")
# Otherwise, print out the feature class name and spatial reference
else:
print(f"{fc} : {spatial_ref.name}")