Adding projection information expand/collapse all
Related Topics

Using Projection Elements

COORDSYS

FEATURECOORDSYS

FILTERCOORDSYS

expand/collapse item About projections

GIS users analyze relationships among real-world objects. Features must be georeferenced so data can be correctly related to locations on the earth's surface. Georeferencing data is accomplished by assigning a coordinate system - a reference system used to locate geographic features on a two- or three-dimensional surface. As ArcIMS services become more accessible, and many users want to combine data from different services, identifying a projection for your service becomes critical. If a service has an undefined projection, many applications may not be able to integrate the layers correctly. You also need to define the projection if you plan to create WMS or WFS Services.

Since Author does not provide a way for you to add elements to support georeferencing, you must add them manually. The projection elements are:

All of your ArcIMS services should include FEATURECOORDSYS and FILTERCOORDSYS. In a map configuration file, these two elements should have the same value. If you are unfamiliar with the projection elements in ArcIMS, it is highly recommended that you read Using Projection Elements to better understand the relationship of these elements.

expand/collapse item How to add projection elements

expand/collapse item Adding projection elements

  1. Open your map configuration file in a text or XML editor.
  2. Between the opening and closing PROPERTIES elements, add FEATURECOORDSYS and FILTERCOORDSYS. You can either use an id or string. For a complete list of supported IDs and definition strings, see:

    The following example adds the World Sinusoidal projection, which has an id of 54008.

    <MAP>
      <PROPERTIES>
        <ENVELOPE minx="-14628440.851850007" miny="-9020047.848073646" maxx="15705351.712200116" maxy="8748562.401522137" name="Initial_Extent" />
        <MAPUNITS units="decimal_degrees" />
        <FILTERCOORDSYS id="54008" />
        <FEATURECOORDSYS id="54008"/>
      </PROPERTIES>

  3. Add COORDSYS to any layers that need to be defined.

    <LAYER type="featureclass" name="Countries" visible="true" id="1">
      <DATASET name="countries" type="polygon" workspace="shp_ws-0" />
      <COORDSYS id="4326" />
      <SIMPLERENDERER>
         <SIMPLEPOLYGONSYMBOL fillcolor="255,255,153"/>
      </SIMPLERENDERER>
    </LAYER>

Note: Once you have added projection elements to a map configuration file, you should not open and save the file in Author. Your edits will be modified by Author.

expand/collapse item Troubleshooting projections

Layers are missing from a map after starting a service

Some features are missing on one or more layers. The missing features are generally around the periphery of the layer.

Try using DENSIFY.

<LAYER type="featureclass" name="Countries" visible="true" id="1">
  <DATASET name="countries" type="polygon" workspace="shp_ws-0" />
  <COORDSYS id="4326" />
  <DENSIFY tolerance="100" />
  <SIMPLERENDERER>
    <SIMPLEPOLYGONSYMBOL fillcolor="255,255,153"/>
  </SIMPLERENDERER>
</LAYER>

The process of data densification adds virtual points to a layer before the layer is projected. In some cases, the number of points defining the geometry in the original layer is not enough to describe the geometry correctly in the projected layer. DENSIFY can be used on a layer to define how much data should be densified before the layer is projected.

A word of caution about DENSIFY: if the tolerance value is too small, the Spatial Server can slow down considerably. It is better to start with a large number for the tolerance. 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.

A request to the service works the first time but does not work correctly from the second request onward.

Check if FILTERCOORDSYS and FEATURECOORDSYS are the same value in the map configuration file. These values must be the same. Only in a request can they be different.



Search code: @config_projection