Skip to main content

Skytek ArcGis Integration

Prerequisites

Install package:

pip install skytek-arcgis-integration

Add to installed apps in Django configuration:

INSTALLED_APPS += [
    "rest_framework",
    "skytek_arcgis_integration",
]

Note: you need to add rest_framework if you don't already have it.

Usage: ad-hoc without configuration

This is the fastest and easiest way of running the integration. Data source url is provided by the user in layer settings. It should be used in proof of concept projects only.

To use this integration simply include urls somewhere in your url config:

urlpatterns = [
    ...
    path("ad-hoc-arcgis/", include("skytek_arcgis_integration.urls")),
]

Usage: ad-hoc with layer configured

This method allows you to set up data source url on the backed.

To use this integration you need to use provided factory to generate view, configure a router and append urls to your configurations:

from generic_map_api.routers import MapApiRouter
from skytek_arcgis_integration.views import arcgis_view_factory

fires_view = arcgis_view_factory("https://services3.arcgis.com/T4QMspbfLg3qTGWY/ArcGIS/rest/services/Current_WildlandFire_Perimeters/FeatureServer/0/")

router = MapApiRouter()
router.register("arc-gis-fires", fires_view, basename="arc-gis-fires")

# existing urlpatterns initialization goes here

urlpatterns += router.urls

Note: For raster map endpoints (url ends with /MapServer) use arcgis_raster_view_factory function instead:

from skytek_arcgis_integration.views import arcgis_raster_view_factory
population_view = arcgis_raster_view_factory("https://ciesin.columbia.edu/arcgis/rest/services/ciesin/popgrid_counts/MapServer/")

Usage: generated integration with storage

This method generates a separate, ready to use django application. It contains api client, celery tasks, storage models, view with serializer and django admin page.

Run generation command in your shell:

./manage.py generate_arcgis_integration

and provide configuration details. Only layer base url is required, you can use defaults for the rest.

$ ./manage.py generate_arcgis_integration
Enter base layer_url: https://services3.arcgis.com/T4QMspbfLg3qTGWY/ArcGIS/rest/services/Current_WildlandFire_Perimeters/FeatureServer/0
Enter full module path [arcgis.fh_perimeters]:
Enter model name [FhPerimeter]:
Enter celery app path [react_events.celery.app]:

Now add newly generated module to your INSTALLED_APPS, ie.:

INSTALLED_APPS += [
    "rest_framework",
    "skytek_arcgis_integration",
    "arcgis.fh_perimeters",
]

Run migrations, ie.:

./manage makemigrations arcgis.fh_perimeters
./manage migrate

And include urls in your configuration, ie.:

urlpatterns = [
    ...
    path("fh_perimeters/", include("arcgis.fh_perimeters.urls")),
]

Appendix: Interesting data sources

Feature layers

Raster maps

Metadata

Release files for skytek-arcgis-integration 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skytek-arcgis-integration 0.2.0
File Size Uploaded Provenance
skytek-arcgis-integration-0.2.0.tar.gz 14.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for skytek-arcgis-integration 0.2.0
File Interpreter ABI Platform
skytek_arcgis_integration-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.9 kB

Release files / skytek-arcgis-integration-0.2.0.tar.gz

Download URL skytek-arcgis-integration-0.2.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2dcc839aa39c1c16336569e3d3700448684a7bbcb9800ed434ac2d10a6565e27
BLAKE2b-256 checksum
How to use checksums
61604dced0e560572adf2567898bba30116d7db7ff47f432f14bf02fe569f84a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.18

Release files / skytek_arcgis_integration-0.2.0-py3-none-any.whl

Download URL skytek_arcgis_integration-0.2.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d252c6298ddd01b2dcc3ba8eca7eca0c85cb94778c1ea2478ea1edbc1454b175
BLAKE2b-256 checksum
How to use checksums
c5042c55386d19635cd5b281d2c615c357c87b7e51b81695b8c05bef2b2d9905
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.18

Security for skytek-arcgis-integration 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page