Coder Social home page Coder Social logo

shepherd's Introduction

Shepherd

An ArcCatalog-Style alternative to ArcGIS Server's Services Directory. Shepherd will guide you through the content of your ArcGIS Server.

Sample of Shepherd's Index Page.

Sample of Shepherd's Index Page

Display content as a Tree.

Display content as a Tree

Easier display of services metadata.

Easier display of services metadata

Quickly access Esri's Sample Servers.

Quickly Esri's Sample Servers

Use It Now

  • Just Try It here.
  • Shepherd runs with no server-side code. All access from your machine to the ArcGIS Server directly.

Set it up on your own server

  • Download the latest version of the code from here.
  • Extract the ZIP file.
  • Open IIS.
  • Create a new application that points to the folder "Shepherd" containing the file "index.html".
  • Give the new application any name (maybe 'shepherd').
  • Browse to http://localhost/shepherd/index.html to use the application.
  • Enjoy!

shepherd's People

Contributors

amreldib avatar

Stargazers

Erdong avatar Grant Herbert avatar Adam Marinelli avatar

Watchers

 avatar

shepherd's Issues

Add Details of Fields in Metadata Display

Sample:
[{"name":"OBJECTID","type":"esriFieldTypeOID","alias":"OBJECTID","domain":null},{"name":"Shape","type":"esriFieldTypeGeometry","alias":"Shape","domain":null},{"name":"Name","type":"esriFieldTypeString","alias":"Name","domain":null,"length":50},{"name":"MinPS","type":"esriFieldTypeDouble","alias":"MinPS","domain":null},{"name":"MaxPS","type":"esriFieldTypeDouble","alias":"MaxPS","domain":null},{"name":"LowPS","type":"esriFieldTypeDouble","alias":"LowPS","domain":null},{"name":"HighPS","type":"esriFieldTypeDouble","alias":"HighPS","domain":null},{"name":"Category","type":"esriFieldTypeInteger","alias":"Category","domain":{"type":"codedValue","name":"MosaicCatalogItemCategoryDomain","codedValues":[{"name":"Unknown","code":0},{"name":"Primary","code":1},{"name":"Overview","code":2},{"name":"Unprocessed Overview","code":3},{"name":"Partial Overview","code":4},{"name":"Uploaded","code":253},{"name":"Incomplete","code":254},{"name":"Custom","code":255}]}},{"name":"Tag","type":"esriFieldTypeString","alias":"Tag","domain":null,"length":20},{"name":"GroupName","type":"esriFieldTypeString","alias":"GroupName","domain":null,"length":50},{"name":"ProductName","type":"esriFieldTypeString","alias":"ProductName","domain":null,"length":50},{"name":"CenterX","type":"esriFieldTypeDouble","alias":"CenterX","domain":null},{"name":"CenterY","type":"esriFieldTypeDouble","alias":"CenterY","domain":null},{"name":"ZOrder","type":"esriFieldTypeInteger","alias":"ZOrder","domain":null},{"name":"Shape_Length","type":"esriFieldTypeDouble","alias":"Shape_Length","domain":null},{"name":"Shape_Area","type":"esriFieldTypeDouble","alias":"Shape_Area","domain":null},{"name":"Version","type":"esriFieldTypeString","alias":"Version","domain":null,"length":20},{"name":"PointCount","type":"esriFieldTypeDouble","alias":"Point Count","domain":null},{"name":"PointSpacing","type":"esriFieldTypeDouble","alias":"Point Spacing","domain":null},{"name":"ZMin","type":"esriFieldTypeDouble","alias":"ZMin","domain":null},{"name":"ZMax","type":"esriFieldTypeDouble","alias":"ZMax","domain":null}]

Add Query Page for FeatureServer Layer

Example
http://sampleserver6.arcgisonline.com/arcgis/rest/services/CommercialDamageAssessment/FeatureServer/0/query
Ideas:

  • Easier input of Object IDs:
    • adding a range of numbers.
    • Adding numbers to a list.
    • Must still be able to add comma-separated list.
  • Draw Input Geometry on the map.
  • Select OutFields/OrderBy/GroupBy from a list of the layer's fields.
  • Switch 'Return Geometry' (and all similar true/false inputs) to a checkbox.
  • Spatial Reference Inputs:
    • Offer a searchable dropdown list of known SRs.
    • Should have options to select SR of the layer and other related SRs (maybe 'Recently Selected').
  • Easy way to enter ' Output Statistics'.
  • Offer the resulting HTTP GET request as text that can be copied.
  • Display result in a table.
  • Offer ability to 'Query All', 'Query First 10', and similar quick queries.

Save list of added servers in Local Storage

Related to #40
Instead of just warning the user of closing the tab (which can be annoying), save the list of loaded servers to local storage and add them to the tree the next time the user visits the page.

Add Tasks Item to GPServer

A sample:

currentVersion: 10.11

serviceDescription: The Service provides tasks to perform advanced analysis on transportation networks such as calculating network service areas around facilities and solving a vehicle routing problem (VRP) to find the best routes for a fleet of vehicles. Check the task help for details on how to use individual tasks

tasks: Generate Service Areas,Solve Vehicle Routing Problem

executionType: esriExecutionTypeAsynchronous

resultMapServerName:

maximumRecords: 5000

Add 'Types' under FeatureServer Layer

Check this layer for example
http://sampleserver6.arcgisonline.com/arcgis/rest/services/CommercialDamageAssessment/FeatureServer/0
It seems those are 'subtypes' on the layer/table. Form the documentation:
"Each type includes information about the type, such as the type ID, name, and definition expression. Subtypes also include a default symbol and a list of feature templates. Each feature template includes a template name, description, and prototypical feature."
From the URL:

