Anywhere.ArcGIS 1.0.0-beta.1

This is a prerelease version of Anywhere.ArcGIS.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Anywhere.ArcGIS --version 1.0.0-beta.1                
NuGet\Install-Package Anywhere.ArcGIS -Version 1.0.0-beta.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Anywhere.ArcGIS" Version="1.0.0-beta.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Anywhere.ArcGIS --version 1.0.0-beta.1                
#r "nuget: Anywhere.ArcGIS, 1.0.0-beta.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Anywhere.ArcGIS as a Cake Addin
#addin nuget:?package=Anywhere.ArcGIS&version=1.0.0-beta.1&prerelease

// Install Anywhere.ArcGIS as a Cake Tool
#tool nuget:?package=Anywhere.ArcGIS&version=1.0.0-beta.1&prerelease                

Use ArcGIS Server REST resources without an official SDK. Ths is a netstandard 2.0 library, it was ported from ArcGIS.PCL. It is not endorsed, affiliated or supported by Esri.

A typical use case would be the need to call some ArcGIS REST resource from server .NET code or maybe a console app. The features that this returns can be used directly as Esri JSON in JavaScript apps using the Esri JS API.

Works with secure and non-secure ArcGIS Server on premise / in the cloud, Portal for ArcGIS and ArcGIS Online.

Quickstart

If you are calling a REST operation you will need to create a gateway to manage the request. There are a few different ones but the most basic is called PortalGateway and this can be used for connecting directly to services with ArcGIS Server.

Create an instance of that by specifying the root url of your server. The format of the root url is scheme://host:port/instance so a typical default ArcGIS Server for your local machine would be http://localhost:6080/arcgis, note that you do not need to include rest/services in either the root url or your relative urls as it gets added automatically. One thing to look out for is that the url is case sensitive so make sure you enter it correctly.

var gateway = new PortalGateway("https://sampleserver3.arcgisonline.com/ArcGIS/");

Now you have access to the various operations supported by it. For example to call a query against a service

var query = new Query("Earthquakes/EarthquakesFromLastSevenDays/MapServer/0".AsEndpoint())
{ 
    Where = "magnitude > 4.0" 
};
var result = await gateway.Query<Point>(query);

Capabilities

Supports the following as typed operations:

  • CheckGenerateToken create a token automatically via an ITokenProvider
  • Query query a layer by attribute and / or spatial filters, also possible to do BatchQuery
  • QueryForCount only return the number of results for the query operation
  • QueryForIds only return the ObjectIds for the results of the query operation
  • QueryForExtent return the bounding extent for the result of the query operation
  • Find search across n layers and fields in a service
  • ApplyEdits post adds, updates and deletes to a feature service layer
  • Geocode single line of input to perform a geocode using a custom locator or the Esri world locator
  • Suggest lightweight geocode operation that only returns text results, commonly used for predictive searching
  • ReverseGeocode find location candidates for a input point location
  • Simplify alter geometries to be topologically consistent
  • Project convert geometries to a different spatial reference
  • Buffer buffers geometries by the distance requested
  • DescribeSite returns a url for every service discovered
  • CreateReplica create a replica for a layer
  • UnregisterReplica unregister a replica based on the Id
  • DeleteAttachments delete attachments that are associated with a feature
  • Ping verify that the server can be accessed
  • Info return the server information such as version and token authentication settings
  • DescribeServices return services information (name, sublayers etc.)
  • DescribeService return service information (name, sublayers etc.)
  • DescribeLayer return layer information

REST admin operations:

  • PublicKey - admin operation to get public key used for encryption of token requests
  • ServiceStatus - admin operation to get the configured and actual status of a service
  • ServiceReport - admin operation to get the service report
  • StartService - admin operation to start a service
  • StopService - admin operation to stop a service

There are also methods to add / update and download attachments for a feature and you can extend this library by writing your own operations.

Refer to the integration test project for more examples.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.2 421 10/28/2024
2.0.1 74,204 9/26/2021
2.0.0 9,768 9/27/2020
1.12.0 19,287 6/3/2020
1.11.1 707 4/22/2020
1.11.0 20,748 9/9/2019
1.10.0 1,758 7/18/2019
1.9.1 3,454 11/29/2018
1.9.0 3,598 11/8/2018
1.8.1 847 10/18/2018
1.8.0 925 9/9/2018
1.7.1 897 8/23/2018
1.7.0 1,028 8/2/2018
1.6.0 1,094 6/13/2018
1.5.0 1,009 6/10/2018
1.4.0 1,780 3/12/2018
1.3.1 1,138 3/3/2018
1.3.0 1,496 1/25/2018
1.2.1 1,148 1/16/2018
1.2.0 1,228 1/15/2018
1.1.0 1,124 12/11/2017
1.0.0 1,042 11/14/2017
1.0.0-beta.4 648 11/13/2017
1.0.0-beta.3 659 10/31/2017
1.0.0-beta.2 662 10/27/2017
1.0.0-beta.1 679 10/26/2017

Initial port of ArcGIS.PCL to netstandard