POST
|
Hi , Thank you for your answer. I manage to get the azimuth from point 1 to point 2 and vice versa. One thing that i want to know. The azimuth start from 0 to 180 for clock wise and -0 to -180 for anti-clockwise. After the 180 on clockwise the degree become negative that start with -180 until -0. How can i make azimuth from 0 to 360 ?
... View more
06-10-2019
06:57 PM
|
0
|
1
|
4144
|
POST
|
HI Nicholas Furness I get below error, did you know how to settle this issues? System.InvalidOperationException HResult=0x80131509 Message=Invalid id for creating a unit Source=Esri.ArcGISRuntime StackTrace: at Esri.ArcGISRuntime.Geometry.Unit.FromUnitId(Int32 unitId) at Esri.ArcGISRuntime.Geometry.LinearUnits.get_Meters() at ArcGISControl.MainWindow..ctor() in C:\Users\mfathin.CSYSINT\Documents\Visual Studio 2017\Projects\ArcGISControl\ArcGISControl\MainWindow.xaml.cs:line 32 Inner Exception 1: DllNotFoundException: Unable to load DLL 'RuntimeCoreNet.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) This my code: private readonly LinearUnit _metersUnit = LinearUnits.Meters; private readonly AngularUnit _degreesUnit = AngularUnits.Degrees; private void CreatePoints() { // Create a red circle simple marker symbol SimpleMarkerSymbol redCircleSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle.Circle, System.Drawing.Color.FromArgb(0xFF, 0xFF, 0x00, 0x00), 10); MapPoint mapPoint1 = new MapPoint(-2.72, 56.065, SpatialReferences.Wgs84); MapPoint mapPoint2 = new MapPoint(-2.69, 56.065, SpatialReferences.Wgs84); // Create graphics and add them to graphics overlay graphic1 = new Graphic(mapPoint1, redCircleSymbol); _overlay.Graphics.Add(graphic1); graphic2 = new Graphic(mapPoint2, redCircleSymbol); _overlay.Graphics.Add(graphic2); //CreateLinePoint(); GeodeticDistanceResult distance = GeometryEngine.DistanceGeodetic(mapPoint1, mapPoint2, _metersUnit, _degreesUnit, GeodeticCurveType.Geodesic); textBox.Text = string.Format("Distance:{0} | Azimuth:{1}", _metersUnit.UnitType.ToString(), _degreesUnit.UnitType.ToString());
... View more
05-29-2019
07:18 PM
|
0
|
3
|
4144
|
POST
|
Hi I try using the method for calculate to get the azimuth between 2 point, but i am not understand these two functions: private readonly LinearUnit _metersUnit; private readonly AngularUnit _degreesUnit; below is the code i try to implement, sorry i am new to c# private void CreatePoints() { // Create a red circle simple marker symbol SimpleMarkerSymbol redCircleSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle.Circle, System.Drawing.Color.FromArgb(0xFF, 0xFF, 0x00, 0x00), 10); MapPoint mapPoint1 = new MapPoint(-2.72, 56.065, SpatialReferences.Wgs84); MapPoint mapPoint2 = new MapPoint(-2.69, 56.065, SpatialReferences.Wgs84); // Create graphics and add them to graphics overlay Graphic graphic = new Graphic(mapPoint1, redCircleSymbol); _overlay.Graphics.Add(graphic); graphic = new Graphic(mapPoint2, redCircleSymbol); _overlay.Graphics.Add(graphic); GeodeticDistanceResult distance = GeometryEngine.DistanceGeodetic(mapPoint1, mapPoint2, _metersUnit, _degreesUnit, GeodeticCurveType.Geodesic); }
... View more
05-28-2019
11:40 PM
|
0
|
5
|
4144
|
POST
|
Hi, May i know how can i get a azimuth value between 2 points?
... View more
05-24-2019
01:19 AM
|
0
|
8
|
4675
|
POST
|
Hi I still new in WPF platform. I read on the documentation for ArcGIS MVVM on ArcGIS website. I got really confuse regarding this MVVM, why I can't view the online map just like in the ArcGIS documentation of ArcGIS MVVM. How can add local raster layer on the ArcGIS MVVM?
... View more
05-05-2019
08:28 PM
|
0
|
0
|
731
|
POST
|
HI Keith Gemeinhart Thank you for your advice sir, i am able to solve my issues by make the SceneView Visibility=Hidden.
... View more
04-21-2019
07:33 PM
|
1
|
0
|
1638
|
POST
|
Hi Keith Gemeinhart, Thank you sir, i managed to get the elevation value from the thread you share. Just an issues that i need help that i can't rendered the map, i can't move the mouse the other part of map and the zoom function does not trigger. I just able to move the mouse cursor on the current view when the application start up. I put my sceneview in the same user control of my mapview, Is that the correct way to do that? namespace ArcGISDTeD
{
/// <summary>
/// Interaction logic for Elevation.xaml
/// </summary>
public partial class Elevation : UserControl
{
string dtedDirectory = @"C:\Users\User\Desktop\User Stuff\DSI REFERENCE\Map Data\Elevation\DTED PEKAN\dted\E103\N03.dt2";
string shapeFilePath = @"C:\Users\User\Desktop\Map Data\Shape File\countries_shp";
string rasterMapMosaicPath = @"C:\Users\User\Desktop\Map Data\MosaicSqliteFile\RasterMapMosaic.sqlite";
public Surface Dted1Surface { get; private set; }
public SceneView SceneView1 { get; private set; }
Raster mapRaster;
RasterLayer rasterMapLayer;
ShapefileFeatureTable myShapefile;
public Elevation()
{
InitializeComponent();
Dted1Surface = new Surface();
SceneView1 = new SceneView();
Initialize();
}
private async void Initialize()
{
MyMapView.Map = new Map(new SpatialReference(4326));
foreach (string filepath in Directory.EnumerateFiles(shapeFilePath, "*.shp"))
{
// Open the shapefile
myShapefile = await ShapefileFeatureTable.OpenAsync(filepath);
}
// Create a feature layer to display the shapefile
FeatureLayer newFeatureLayer = new FeatureLayer(myShapefile);
// Add the feature layer to the map
MyMapView.Map.OperationalLayers.Add(newFeatureLayer);
await myShapefile.LoadAsync();
//MyMapView.Map.InitialViewpoint = new Viewpoint(rasterLayer.FullExtent);
await MyMapView.SetViewpointAsync(new Viewpoint(3.7966815987, 103.0526707750, 100000));
await MyMapView.Map.LoadAsync();
//Get mosaic dataset names in the SQLite database.
var names = MosaicDatasetRaster.GetNames(rasterMapMosaicPath);
var rasterName = names[0];
//Create a raster from a mosaic dataset
mapRaster = new MosaicDatasetRaster(rasterMapMosaicPath, "RasterMapTable");
// Create a RasterLayer to display the Raster
rasterMapLayer = new RasterLayer(mapRaster);
MyMapView.Map.OperationalLayers.Add(rasterMapLayer);
await rasterMapLayer.LoadAsync();
//await MyMapView.SetViewpointAsync(new Viewpoint(2.856364, 101.787213, 400000));
await MyMapView.Map.LoadAsync();
var Dted1Files = new List<string>();
Dted1Files.Add(dtedDirectory);
// Create a raster elevation source based on all files in dted1Files
RasterElevationSource dted1ElevSource = new RasterElevationSource(Dted1Files);
await dted1ElevSource.LoadAsync();
dted1ElevSource.Name = "DTED1";
// Create a Surface based on the elevation source
Dted1Surface.ElevationSources.Add(dted1ElevSource);
Dted1Surface.Name = "DTED1 Surface";
await Dted1Surface.LoadAsync();
// Create a Scene and assign the created surface to its BaseSurface
Scene dted1Scene = new Scene();
dted1Scene.BaseSurface = Dted1Surface;
await dted1Scene.LoadAsync();
// Create a SceneView and assign created scene to its Scene
SceneView1.Scene = dted1Scene;
}
private async void MyMapView_MouseMove(object sender, MouseEventArgs e)
{
if (MyMapView != null)
{
Point screenPoint = e.GetPosition(MyMapView);
MapPoint mapPoint = MyMapView.ScreenToLocation(screenPoint);
if (mapPoint != null)
{
// point = GetDesiredElevationLocation();
double result = await Dted1Surface.GetElevationAsync(mapPoint);
if (MyMapView.IsWrapAroundEnabled)
{
mapPoint = GeometryEngine.Project(mapPoint, SpatialReferences.Wgs84) as MapPoint;
textBox.Text = String.Format("x: {0}, y: {1} | Lat:{2},Lon:{3} | Scale:{4} | Elevation : {5}", screenPoint.X, screenPoint.Y, Math.Round(mapPoint.Y, 6), Math.Round(mapPoint.X, 6), MyMapView.MapScale, result );
}
}
else
return;
}
}
}
}
... View more
04-18-2019
07:36 PM
|
0
|
2
|
1638
|
POST
|
Hi Preeti Maske Hi may i know is there a limit of mosaicdatasetraster .sqlite file that i can create using the sdk if i still not buy it yet? I try to create a new sqlite file but it does not retrieve my raster map from the local directory that contain raster map. May i know why after it create the sqlite file it will close the application? private async void createMosaic_Click(object sender, RoutedEventArgs e) { try { // This will be qlite gdb which will get created and will hold all your rasters. string rasterType = "*.tif"; \\change to format of rasters in your folder. string filterType = ".tif$"; string localFolderPath = "C:\FolderWithRasters";// path to folder containing raster files // specify the spatialrefernce of your mosaic raster dataset // Create a new mobile mosaic dataset. MosaicDatasetRaster rasterMosaic = MosaicDatasetRaster.Create(destinationSQLiteGDB, "Raster.tif", SpatialReferences.Wgs84); // When the new mosaic dataset is ready, add some raster files. rasterMosaic.LoadStatusChanged += (s, q) => { // If loaded successfully, start adding rasters if (q.Status == Esri.ArcGISRuntime.LoadStatus.Loaded) { AddRastersParameters parameters = new AddRastersParameters { InputDirectory = rasterPath, Filter = "*.tif" }; rasterMosaic.AddRastersAsync(parameters); } }; await rasterMosaic.LoadAsync(); //if (!System.IO.File.Exists(destinationSQLiteGDB)) //{ // rasterMosaic = MosaicDatasetRaster.Create(destinationSQLiteGDB, "myMosaicRasterds", sr); // await rasterMosaic.AddRastersAsync(new AddRastersParameters() { InputDirectory = @"C:\Users\User\Desktop\User Stuff\New folder", Filter = "*.tif" }); } catch (System.Exception ex) { MessageBox.Show(ex.Message, "Error"); return; } }
... View more
04-07-2019
09:24 PM
|
0
|
1
|
1853
|
POST
|
Hi Preeti Maske Thank you for your reply. It really work, I able to create the local data base and view all the map. But there is something i need clarification regarding this both product that is ArcGIS dekstop and ArcGIS SDK. 1. I barely able to try the ArcGIS dekstop, using data management tools it able to compile all the raster map into one bigger map.Did I able to make the mosaic dataset raster just like in ArcGIS Desktop data management tools using ArcGIS SDK? 2. If i can't do it just like in Dekstop product, how can i speed up the map loading on my screen? MyMapView.Map = new Map(new SpatialReference(4326));
// Open the shapefile
ShapefileFeatureTable myShapefile = await ShapefileFeatureTable.OpenAsync(path);
// Create a feature layer to display the shapefile
FeatureLayer newFeatureLayer = new FeatureLayer(myShapefile);
// Add the feature layer to the map
MyMapView.Map.OperationalLayers.Add(newFeatureLayer);
await myShapefile.LoadAsync();
await MyMapView.SetViewpointAsync(new Viewpoint(5.838198, 100.417164, 383267));
await MyMapView.Map.LoadAsync();
//Get mosaic dataset names in the SQLite database.
var names = MosaicDatasetRaster.GetNames(destinationSQLiteGDB);
var rasterName = names[0];
//Create a raster from a mosaic dataset
MosaicDatasetRaster raster = new MosaicDatasetRaster(destinationSQLiteGDB, "RasterMosaic.tif");
// Create a RasterLayer to display the Raster
RasterLayer rasterLayer = new RasterLayer(raster);
MyMapView.Map.OperationalLayers.Add(rasterLayer);
await rasterLayer.LoadAsync();
await MyMapView.SetViewpointAsync(new Viewpoint(4.359075,102.077903, 383267));
await MyMapView.Map.LoadAsync();
Regards, Fathin
... View more
04-01-2019
06:29 PM
|
0
|
0
|
1853
|
POST
|
Hi Preeti Maske, Thank you for a reply. I am not quiet familiar with the sqlite and other data base. I though i can just convert it using SDK on the fly just by the mosaicdataset class access my raster file on local computer directory. My project requirement is to use the raster map locally without access to server or internet. 1. If I install the sqlite then follow the example from the Section is titled: "Create a new mobile mosaic dataset and add raster files to it", how can I retrieve the mosaic dataset from the sqlite? 2. I am planning to purchase the runtime .net sdk , is there diferent in performance in using the desktop and sdk product in term of convert the raster to mosaic dataset and display it and rendered? Regards,
... View more
03-28-2019
12:12 AM
|
0
|
5
|
1853
|
POST
|
Hi, I already look at the link you mention before, the example shows that i create the mosaicdataset by using geodatabase. My current issues is how can create the mosaicdataset by retrieving the raster data from my local directory folder?
... View more
03-26-2019
05:58 PM
|
0
|
7
|
1853
|
POST
|
Hi, I need to convert multiple raster tile map to mosaic dataset by using MosaicDatasetRaster Class. I look at the documentation it need to create on data base. Is there a way for me to create the mosaic dataset locally on the fly?
... View more
03-25-2019
09:32 PM
|
0
|
9
|
2176
|
POST
|
Hi Morten Nielsen Thank you for a reply. Is there any example from ArcGIS that i can use for reference? From this Add raster data—ArcGIS Runtime SDK for .NET | ArcGIS for Developers it show to get the mosaic dataset from server. Can I create the mosaic dataset locally on the fly in runtime?
... View more
03-12-2019
08:12 PM
|
0
|
0
|
584
|
POST
|
Hi I in process of trying ArcGIS product. I try to view all the 196 tile of raster map in geotiff format. I search on internet but i can't seem to find a way to make me display the map tile. Almost all of them need to convert to mosaic using ArcGIS desktop. My program require is that user can insert map on the fly and display the map, without need to use ArcGIS desktop. I able to view about 48 map tile that will cause slightly slower performance on program but when try to display all the map it will make the program not responding. Is there solution that i can use without using ArcGIS desktop just using the SDK? string path = @"C:\Users\User\Downloads\countries_shp\countries.shp"; List myRasterlist = new List(); private async void Initialize() { MyMapView.Map = new Map(new SpatialReference(4326)); MyMapView.GraphicsOverlays.Add(new GraphicsOverlay()); foreach (string filepath in Directory.EnumerateFiles(@"C:\Users\User\Desktop\User Stuff\Map Data\RASTER", "*.tif")) { myRasterlist.Add(new Raster(filepath)); } List myRasterlayerlist = new List(); myRasterlist.ForEach(x => { myRasterlayerlist.Add(new RasterLayer(x)); }); ShapefileFeatureTable myShapefile = await ShapefileFeatureTable.OpenAsync(path); FeatureLayer newFeatureLayer = new FeatureLayer(myShapefile); MyMapView.Map.OperationalLayers.Add(newFeatureLayer); myRasterlayerlist.ForEach(x => { MyMapView.Map.OperationalLayers.Add(x); }); await MyMapView.Map.LoadAsync(); MyMapView.SetViewpoint(new Viewpoint(4.475785,101.925272,3000000)); }
... View more
03-12-2019
12:52 AM
|
0
|
2
|
680
|
Title | Kudos | Posted |
---|---|---|
1 | 03-10-2019 08:22 PM | |
1 | 04-21-2019 07:33 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|