Introduction to querying data

You can perform a SQL or spatial query to access a subset of the data in a feature service. The results of the query can contain the attributes, geometry, or both attributes and geometry, for each matching record. These results can be used for further processing or can be displayed in an application.

How to query a feature service

There is no direct integration with MapLibre to construct a SQL or spatial query against a hosted feature service. To access the feature service in your application, you use the feature-service and request modules from ArcGIS REST JS. The feature-service module allows you to query and edit features in a feature layer.

  1. Reference the MapLibre CSS and JS libraries.
  2. Find the URL of the service against which you want to query.
  3. Reference the feature-service and request modules from ArcGIS REST JS.
  4. Call the queryFeatures operation.
  5. Set the service URL and the feature layer ID.
  6. Define the SQL or spatial query.

Example

Query a feature layer (spatial)

In this example, you perform a spatial query using the ArcGIS REST JS request and feature-service modules to find which parcels intersect a geometry. Available spatial relationships include: within, contains, intersects, and overlaps.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script src="https://unpkg.com/@esri/arcgis-rest-request@4.0.0/dist/bundled/request.umd.js"></script>
<script src="https://unpkg.com/@esri/arcgis-rest-feature-service@4.0.0/dist/bundled/feature-service.umd.js"></script>
<script>
  arcgisRest
  .queryFeatures({
    url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/LA_County_Parcels/FeatureServer/0",
    geometry: queryGeometry,
    geometryType: "esriGeometryPoint",
    spatialRel: "esriSpatialRelIntersects",
    authentication
  })
  .then((response) => {
    console.log(response.features);
    document.getElementById("result").textContent = JSON.stringify(response.features, null, 2);
  });

</script>

Tutorials

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.