arcgis-sdk

command module
v0.0.3-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 6 Imported by: 0

README

project-logo

arcgis-sdk

v0.0.2-alpha

A lightweight Golang SDK for Arcgis REST Services. Inspired by arcgis-rest-js

repo-languages license repo-top-language last-commit


Table of Contents

Overview

WORK IN PROGRESS: arcgis-sdk is a lightweight, modular golang wrapper for Esri's ArcGis rest services. Currently it supports API Key based Authentication and Geocoding/Reverse Geocoding services. The SDK is designed to be modular and extensible, allowing for easy integration with other ArcGis services.


Features

► Geocode and Reverse geocode your data into well structured lightweight structs!


Repository Structure

└── arcgis-sdk/
    ├── .github
    │   └── workflows
    ├── LICSENSE.md
    ├── auth
    │   ├── auth.go
    │   ├── auth_errors.go
    │   ├── auth_manager.go
    │   └── auth_test.go
    ├── geocode
    │   ├── Address.go
    │   ├── errors.go
    │   ├── geocode.go
    │   ├── geocode_test.go
    │   └── reverse.go
    ├── go.mod
    ├── go.sum
    ├── main.go
    ├── requests
    │   ├── request.go
    │   ├── request_options.go
    │   └── requests_test.go
    └── utils
        └── utils.go

Modules

auth
File Summary
auth_test.go Authentication Manager tests
auth.go Main auth package, exports the APIKeymanager
auth_errors.go Auth Specific Error Logic and Types
auth_manager.go Auth Manager and definitions
utils
File Summary
utils.go ► All utility functions
requests
File Summary
requests_test.go Tests for Requests module
request.go Main Requests wrapper, can be used to ingest custom request options for different rest services
request_options.go Type Definition for Request Options
.github.workflows
File Summary
go.yml Release Pipeline
geocode
File Summary
Address.go Address type definitions
geocode.go Main Geocoder and related code
reverse.go Main reverse Geocoder and related code
geocode_test.go geocode and reversegeocode test
errors.go API Error Definitions

Getting Started

System Requirements:

  • Go: version 1.21

Installation

From pkg.go.dev

  1. Install the package using the command below:
$ go get github.com/raghuganapathyUCR/arcgis-sdk

We recommend downloading the modules you need using the go get command. Example: go get github.com/raghuganapathyUCR/arcgis-sdk/geocode to get the geocode module.

From source

  1. Clone the arcgis-sdk repository:
$ git clone https://github.com/raghuganapathyUCR/arcgis-sdk
  1. Change to the project directory:
$ cd arcgis-sdk
  1. Install the dependencies:
$ go build -o myapp

Usage

From source

Run arcgis-sdk using the command below:

$ ./myapp

Tests

Run the test suite using the command below:

$ go test ./...  

Project Roadmap

  • ► Complete the Basic SDK Structure
  • ► Complete the Geocoder and Reverse Geocoder
  • ► Implement the Bulk and Batch Geocoding
  • ► Implement Enterprise Support
  • ► Implement the Routing and Navigation
  • ► Implement the Spatial Analysis
  • ► Implement Places and Location Services

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/raghuganapathyUCR/arcgis-sdk
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


Acknowledgments


Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL