|
POST
|
Hi again Andrew, please also add your idea of reversing the traverse to the Parcel Fabric Ideas site. There is also a related idea about reversing a bearing within the traverse, but your idea for reversing a traverse would work differently. Thanks, -Tim
... View more
09-15-2021
02:59 PM
|
0
|
1
|
3798
|
|
POST
|
Hi Andrew, You could do the following: once you get to end of line 3, click the New button at the bottom right of the traverse dialog to start a new traverse. Set the start point at the start of 1, and set the new closing point to the end point of line 3. You can then do this second traverse to check closure, and go in the direction that gives you the tangency without having to re-enter the first set of lines. -Tim
... View more
09-15-2021
02:02 PM
|
2
|
2
|
3800
|
|
IDEA
|
Hi Marius, If you are already aware of the functionality described in 1 and 2 below, then please provide some more information on why this is needed in addition to the existing functionality. 1. the Ground to Grid Scale factor is already displayed in the Heads Up display in the map. When the scale factor is displayed it means the factor is turned on as part of the ground to grid correction, and will be applied to any tool that you are using at that moment that updates/creates Distance, Radius, ArcLength COGO attributes. Update COGO is just one of the tools that uses the Scale Factor. (and Direction Offset correction, if it's checked on as well) If you want to use a scale factor of 1, it's the same as turning off the ground to grid. 2. There is a convenient way to turn OFF/ON ground to grid corrections without needing to go to the Edit tab: you can turn it off/on using the button on the bottom left tray of the map. -Tim
... View more
07-23-2021
04:37 PM
|
0
|
0
|
1599
|
|
POST
|
This 30 second demo shows the Offset tool, first introduced in ArcGIS Pro 2.4. You can use this tool to enter stations and offsets from road-centerlines or other linear features. Here is a portion of a document that shows an example of data in this form:
... View more
07-12-2021
03:14 PM
|
2
|
0
|
3469
|
|
POST
|
This 17 minute demo is a portion of a technical workshop from User Conference 2020 and provides an overview of the two geoprocessing tools: Analyze Parcels by Least Squares Adjustment, and Apply Parcel Least Squares Adjustment. To see more brand new technical workshops using ArcGIS Pro 2.8, join us at UC2021! Land Records Events And Activities UC21 - Flier
... View more
07-01-2021
05:40 PM
|
2
|
0
|
1825
|
|
POST
|
This 4 minute demo from User Conference 2020 shows an example of a record driven workflow: entering a new utility easement. ( by @AmyAndis ) To see more brand new technical workshops using ArcGIS Pro 2.8, join us at UC2021! Land Records Events And Activities UC21- Flier
... View more
07-01-2021
05:29 PM
|
3
|
1
|
1990
|
|
POST
|
This 10 minute demo by @AmyAndis from User Conference 2020 gives an overview of the COGO attribute fields and how they're populated when using editing tools to create parcel boundary lines and connection lines. To see more brand new technical workshops using ArcGIS Pro 2.8, join us at UC2021! Land Records Events And Activities UC21 - Flier
... View more
07-01-2021
05:23 PM
|
3
|
0
|
966
|
|
POST
|
This ArcGIS Pro 2.8 demo shows integrating CAD data into the Pro fabric using the options on COGO tools for efficient capture of direction, distance, arclength and radius attributes, including examples of when and how to use : the Copy Lines To tool the Split into COGO Lines tool the Planarize tool the tolerances on the Update COGO tool, the option to recalculate COGO on the Extend And Trim tool attribute rules for QA on line geometry the Merge Points tool
... View more
05-14-2021
12:59 PM
|
3
|
0
|
1598
|
|
POST
|
In case you missed the 2021 Developer Summit session ArcGIS Pro SDK for .NET: Introduction to the Parcel Fabric API, the recording is available here: https://www.youtube.com/watch?v=2Jd-9qCaEr0&list=PLaPDDLTCmy4btgVu7omfiaw6PhKUzyk0M
... View more
05-11-2021
03:07 PM
|
2
|
0
|
666
|
|
POST
|
Update: The Parcel Fabric API is now available with 2.7. Start here to learn more.
... View more
05-04-2021
10:36 AM
|
0
|
0
|
1509
|
|
POST
|
hi Pascal, Here are the functions. Note there is a slight signature change with addition of the spatial reference parameter. I edited, in place, the calling code in the previous comment: private bool GetCOGOFromGeometry(Polyline myLineFeature, SpatialReference MapSR, double ScaleFactor, double DirectionOffset, out object[] COGODirectionDistanceRadiusArcLength)
{
COGODirectionDistanceRadiusArcLength = new object[4] { DBNull.Value,DBNull.Value,DBNull.Value, DBNull.Value };
try
{
COGODirectionDistanceRadiusArcLength[0] = DBNull.Value;
COGODirectionDistanceRadiusArcLength[1] = DBNull.Value;
var GeomSR= myLineFeature.SpatialReference;
if (GeomSR.IsGeographic && MapSR.IsGeographic)
return false; //no SDK support for Geodesics till 2.8
double UnitConversion = 1;
if (GeomSR.IsGeographic && MapSR.IsProjected)
{ //only need to project if dataset is in a GCS.
UnitConversion = MapSR.Unit.ConversionFactor; // Meters per unit. Only need this for converting to metric for GCS datasets.
myLineFeature = GeometryEngine.Instance.Project(myLineFeature, MapSR) as Polyline;
}
EllipticArcSegment pCircArc;
ICollection<Segment> LineSegments = new List<Segment>();
myLineFeature.GetAllSegments(ref LineSegments);
int numSegments = LineSegments.Count;
IList<Segment> iList = LineSegments as IList<Segment>;
Segment FirstSeg = iList[0];
Segment LastSeg = iList[numSegments - 1];
var pLine = LineBuilder.CreateLineSegment(FirstSeg.StartCoordinate, LastSeg.EndCoordinate);
COGODirectionDistanceRadiusArcLength[0] =
PolarRadiansToNorthAzimuthDecimalDegrees(pLine.Angle - DirectionOffset*Math.PI/180);
COGODirectionDistanceRadiusArcLength[1] = pLine.Length * UnitConversion / ScaleFactor;
//check if the last segment is a circular arc
var pCircArcLast = LastSeg as EllipticArcSegment;
if (pCircArcLast == null)
return true; //we already know there is no circluar arc COGO
//Keep a copy of the center point
var LastCenterPoint = pCircArcLast.CenterPoint;
COGODirectionDistanceRadiusArcLength[2] = pCircArcLast.IsCounterClockwise ?
-pCircArcLast.SemiMajorAxis : Math.Abs(pCircArcLast.SemiMajorAxis); //radius
double dArcLengthSUM = 0;
//use 30 times xy tolerance for circular arc segment tangency test
double dTangencyToleranceTest = MapSR.XYTolerance * 30; //around 3cms if using default XY Tolerance - recommended
for (int i = 0; i < numSegments; i++)
{
pCircArc = iList[i] as EllipticArcSegment;
if (pCircArc == null)
{
COGODirectionDistanceRadiusArcLength[2] = DBNull.Value; //radius
COGODirectionDistanceRadiusArcLength[3] = DBNull.Value; //arc length
return true;
}
var tolerance = LineBuilder.CreateLineSegment(LastCenterPoint, pCircArc.CenterPoint).Length;
if (tolerance > dTangencyToleranceTest)
{
COGODirectionDistanceRadiusArcLength[2] = DBNull.Value; //radius
COGODirectionDistanceRadiusArcLength[3] = DBNull.Value; //arc length
return true;
}
dArcLengthSUM += pCircArc.Length; //arc length sum
}
//now check to see if the radius and arclength survived and if so, clear the distance
if (COGODirectionDistanceRadiusArcLength[2] != DBNull.Value)
COGODirectionDistanceRadiusArcLength[1] = DBNull.Value;
COGODirectionDistanceRadiusArcLength[3] = dArcLengthSUM * UnitConversion / ScaleFactor;
COGODirectionDistanceRadiusArcLength[2] = (double)COGODirectionDistanceRadiusArcLength[2] * UnitConversion / ScaleFactor;
return true;
}
catch
{
return false;
}
} Here is the second function for direction unit/format conversions from polar to north azimuth: private static double PolarRadiansToNorthAzimuthDecimalDegrees(double InPolarRadians)
{
var AngConv = DirectionUnitFormatConversion.Instance;
var ConvDef = new ConversionDefinition()
{
DirectionTypeIn = ArcGIS.Core.SystemCore.DirectionType.Polar,
DirectionUnitsIn = ArcGIS.Core.SystemCore.DirectionUnits.Radians,
DirectionTypeOut = ArcGIS.Core.SystemCore.DirectionType.NorthAzimuth,
DirectionUnitsOut = ArcGIS.Core.SystemCore.DirectionUnits.DecimalDegrees
};
return AngConv.ConvertToDouble(InPolarRadians, ConvDef);
}
... View more
02-26-2021
05:26 PM
|
2
|
0
|
3303
|
|
POST
|
Pascal, the function will be shared either today, tomorrow, or early next week. It is written, but needs some testing. Note that you have access to the full geometry API, and the lines in the parcel fabric are standard line features. For example, below is a code snippet to return the info for the straight line between the first and last vertex of the feature. -Tim ICollection<Segment> LineSegments = new List<Segment>();
myLineFeature.GetAllSegments(ref LineSegments);
int numSegments = LineSegments.Count;
IList<Segment> iList = LineSegments as IList<Segment>;
Segment FirstSeg = iList[0];
Segment LastSeg = iList[numSegments - 1];
var pLine = LineBuilder.CreateLineSegment(FirstSeg.StartCoordinate, LastSeg.EndCoordinate);
var dDirectionPolarRadians = pLine.Angle;
var dDistance = pLine.Length;
... View more
02-25-2021
08:52 AM
|
0
|
0
|
3320
|
|
POST
|
Hi Pascal, Below is a snippet of code to programmatically assign the COGO values. The function called GetCOGOFromGeometry is not yet complete, but this should help to get you started on the right track. Note, all of this and more will be covered in the Dev Summit during the session called: ArcGIS Pro SDK for .NET: Introduction to the Parcel Fabric API, on 8th April. As you are probably aware, there is also SDK content here. I just mention it for the benefit of others reading this post. Once it's ready I will also share the code for the function. -Tim
ParcelEditToken peToken = editOper.CopyLineFeaturesToParcelType(srcFeatLyr, ids,
destLineL, destPolygonL);
if(!editOper.Execute())
return editOper.ErrorMessage;
//collect ground to grid correction values
var mapView = MapView.Active;
if (mapView?.Map == null)
return "";
var pSpatRef = mapView.Map.SpatialReference;
var cimDefinition = mapView.Map?.GetDefinition();
if (cimDefinition == null) return "";
var cimG2G = cimDefinition.GroundToGridCorrection;
double dScaleFactor = cimG2G.GetConstantScaleFactor();
double dDirectionOffsetCorrection = cimG2G.GetDirectionOffset();
var editOper2 = editOper.CreateChainedOperation();
var FeatSetCreated = peToken.CreatedFeatures;
Dictionary<string, object> ParcelLineAttributes = new Dictionary<string, object>();
if (FeatSetCreated != null)
{
foreach (KeyValuePair<MapMember, List<long>> kvp in FeatSetCreated)
{
if (kvp.Key == destPolygonL)
continue; //skip polygons, we just want to work with the lines
foreach (long oid in kvp.Value)
{
var insp = kvp.Key.Inspect(oid);
Polyline lineGeom = (Polyline)insp["SHAPE"];
object[] COGODirectionDistanceRadiusArcLength;
if (!GetCOGOFromGeometry(lineGeom, pSpatRef, dScaleFactor, dDirectionOffsetCorrection, out COGODirectionDistanceRadiusArcLength))
{
editOper2.Abort();
return "";
}
ParcelLineAttributes.Add("Direction", COGODirectionDistanceRadiusArcLength[0]);
ParcelLineAttributes.Add("Distance", COGODirectionDistanceRadiusArcLength[1]);
ParcelLineAttributes.Add("Radius", COGODirectionDistanceRadiusArcLength[2]);
ParcelLineAttributes.Add("ArcLength", COGODirectionDistanceRadiusArcLength[3]);
ParcelLineAttributes.Add("Rotation", dDirectionOffsetCorrection);
ParcelLineAttributes.Add("Scale", dScaleFactor);
ParcelLineAttributes.Add("IsCOGOGround", 1);
editOper2.Modify(kvp.Key, oid, ParcelLineAttributes);
ParcelLineAttributes.Clear();
}
editOper2.Execute();
}
}
... View more
02-24-2021
10:05 PM
|
1
|
0
|
3330
|
|
POST
|
Hi, The GP Tool Enable COGO, adds the required attribute fields to a line feature class. On the View tab click the Geoprocessing button: On the Geoprocessing pane, click in the Search box and type COGO: Start the Enable COGO tool For the Input Line Features browse to the feature class: Click Run. After the feature class is COGO Enabled drag and drop it onto a map. When the new layer is created it detects the COGO fields and automatically applies specialized labeling and symbology for the new line layer. ArcGIS Pro 2.6 introduced a new tool that adds the ability to Split lines into COGO lines: https://pro.arcgis.com/en/pro-app/help/editing/split-lines-into-cogo-lines.htm If you select a COGO line after its split, and open the Attributes pane, using the button on the Edit tab, then you can copy and paste the value from there:
... View more
12-09-2020
04:20 PM
|
1
|
0
|
3411
|
|
POST
|
Hi Audrey, thanks for your question. With version ArcGIS Pro 2.7 the traverse grid will have the ability to configure the default circular arc entry parameters and to save those to your project. This will include setting Chord Direction as the default entry method for circular arcs. -Tim
... View more
10-23-2020
10:12 AM
|
0
|
0
|
1403
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 09-18-2024 12:38 PM | |
| 4 | 09-18-2024 01:01 PM | |
| 3 | 04-26-2024 11:14 AM | |
| 1 | 04-04-2024 03:04 PM | |
| 1 | 02-15-2024 04:08 PM |
| Online Status |
Offline
|
| Date Last Visited |
Wednesday
|