"types" : [{
            "id" : "Destroyed",
            "name" : "Destroyed",
            "domains" : {
                "represent" : {
                    "type" : "inherited"
                },
                "busopen" : {
                    "type" : "inherited"
                },
                "strinsur" : {
                    "type" : "inherited"
                },
                "continsur" : {
                    "type" : "inherited"
                },
                "rentinsur" : {
                    "type" : "inherited"
                },
                "earinsur" : {
                    "type" : "inherited"
                },
                "floodinsur" : {
                    "type" : "inherited"
                },
                "fireinsur" : {
                    "type" : "inherited"
                },
                "businsur" : {
                    "type" : "inherited"
                },
                "typdamage" : {
                    "type" : "inherited"
                },
                "primcause" : {
                    "type" : "inherited"
                }
            },
            "templates" : [{
                    "name" : "Destroyed",
                    "description" : "",
                    "prototype" : {
                        "attributes" : {
                            "lasteditor" : null,
                            "incidentid" : null,
                            "incidentnm" : null,
                            "inspectid" : null,
                            "inspector" : null,
                            "inspemail" : null,
                            "inspphone" : null,
                            "affil" : null,
                            "inspdate" : null,
                            "placename" : null,
                            "firstname" : null,
                            "lastname" : null,
                            "fulladdr" : null,
                            "pstlcity" : null,
                            "pstlzip5" : null,
                            "siteid" : null,
                            "parcelid" : null,
                            "usngcoord" : null,
                            "homephone" : null,
                            "workphone" : null,
                            "cellphone" : null,
                            "email" : null,
                            "sms" : null,
                            "represent" : null,
                            "busopen" : null,
                            "daysclose" : null,
                            "strinsur" : null,
                            "continsur" : null,
                            "rentinsur" : null,
                            "earinsur" : null,
                            "floodinsur" : null,
                            "fireinsur" : null,
                            "businsur" : null,
                            "deduct" : null,
                            "predisval" : null,
                            "strloss" : null,
                            "contloss" : null,
                            "typdamage" : "Destroyed",
                            "primcause" : null,
                            "descdamage" : null,
                            "impactjur" : null,
                            "comments" : null,
                            "lastupdate" : null
                        }
                    },
                    "drawingTool" : "esriFeatureEditToolPoint"
                }
            ]
        }
]

Complete Metadata Items for ImageServer

Sample:
serviceDescription:

This image service contains 9 LAS files covering North Carolina’s, City of Charlotte downtown area. The lidar data was collected in 2007. First return points are used to generate an on-the-fly seamless elevation surface with a 10-foot pixel resolution. The elevation unit is foot. LAS files were provided by Mecklenburg County, NC and are managed using a mosaic dataset. Esri reserves the right to change or remove this service at any time and without notice.

name: CharlotteLAS

description:

This image service contains 9 LAS files covering North Carolina’s, City of Charlotte downtown area. The lidar data was collected in 2007. First return points are used to generate an on-the-fly seamless elevation surface with a 10-foot pixel resolution. The elevation unit is foot. LAS files were provided by Mecklenburg County, NC and are managed using a mosaic dataset. Esri reserves the right to change or remove this service at any time and without notice.

extent: [object Object]

initialExtent: [object Object]

fullExtent: [object Object]

pixelSizeX: 10

pixelSizeY: 10

bandCount: 1

pixelType: F32

minPixelSize: 0

maxPixelSize: 0

copyrightText: Copyright © 2007 Mecklenburg County

serviceDataType: esriImageServiceDataTypeElevation

minValues: 515.6699829101562

maxValues: 1611.125

meanValues: 712.371337411377

stdvValues: 45.56883666949917

objectIdField: OBJECTID

fields: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

capabilities: Image,Metadata,Catalog,Mensuration

defaultMosaicMethod: Northwest

allowedMosaicMethods: NorthWest,Center,LockRaster,ByAttribute,Nadir,Viewpoint,Seamline,None

sortField:

sortValue: null

mosaicOperator: First

defaultCompressionQuality: 75

defaultResamplingMethod: Bilinear

maxImageHeight: 4100

maxImageWidth: 15000

maxRecordCount: 1000

maxDownloadImageCount: 0

maxDownloadSizeLimit: 0

maxMosaicImageCount: 20

allowRasterFunction: true

rasterFunctionInfos: [object Object],[object Object],[object Object],[object Object]

rasterTypeInfos: [object Object]

mensurationCapabilities: Basic

hasHistograms: true

hasColormap: false

hasRasterAttributeTable: false

minScale: 0

maxScale: 0

editFieldsInfo: null

ownershipBasedAccessControlForRasters: null

spatialReference: [object Object]

Complete Metadata Items for FeatureServer

A sample:
currentVersion: 10.11

serviceDescription: This is a sample map of data entered by city residents. This is a sample service hosted by ESRI, powered by ArcGIS Server. ESRI reserves the right to change or remove this service at any time and without notice.

hasVersionedData: false

supportsDisconnectedEditing: true

supportedQueryFormats: JSON, AMF

maxRecordCount: 1000

capabilities: Create,Delete,Query,Update,Uploads,Editing

description: This is a sample map of data entered by city residents. This is a sample service hosted by ESRI, powered by ArcGIS Server. ESRI reserves the right to change or remove this service at any time and without notice.

copyrightText:

spatialReference: [object Object]

initialExtent: [object Object]

fullExtent: [object Object]

allowGeometryUpdates: true

units: esriDecimalDegrees

documentInfo: [object Object]

layers: [object Object]

tables: [object Object]

enableZDefaults: false

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.