GET_PROJECT

Used in

REQUEST  

Servers

Query  Feature  

Parent elements

REQUEST 

Syntax

<GET_PROJECTAttribute Description Table
     accuracy="Distance between points" [0]
     compact="true | false" [false]
     densifytolerance="double" [0]
     envelope="true | false" [false]
>

     (r)<FROMCOORDSYS... />
     (r)<TOCOORDSYS... />
     (r)(m)<ENVELOPE... /> [And/Or]
     (r)(m)<MULTIPOINT... /> [And/Or]
     (r)(m)<POLYGON... /> [And/Or]
     (r)(m)<POLYLINE... /> [And/Or]
     <ENVIRONMENT... />

</GET_PROJECT >
(r): Attribute or child element is required.
(m):  Child element can be used multiple times.

Description

Allows geometry in one coordinate system to be projected to another coordinate system.

Restrictions


Notes


Attribute Descriptions for GET_PROJECT

AttributeUsage
accuracyPoints are generalized within a feature based on the distance specified and the resolution of the image. Units are the same as the service. A value of 0 for accuracy returns all points of a feature, whereas higher values return a feature with fewer points thus making the feature more generalized. Note that given a non-zero value used for accuracy, and depending on the geometry layout of features in a layer, polylines or polygons may become self-intersecting. When this happens, the geomtery is invalid, the feature is ignored, and no result is returned for the spatial query. Accuracy cannot be used on a point layer; only polygon and polyline layers are valid.
compactSwitches geometry to compact form in the response. When "true", the response uses COORDS to return the geometry data in a compact format. The coordinate separators can be changed by using SEPARATORS in the request. When "false", the geometry is returned in a longer format using POINT. Setting compact to "true" means the geometry requires less bandwidth by the request or response. However, performance may be better when compact="false", even though the requests and responses are longer.
densifytoleranceDefines the distance (tolerance) between points and is applied on the geometry before projecting takes place. The units are the same as the units for the original coordinate system. For example, if the coordinate system is in feet, the densifytolerance distance is in feet.

The process of data densification adds virtual points to a polygon before it is projected. When a polygon is projected, the line geometry changes. For example, a square in one projection may be trapezoidal in another projection. In some cases, the number of points defining the geometry in the original geometry is not enough to describe the geometry correctly in the new coordinate system. This attribute would most likely be used when projecting an envelope, for example.

If the tolerance value is too small, the ArcIMS Spatial Server can slow down considerably. It is better to start with a large value. A guideline is to start with a value about 20 to 30 percent of the distance between the minimum and maximum x-coordinates of the current map extent.
envelopeWhen set to "true", geometry is returned as an ENVELOPE. When set to "false", the input and output geometry are the same. The exception is when using ENVELOPE as input geometry. In this case, the geometry is returned as a POLYGON.
Back to top 

Examples for GET_PROJECT

Example 1: When the input geometry is an envelope. In this case, the response would return an ENVELOPE since the envelope attribute is set to "true". Otherwise, the geometry returned would be a POLYGON (envelope="false").
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT envelope="true">
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <ENVELOPE minx="-178" miny="18" maxx="-66" maxy="71"/>
   </GET_PROJECT>
  </REQUEST>
</ARCXML>

Example 2: When the input geometry is one or more points. In this ecample compact="true" and the geometry is returned in compact form. When using compact geometry and non-standard separator values, SEPARATORS should be included in the request.
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT compact="true">
      <ENVIRONMENT>
        <SEPARATORS cs=" " ts="~" />
      </ENVIRONMENT>
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <MULTIPOINT>
        <COORDS> -113.10 37.99~-110.99 43.88~-95.99 44.88 </COORDS>
      </MULTIPOINT>
    </GET_PROJECT>
  </REQUEST>
</ARCXML>

Example 3: When the input geometry is a line.
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT>
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <POLYLINE>
        <PATH>
          <POINT x="-2.1079549837513" y="19.99815142335011" />
          <POINT x="28.99468788980437" y="15.88488432940315" />
          <POINT x="55.99468788980437" y="35.88488432940315" />
        </PATH>
      </POLYLINE>
    </GET_PROJECT>
  </REQUEST>
</ARCXML>

Example 4: When the input geometry is a polygon.
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT compact="false">
      <ENVIRONMENT>
        <SEPARATORS cs=" " ts=";" />
      </ENVIRONMENT>
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <POLYGON>
        <RING>
          <POINT x="83.15605550814075" y="38.07185101549165" />
          <POINT x="111.09942196116728" y="-4.70645066589869" />
          <POINT x="155.1079549837513" y="-10.38915084069517" />
          <POINT x="139.1079549837513" y="66.38915084069517" />
          <POINT x="83.15605550814075" y="38.07185101549165" />
          <HOLE>
            <POINT x="100.15605550814075" y="20.07185101549165" />
            <POINT x="103.09942196116728" y="30.70645066589869" />
            <POINT x="106.1079549837513" y="30.38915084069517" />
            <POINT x="100.15605550814075" y="20.07185101549165" />
          </HOLE>
        </RING>
      </POLYGON>
    </GET_PROJECT>
  </REQUEST>
</ARCXML>

Example 5: Multiple geometry elements are valid in the same request. In this example, multiple ENVELOPE elements are requested.
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT envelope="true">
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <ENVELOPE minx="-178" miny="18" maxx="-66" maxy="71"/>
      <ENVELOPE minx="-180" miny="-90" maxx="180" maxy="90"/>
      <ENVELOPE minx="-120" miny="38.555" maxx="-119.8976483" maxy="40.23423409"/>
   </GET_PROJECT>
</REQUEST>
</ARCXML>

Example 6: Different types of geometry can be in the same request.
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
  <REQUEST>
    <GET_PROJECT envelope="false">
      <FROMCOORDSYS id="4326"/>
      <TOCOORDSYS id="53030"/>
      <ENVELOPE minx="-178" miny="18" maxx="-66" maxy="71"/>
      <MULTIPOINT>
        <COORDS> -113.10 37.99~-110.99 43.88~-95.99 44.88 </COORDS>
      </MULTIPOINT>
      <MULTIPOINT>
        <POINT x="100.33758678275998" y="62.81971775984563" />
        <POINT x="-100.33758678275998" y="42.81971775984563" />
      </MULTIPOINT>
      <POLYLINE>
        <PATH>
          <POINT x="-2.1079549837513" y="19.99815142335011" />
          <POINT x="28.99468788980437" y="15.88488432940315" />
          <POINT x="55.99468788980437" y="35.88488432940315" />
        </PATH>
        <PATH>
          <POINT x="-102.1079549837513" y="-19.99815142335011" />
          <POINT x="-128.99468788980437" y="-15.88488432940315" />
          <POINT x="-155.99468788980437" y="-35.88488432940315" />
        </PATH>
      </POLYLINE>
      <POLYLINE>
        <PATH>
          <COORDS>-133.15 78.07;-131.09 74.70;-128.10 76.38;-128.10 76.38</COORDS>
        </PATH>
      </POLYLINE>
      <POLYGON>
        <RING>
          <COORDS>83.15 38.07;139.10 66.38;155.10 -10.38;111.09 -4.70;83.15 38.07</COORDS>
        </RING>
      </POLYGON>
   </GET_PROJECT>
</REQUEST>
</ARCXML>

Back to top