<BUFFER | Attribute Description Table |
When using Feature Server: (r)distance="double" bufferunits="decimal_degrees | miles | feet | kilometers | meters" [MAPUNITS defined in PROPERTIES] When using Image Server: (r)distance="double" bufferunits="decimal_degrees | miles | feet | kilometers | meters" [MAPUNITS defined in PROPERTIES] project="true | false" [true] > When parent element is SPATIALFILTER: No Child Elements When parent element is SPATIALQUERY: <SPATIALQUERY... /> <TARGETLAYER... /> </BUFFER > | |
(r): Attribute or child element is required. |
To buffer a region around one or more selected features, use BUFFER inside a SPATIALQUERY. In this example, the Colorado River is buffered. <LAYER type="featureclass" name="theRiverBuffer" id="RivBuf"> <DATASET fromlayer="Rivers" /> <SPATIALQUERY where="NAME='Colorado'"> <BUFFER distance="80" bufferunits="MILES" /> </SPATIALQUERY> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL fillcolor="255,255,0" filltransparency=".3" boundarycolor="255,255,0" boundarywidth="2" /> </SIMPLERENDERER> </LAYER> | |
To select features from the same or another layer that fall within the buffer region, use TARGETLAYER as a child element. In this example, cities within 80 miles of the Colorado River are selected. (The buffer in the picture is shown for reference. With this request, only selected cities would display. To highlight the cities and show the buffer, both the following and preceding LAYER examples must be used in a request.) <LAYER type="featureclass" name="theRiverBuffer" id="RivBuf"> <DATASET fromlayer="Rivers" /> <SPATIALQUERY where="NAME='Colorado'"> <BUFFER distance="80" bufferunits="MILES" > <TARGETLAYER id="Cities" /> </BUFFER> </SPATIALQUERY> <SIMPLERENDERER> <SIMPLEMARKERSYMBOL color="255,255,0" width="6" /> </SIMPLERENDERER> </LAYER> | |
To use a buffer as a selection tool. BUFFER is used around a defined filter within SPATIALFILTER. In this example, BUFFER is used to buffer around an envelope. The inner yellow box is the original envelope. The outer yellow box is the buffer filter. Note that these boxes would not normally display; only the selected items within the filter. br> <LAYER type="featureclass" name="theEvelopeBuffer" id="EnvBuf" > <DATASET fromlayer="Cities" /> <SPATIALQUERY where="POPULATION > 1000000" > <SPATIALFILTER relation="area_intersection"> <ENVELOPE minx="-119" miny="32" maxx="-113" maxy="35" /> <BUFFER distance="100" bufferunits="MILES" /> </SPATIALFILTER> </SPATIALQUERY> <SIMPLERENDERER> <SIMPLEMARKERSYMBOL color="255,255,0" width="6" /> </SIMPLERENDERER> </LAYER> |
Attribute | Usage |
---|---|
bufferunits | Specifies units that apply to buffer. |
distance | Buffer area width in buffer units. |
project | Generated buffers are projected if FEATURECOORDSYS is in the map configuration file or a request. If project is set to false, the buffer is not projected. Known limit. When projecting buffers and TARGETLAYER is used, FEATURECOORDSYS and FILTERCOORDSYS must be explicitly defined inside TARGETLAYER even if they are included in the map configuration file. Otherwise, the buffer will not project as expected. The coordinate system elements do not need to be included in a request when TARGETLAYER is not present. |
<?xml version="1.0" encoding="UTF-8" ?> <ARCXML version="1.1"> <REQUEST> <GET_FEATURES featurelimit="25" beginrecord="0" outputmode="xml" geometry="false" envelope="true" compact="true"> <LAYER id="2" /> <!-- states --> <SPATIALQUERY subfields="#SHAPE# NAME"> <BUFFER distance="1" > <TARGETLAYER id="4" /> <!-- cities --> <SPATIALQUERY subfields="NAME" /> </BUFFER> <SPATIALFILTER relation="area_intersection" > <ENVELOPE minx="-16154208.3772906" miny="-4165319.9729724" maxx="-4904885.23874079" maxy="4271672.38093997" /> </SPATIALFILTER> </SPATIALQUERY> </GET_FEATURES> </REQUEST> </ARCXML> |
<?xml version="1.0" encoding="UTF-8"?> <ARCXML version="1.1"> <REQUEST> <GET_IMAGE> <PROPERTIES> <ENVELOPE minx="867805.08306143" miny="6771243.45626185" maxx="1576642.8482793" maxy="7302871.78017525"/> </PROPERTIES> <LAYER type="featureclass" name="theBufferTarget" visible="true" id="buffertarget"> <DATASET fromlayer="CITIES"/> <SPATIALQUERY> <BUFFER distance="100" bufferunits="miles"> <TARGETLAYER id="CITIES"/> </BUFFER> <SPATIALFILTER relation="area_intersection"> <ENVELOPE minx="867805.08306143" miny="6771243.45626185" maxx="1576642.8482793" maxy="7302871.78017525"/> </SPATIALFILTER> </SPATIALQUERY> <SIMPLERENDERER> <SIMPLEMARKERSYMBOL color="255,0,0" /> </SIMPLERENDERER> </LAYER> <LAYER type="featureclass" name="theBuffer" visible="true" id="buffer"> <DATASET fromlayer="CITIES"/> <SPATIALQUERY> <BUFFER distance="100" bufferunits="miles" /> <SPATIALFILTER relation="area_intersection"> <ENVELOPE minx="867805.08306143" miny="6771243.45626185" maxx="1576642.8482793" maxy="7302871.78017525"/> </SPATIALFILTER> </SPATIALQUERY> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL fillcolor="100,100,100" filltype="solid" filltransparency="0.5" /> </SIMPLERENDERER> </LAYER> </GET_IMAGE> </REQUEST> </ARCXML> |
<?xml version="1.0" encoding="UTF-8" ?> <ARCXML version="1.1"> <REQUEST> <GET_FEATURES outputmode="xml" geometry="true" envelope="true" checkesc="true" globalenvelope="true"> <LAYER id="0" ftype="polygon" /> <SPATIALQUERY where="STATE_NAME='Nevada'"> <BUFFER distance="0" bufferunits="miles" project="true" > <TARGETLAYER id="1" /> <SPATIALQUERY subfields="CITY_NAME #SHAPE#"> <FEATURECOORDSYS id="102008" /> <FILTERCOORDSYS id="102008" /> </SPATIALQUERY> </BUFFER> </SPATIALQUERY> </GET_FEATURES> </REQUEST> </ARCXML> |