POST
|
Are you saying that even with listSymbolsFromGallery(<your_symbol>) you get back an empty list? I just tried it with Pro 2.6 and it seems to work in my list test case. and to complete Zachary's code l.symbology = sym
... View more
07-23-2020
12:28 PM
|
0
|
0
|
1447
|
POST
|
You'll need to get down to the CIM level for the rotation piece. For more detailed information please take a look at Python CIM access—ArcPy | Documentation as well as an excellent presentation from the Dev Summit https://www.youtube.com/watch?v=RkyzeOgCHe4&list=PLaPDDLTCmy4Ys8vfmC7DbX3FHSsyosvh7&index=28 - Thomas
... View more
07-21-2020
11:49 AM
|
0
|
1
|
1447
|
POST
|
Mody, Yes, the ago library is from the early days when the Python API was still in its forming days and if the ago library works for getting the mxd into a web map form then I would continue to use it. Unless something fundamental changes in the REST API I am expecting the library to continue to work. One could expand the ago library to provide similar functionality as the Python API but it would be a duplication of work - it is possible but I would probably not encourage you to do so. The Python API is THE API to interact with enterprise and portals and it is under active development. Meaning that from a production and transition point of view it could be useful to introduce a single Pro installation into your environment that is taking on the publishing responsibility for the mxds into web maps. The nice feature in Pro is that it can overwrite existing web maps meaning that web map depending applications will continue to run as is. - Thomas
... View more
07-21-2020
09:59 AM
|
0
|
0
|
576
|
POST
|
David, In the example they are 'hard-coding' the path to the default environment which is pretty safe to assume to exist. However, ArcGIS Pro can be configured to run using different CONDA environments as well, so the assumption that the default environment is used might not hold up. How about you write your custom code in a custom Python toolbox which is getting deployed along your add-in? Essentially I am suggesting having your python code in what appears to be a regular python tool to be executed via the GeoProcessing class and it would automagically work using the active Python environment. Things like the name or path location can be retrieved via Project.Current; in C# and passed as arguments into the geoprocessing tool. The side benefit is that you are getting a GP tool for free which then even could executed outside your add-in just a regular Python tool in Pro by itself. Calling C# functionality from Python is more of a generic question and maybe something like PyDotnet could be worth exploring. I haven't used the module myself but it certainly looks interesting. Hope this helps, - Thomas
... View more
10-30-2019
02:37 PM
|
0
|
0
|
1601
|
POST
|
Scott, you don't necessarily have to load the feature class into a map. Take a look at this code snippet if you just want to interact with the feature class and don't need to render it. https://github.com/esri/arcgis-pro-sdk/wiki/ProSnippets-Geodatabase#opening-datasets-from-geodatabase - Thomas
... View more
08-02-2019
05:29 PM
|
0
|
4
|
1107
|
POST
|
It becomes even more evident if you think about it in a 3D context. Imagine that you have building footprints that are extruded by an attribute and you do the selection in screen coordinates. The building geometry itself is only 2D on the ground and only the layer visual representation is in 3D. This combination can make the selection tricky as well and hence the argument.
... View more
05-15-2019
02:22 PM
|
0
|
0
|
589
|
POST
|
Mody, if you are using a GP service, ensure that the option to transmit messages is enabled. - Thomas
... View more
01-03-2019
04:34 PM
|
1
|
1
|
407
|
POST
|
This seems to work ok in 10.6.1 and Pro 2.2 import arcpy
outFolder = r"C:\temp\data\results"
arcpy.env.workspace = r"c:\temp\data"
arcpy.env.compression = "NONE"
for rasterFile in arcpy.ListRasters("*", "TIF"):
outName, outExtension = arcpy.os.path.splitext(rasterFile)
outRaster = arcpy.os.path.join(outFolder, ''.join([outName, "_u", outExtension]))
arcpy.CopyRaster_management(rasterFile, outRaster)
... View more
08-14-2018
01:12 PM
|
0
|
1
|
2825
|
POST
|
Karl, totally my mistake, unfortunately it was based on some old unreleased software. The correct approach is like this: GroupLayer fs = null;
await QueuedTask.Run(() => {
fs = LayerFactory.Instance.CreateLayer(new Uri("<url_here>", UriKind.Absolute), MapView.Active.Map) as GroupLayer;
});
foreach (var fl in fs.Layers) {
// these are feature layers!
// do the search on the sublayer
}
... View more
02-21-2018
10:11 PM
|
1
|
0
|
1157
|
POST
|
Karl, change your first line to var featureService = new FeatureService( and the remainder stays pretty much the same.
... View more
02-20-2018
07:35 PM
|
0
|
2
|
1157
|
POST
|
You are correct in your observation, the sketch geometry is driven by the map. Even though the behavior seems to be be somewhat counterintuitive in your case, think of the map tool as the base class for any type of screen interaction. The returned geometry can be in screen or in map coordinates. For example, for an interactive selection tool in a scene, you would switch the geometry to be returned as screen coordinates. In the context of editing, you are tying the tool to specific geometry type like points, lines, etc. However, the tool itself is unaware of underlying specifics of the layer or the underlying dataset. This information is provided either by the editing template or through interrogation. For more information, please take a look at the ProConcept section about MapTools ProConcepts Map Exploration · Esri/arcgis-pro-sdk Wiki · GitHub
... View more
02-20-2018
07:21 PM
|
1
|
1
|
807
|
POST
|
Brian, make sure that you enforce a load order for your extensions. Please take a look at this thread https://community.esri.com/thread/208356-how-to-add-a-button-to-another-addins-group - Thomas
... View more
02-14-2018
08:27 AM
|
1
|
2
|
1837
|
POST
|
What is displayed depends on the 'size' of the button. - small: just the small image - middle: small image and caption - large: large image and caption For example on the Map ribbon, the Show Attributes button in the Selection group is defined as: <updateGroup refID="esri_mapping_selectionGroup">
<insertButton refID="esri_editing_ShowAttributes" placeWith="esri_mapping_clearSelectionButton" insert="before" size="middle" />
</updateGroup>
... View more
02-07-2018
11:54 AM
|
0
|
1
|
1416
|
BLOG
|
Lars Schmitz The two initiatives are not directly related. ArcGIS Indoors is using the active approach as one of their features is indoor routing. Since Indoors is providing active feedback to the user for interaction and guidance, a client-side blue dot tracking makes a lot more sense. Our investigation was more in the direction of smart buildings and sustainability efforts, trying to answer questions like how many people are in the building on Thursdays vs. Saturdays? Are the building climate controls in sync with the actual work hours? How many people were inside the building when the earthquake occured? The server-side location approach is more focused on the enterprise view complementing the user focused efforts for ArcGIS Indoors.
... View more
02-05-2018
09:50 AM
|
2
|
0
|
961
|
BLOG
|
Introduction The most common technique for indoor location, determining an observer location inside an enclosed space, is the blue dot tracking approach. A client-side algorithm is actively tracking signals in its environment to determine the observer’s location in the context of the received signals. The types of received electronic signals can range from 802.11.x signals (WiFi, Bluetooth, etc.) to detecting magnetic anomalies. This method is considered an active client-side location approach. A different method is to perform the positioning server side. The environment itself is configured to seek out surrounding signals and to correlate the matching signals from various points within the environment. This is a called a passive server-side approach. We (the Applications Prototype Lab) wanted to explore the passive approach a little further as it allows for greater flexibility in the types of devices that can be recorded. Since no additional software needs to be installed on a device of interest, we can detect new hardware in our in-situ environment. However, since we must receive multiple recordings from our environment, a proper hardware layout is required to guarantee an adequate amount of coverage. We do see potential for the server-based location services in the context of determining the digital footprint and traffic flow within a given location. For a business, this approach could be helpful for planning and design efforts as well as to provide on-demand information in contingency situations. Prototype Layout Here is the general strategy we implemented. The blue dot in the diagram represents a scanning device (blue box) actively seeking out signals. For this prototype we focused on detecting smart watches, wireless routers, cell phones, and laptops. Using multiple blue boxes, we built out an environment keeping track of the signals in our office area. The blue boxes submit signals that are recorded by a central service in the cloud. In addition to providing a central collection service, the cloud service keeps us informed about the current state of the blue box hardware and provides a software update mechanism. Hardware In building our blue box prototype, we used a Raspberry Pi Zero W board running Raspian Jessie 4.9.24. The Zero hardware is nice as it already has a Bluetooth and WiFi chip onboard. Since we are using the onboard chip for communication with the cloud service, we need one more wireless adapter ( seen as the dongle) to act as the scanner module. For simplicity, we distributed the blue boxes around our office area and kept them connected to a power outlet to get a continuous 24 hours data collection. To give the blue boxes a spatial identity, we wrote an ArcGIS Runtime based application that allows us to place the blue box in the context of the building. Methodology When the Raspberry Pi starts up, it registers itself with the central cloud service. Upon registration, the blue box is assigned a unique identifier based on the MAC address, and client-side scripts ensure that the existing software is in sync with the version provided by the cloud environment. After the initial handshake, the blue box assumes its scanning role and is ready to receive WiFi MAC addresses and record the RSSI (received signal strength indicator) for Bluetooth and WiFi devices. This information is sent to the cloud service from where we can use a trilateration algorithm to position the recorded signals. The location information is stored as a time-enabled point feature in ArcGIS Online. Results The screen capture below shows the distribution and the location of received signals. The blue dots are recorded Bluetooth signals and the amber colored dots are WiFi signals. The red squares show the location of the blue boxes in the context of the building with their associated unique identifier. Using the time awareness of the feature service, we can show the live data as a layer in ArcGIS Pro or in a web map. We also developed an ArcGIS Pro Addin to view the archived content distribution by date and device type. We can see the start and the end of a work day as the numbers of devices increase throughout the day. Another interesting observation is the drop-off of Bluetooth devices during the nights and the weekends. Conclusion We prototyped a server-based location service and we integrated our solution into ArcGIS Enterprise. For our blue box prototype, we used a low-cost hardware approach that has the potential to scale beyond our testing environment. We have written helper applications for the ArcGIS Runtime (iOS) and the ArcGIS Pro application to facilitate the setup and analysis of the recorded information. With the described approach, we see the potential for ubiquitous presence detection offering an indoor accuracy of about 8 – 20m / 24 – 60 ft.
... View more
02-01-2018
01:22 PM
|
17
|
4
|
3767
|
Title | Kudos | Posted |
---|---|---|
1 | 08-20-2015 07:56 AM | |
1 | 12-08-2017 12:58 PM | |
1 | 10-12-2015 09:12 AM | |
1 | 08-20-2015 04:20 PM | |
1 | 02-21-2018 10:11 PM |
Online Status |
Offline
|
Date Last Visited |
03-10-2021
02:51 PM
|