Coder Social home page Coder Social logo

esri / distance-direction-addin-dotnet Goto Github PK

View Code? Open in Web Editor NEW
17.0 26.0 22.0 12.98 MB

Add-in provides the ability to easily and quickly create geodesy lines, circles, ellipses and range rings.

License: Apache License 2.0

C# 100.00%
military-tools-for-arcgis arcgis-solutions arcgis-defense

distance-direction-addin-dotnet's Introduction

Distance and Direction

Beginning at ArcGIS Pro 2.6 this functionality is installed with ArcGIS Pro. This repository will only be updated with critical fixes to ArcGIS Desktop.

The Distance and Direction component provides the ability to create geodesic features such as lines, circles, ellipses and range rings.

Image of Distance and Direction

Features

  • Creates geodesy lines, circles, ellipses and range rings.
  • Inputs can be entered manually or via a known coordinate.
  • Add-ins for ArcMap and ArcGIS Pro

Sections

Requirements

Build Requirements

Run Requirements

  • ArcGIS for Desktop
    • ArcMap 10.4.1+
    • ArcGIS Pro 2.2+

Instructions

Follow the links below to select the desired development/deployment environment.

Add-ins for ArcMap and ArcGIS Pro

Instructions for the Add-ins for ArcMap and ArcGIS Pro are here.

Resources

New to Github

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Contributing

Anyone and everyone is welcome to contribute. Please see our guidelines for contributing.

Repository Points of Contact

Contact the Military Tools team

Licensing

Copyright 2018 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's license.txt file.

distance-direction-addin-dotnet's People

Contributors

adgiles avatar bobbooth avatar csmoore avatar dfoll avatar dhagens avatar jmccausland avatar jmhauck avatar joebayles avatar kgonzago avatar lfunkhouser avatar marktorrey avatar mfunk avatar nfeuerstein avatar phill5136 avatar pshowalter avatar rjones0 avatar saip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

distance-direction-addin-dotnet's Issues

Circle - Diameter and Radius producing same size circle with interactive input with Map Point Tool

Circle - Diameter and Radius producing same size circle with interactive input with Map Point Tool
Set Create Circle From: Radius, click on the "four corners", drag a radius to the "O" in Mexico label.
Now switch to Set Create Circle From: Diameter , click "four corners", drag a diameter to the "O" in Mexico label. Both circles will be the same size, shouldn't the diameter be half the size of radius?

image

Add labels

Feedback from @mcalamito

Shown by the "2" in the screenshot, add labels:
Type: Geodesic
Start: [coord]
End: [coord]
Distance: [dist]
Bearing: [bear]

geodesyandrange

Lower the "Clear Graphics" button

Feedback from @mcalamito

Lower the "Clear Graphics" button (See "5" in screenshot) and make proper distance between that and the future "Submit" or "OK" button that will be used to create feature layer.

geodesyandrange

Map Point Tool on Ellipse tab needs tooltip

The Map Point Tool on the Ellipse tab needs a tooltip like the other tabs, for example the Circle tab:

image

Right now the over over Map Point Tool on Ellipse doesn't have any tooltip.

Distance Calculator - Radius / Diameter not updating properly

Example is trying to calculate distance traveled in 28 minutes at 60 nautical miles per hour. Initially have Time: 28 Minutes and Rate: 60 Nautical Mile, and have used Map Point tool to set center. The Radius shows 1680 metes. Then change the units on time from Minutes to Hours (28 goes to 0.466666), Radius does not update. In both cases the radius should be 51781.92 meters or 27.9 Nautical Miles.

image

Rename Range tab to Rings

The user is creating rings based on ranges.
The other tabs are labeled based on what the user creates (i.e. lines, circle, ellipse).

rename repo?

We still want to rename the repo to match the tool name updates? From geodesy-and-range-addin-dotnet to distance-direction-addin-dotnet?

Invalid radius still produces output

For manual entry using Circle tool, input UTM coordinates of 42S 271512 3674322

For radius, input value of 120,000abcdef.00 - need to be input one character at a time. A circle is drawn with radius of 120,000

If you "Clear Graphics" after the above, the graphic is cleared and Center Point and Radius are reset. If you cut & paste the above radius, and then select 'Clear Graphics', the Center Point and Radius values are not reset.

Create Orientation Bracket/Section

I like how there is an Axis bracket that compacts the Major and Minor. If this design is staying, we should also create an Orientation bracket as the Angle and Unit both apply to the Orientation.

Getting incorrect number of radials in Range tab

Testing the Range tab while writing up the solutions pages for creating range rings with the Add-in. When I add a number for the radials (I'm assuming as there are no dialog labels for the input boxes yet) I'm getting an incorrect number.

If I type 4, I get 8.
If I type 8, I get 16.
If I type 0, I get 0.
If I type 1, I get 2.
If I type 3, I get 6.

Example: Type 3 but get 6:
image

I expected that If I type 3, I would get 3, and that they would be about 120 degrees apart. If I type 4 I would get 4 and they would be 90 degrees apart.

Flicker when drawing Circle

Select the Center Point on the map. When selecting the radius / diameter, there is a vertical line that flickers from the center point

Writing Columns and Values from Graphics to Saved Features

Saving graphics as features (shapefile, feature class, and KML) is crucial, but so is saving the attributes that correspond to these features. The user will be inputting information into the Distance and Direction form or drawing on the map interactively. These values must be present in the attribute table when the graphic is saved to a feature or the user will not have values associated with each feature.

For any input field that has a unit, the corresponding Column/Field header name in the attribute will end with "_x" where x = the unit in which defines the input field.

The following columns and values should be included when writing graphics to features:

Lines: Start_Pt, End Pt, Dist_x, Angle_x - where x is the unit the user chose from the unit dropdown.

Circle: Center_Pt, Radius_x OR Diameter_x - depending on if the user chose Radius or Diameter

Ellipse: Center_Pt, Minor_x, Major_x, Orient_x - where x is the unit the user chose from the unit dropdown.

Rings: Center_Pt, Rings, Dist_x, Radials - where x is the unit the user chose from the unit dropdown.

These are only suggested column names and I welcome any discussion.

Add Labels - Rings

Center Point: [coord]
Number of Rings: [num]
Distance: [dist]
Number of Radials: [num]

Clear Graphics should complete operation

Not sure how this should work exactly but it should work differently than it currently does. If the user is in the middle of an operation and they select the Clear Graphics button, it currently draws the graphic but continues to accept the next button click to draw the actual graphic and then removes the previous graphic. The Clear Graphics button could possibly cancel the entire operation.

Enable a Scroll Bar When Docking Geodesy Window

When I dock the Coordinate Tool window, a scroll bar appears to enable me to scroll down to my output coordinates. If I dock my Geodesy window, I have to expand the window in order to see all of the parameters on each tab. This takes up real estate and space in my data frame. Implementing a scroll bar would be a huge asset.

Interactive Range Rings

While using the Interactive mode to enter various size Range Rings, the Distance and Direction tool shows updates in the "Distance Between Rings" display box. The value in the "Distance Between Rings" is actually the radius of the ring currently being entered, not the distance between rings.

image

Review items for Distance Calculator section of README

I've got two topics from reviewing the Create a Circle using the Distance Calculator section of the README.md:

As it reads now:

Create a Circle using the Distance Calculator

1. Choose the Circles tab on the Geodesy and Range Tool
2. Start an interactive session by selecting the arrow icon
3. Enter a starting point and the distance of the circles radius by clicking on the map
4. Expand the Distance Calculator section
5. Enter a time
6. Enter a rate
7. Press Enter key and the graphic will be drawn on the map
  • The third (3) step is a little confusing in that the instruction ask the user to *"Enter a starting point and the distance of the circles radius by clicking on the map". By asking the user to 1) Enter the starting point and 2) the distance of the circles radius we are effectively asking them to draw the circle, before they've entered the desired Time and Rate parameters. In following these instructions explicitly I've also found that it actually creates two circles, one from the interactive clicking on the map, and a second one from modifying the parameters. I feel that there are two ways this could read better. One would be to ask the user to expand the Distance Calculator section before drawing on the map. This way the Map Point tool is only selecting a starting point.
Create a Circle using the Distance Calculator

1. Choose the Circles tab on the Geodesy and Range Tool
2. Expand the Distance Calculator section
3. Start an interactive session by selecting the arrow icon (**Map Point Tool**)
4. Enter a **Center Point** by clicking on the map
5. Enter a **Time** and unit
6. Enter a **Rate** and unit
7. Press Enter key and the graphic will be drawn on the map

Or ask the user to use the Map Point tool to draw the center point, it will then rubberband with the cursor as it moves, but then expand the Distance Calculator section, which will stop the rubber banding but still keep the centerpoint.

Create a Circle using the Distance Calculator

1. Choose the Circles tab on the Geodesy and Range Tool
2. Start an interactive session by selecting the arrow icon (**Map Point Tool**)
3. Enter a **Center Point** by clicking on the map (a rubber band will follow the cursor at this point)
4. Expand the Distance Calculator section
5. Enter a **Time** and unit
6. Enter a **Rate** and unit
7. Press Enter key and the graphic will be drawn on the map
  • Easier to read if we make use of bold for button/tool names, and italics for dialogs and titles. Following the original text like this:
  1. Choose the Circles tab on the Geodesy and Range Tool
  2. Start an interactive session by selecting the arrow icon (Map Point Tool)
  3. Enter a Center Point and the distance of the circles radius by clicking on the map
  4. Expand the Distance Calculator section
  5. Enter a Time and select time unit
  6. Enter a Rate and select a rate unit
  7. Press Enter key and the graphic will be drawn on the map

Enhancement request: Interactive Range Ring creation should be ended with double click

Interactive Ring creation should be ended with double click, rather than (or in addition to) a second click on the Map Point Tool on the Distance and Direction tool.
This behavior would be more consistent with the ArcMap Draw graphics capability for shapes that require multiple clicks to create, and are completed with a double click (i.e line, polygon).

Reduce Size of Ellipse Form

The Ellipse form is significantly larger than all other forms. A re-arrangement on the Ellipse form will reduce the size. Suggestions include having the label be on the same line as the text box. The user will not be inputting very large numerical values that take up an entire line for input.

Minor Axis - text box
Major Axis - text box
Orientation Angle - text box
Orientation Unit - drop down

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.