POST
|
This issue is occurring in ArcGIS Pro 3.0.3, 3.0.4, and 3.1.0; ArcGIS Server version is 10.8.1. Esri has confirmed this is a bug (BUG-000156390). Pretty frustrating as it is claimed here that Microsoft Azure Database for PostgreSQL (Single Server option) is supported by Esri, but it doesn't appear to be fully so. https://desktop.arcgis.com/en/system-requirements/latest/databases-in-the-cloud.htm
... View more
03-09-2023
09:08 AM
|
0
|
0
|
948
|
POST
|
I am using the Single Server Azure Database for PostgreSQL deployment. I am also using the "username@hostname" credential - omitting the @hostname will not allow login on any client, Pro included. The issue here is that the connection string generated by ArcGIS Pro appears to be truncating the "@username"
... View more
02-25-2023
10:22 AM
|
0
|
0
|
999
|
POST
|
I have a PostgreSQL database instance running in the Azure Database for PostgreSQL service. I am able to successfully connect, create enterprise geodatabases within, and load feature classes. I am also able to register the database as a data store, both via ArcGIS Pro and ArcGIS Server Manager. However, when attempting to share a table in the database as a web layer (right click > Sharing > Share as web layer), it will ultimately fail with error 00231, "Layer's data source must be registered with the server." seemingly not recognizing the registered data store I had just added. I verified there were no typos or other configuration errors. Tech support provided the following guidance, which did not resolve the issue. Remove previously registered data store Open "Share as Web Layer" tool Run "Analyze" and right click error 00231 > Register Data Source with Server I observed something interesting at this point; the connection string automatically generated in the dialog box truncates the "@hostname" part of the username, and the validation will fail: I am able to click "Import" in this dialog box and manually specify the .sde connection file, the generated connection string does not malform the username, and the data store can be registered. However, I am right back to the same issue and receive error 00231 once again when attempting to run "Share as Web Layer." I'm hoping someone out there has observed this and found a workaround! 🤞
... View more
02-21-2023
12:26 PM
|
0
|
4
|
1203
|
IDEA
|
Upvoted - an officially supported "ArcGIS Pro debugger" VS Code extension would make all my GIS dreams come true 😃 I would love to see a workflow that allowed me to attach VS Code to a the Python environment of the running ArcGIS Pro instance, execute a script tool, and be able to hit breakpoints, step thru the code, etc. from within VS Code. Just like PyCharm and Visual Studio. Dear Esri: VS Code is used by 75% of the respondents to the 2022 StackOverflow survey! This would not necessarily be a niche tool, it could have a wide-reaching impact on developers. It's very likely that there a lot fewer GIS devs are using Visual Studio and PyCharm than there are using VS Code as their daily driver development environment. There is certainly precedent for something like this - are many such "Debugger" extensions available in the VS Code marketplace for a wide variety of languages/frameworks/platforms. C'mon Esri...you're good at this type of stuff - the Adobe Suite plugins, ArcGIS for Teams, Office, etc. Y'all got tons of cool integrations with lots of things, especially from Microsoft. I know the community could develop this (and I'd love to participate in such a project) but I like staying in the Esri ecosystem if possible. And officially-supported VS Code extensions are always much higher quality. Thanks, A GIS dev
... View more
10-12-2022
03:17 PM
|
0
|
0
|
1559
|
POST
|
If PyCharm can do this, there's got to be a way for VS Code to do this as well 🤔 I would definitely love to see an official Esri "VS Code ArcGIS Pro Debugger extension"
... View more
10-12-2022
03:04 PM
|
0
|
0
|
2141
|
POST
|
Yes, that would be amazing, but everything I've read while investigating the same thing seems to indicate that it is not possible.. If I could have a workflow similar to Visual Studio ArcGIS Pro Add-in development with VS Code & Python by attaching the debugger to the running arcgispro.exe instance I would be so happy 😀
... View more
10-12-2022
06:39 AM
|
0
|
2
|
2207
|
POST
|
Ha! Well, I'll give some credit where credit is due..not a lot of software companies have made a game that still works flawlessly 32 years later (on an operating system that didn't even exist in 1990!) MS Solitatire (1990) running on Pop!_OS 22.04 (2022)
... View more
10-11-2022
04:20 PM
|
0
|
0
|
8274
|
POST
|
You da man, @Brian_Wilson - thanks for replying, this worked for me! I had a very frustrating call with an Esri tech support representative for an hour trying to work thru this, but it ultimately ended it with a "we don't support this" answer and the ticket being closed 😑 I probably wasn't communicating things effectively to support, but Pro/ArcPy/Conda and actually using them is something that is so under-documented that even Esri's staff can't answer questions about how this type of stuff is configured..
... View more
10-11-2022
03:59 PM
|
5
|
2
|
8293
|
POST
|
I'm attempting to configure VS Code for ArcPy/ArcGIS Pro development, and things have been going ok so far, however I have run into an issue I am not sure how to resolve. I'm also curious to hear how other in the community have configured VS Code - I want to make sure I'm not way off base. Here is how I have configured VS Code: I first cloned a Python environment from the ArcGIS Pro Package Manager, and then set the location of the Python interpreter in VS Code to the "python.exe" in my cloned env (which for me, was in this folder: %LocalAppData%\ESRI\conda\envs\my-cloned-environment\python.exe). And that was actually all I needed to do in order to run and debug a script. I am able to create a new Python debugging configuration in VS Code, set breakpoints step through the code, and get IntelliSense on all ArcPy modules & methods. However, there is still something I am not fully understanding, I think.. On VS Code Terminal launch, I get the following error: That looks to me like the system PATH environment variable has not been configured for Conda, and Powershell does not recognize the conda command. The Conda docs actually recommend not modifying the PATH env var, but if I do, I can resolve the error above, and the conda command is recognized. However, that yields another error, "CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.” Looking at the error message, I see that it is saying to run command conda init powershell, however, this also yields an error an I am stuck at this point, unsure how to proceed. Running VS Code as admin did not resolve the issue. To further compound my confusion, I came across this in the Esri docs saying "propy.bat" or "proenv.bat" should be used, but I don't know how I would integrate with VS Code: https://pro.arcgis.com/en/pro-app/latest/arcpy/get-started/using-conda-with-arcgis-pro.htm I'm curious to hear how other VS Code users have their local development environment configured, if you ran into any of these issues, how you resolved them, etc. Or am I just completely way off base in my methods and attempts to get VS Code configured lol??
... View more
10-11-2022
06:59 AM
|
0
|
25
|
10608
|
POST
|
Wow, thank you for the reply 4 years later! Since then I've had a few different jobs, but I'm actually back at the same company, and have been tasked to again investigate this same thing! My manager inquired about how it would work with Active Directory, and I remembered that I had asked this question once upon a time. Low and behold, there was an answer! I'm going to give this a try and will report back with my experience! Thanks again!
... View more
01-20-2022
09:28 AM
|
0
|
0
|
786
|
POST
|
When using the Esri Icon Font (Calcite theme), I am attempting to override the font styles, however they do not seem to be applied. A working example is available here: https://stackblitz.com/edit/web-platform-6q9noc For example, if I set the color or the font weight property, I do not see that change applied in the map: .esri-icon-check-mark { color: blue; weight: "bold"; } What is the correct way to override these styles when using the Esri icon fonts as a graphic's symbol?
... View more
01-26-2021
03:12 PM
|
0
|
2
|
1418
|
POST
|
For what it's worth I came up with a strategy, using the Dependency Inversion Principle and the Facade Pattern, to be able to mock ArcGIS JS API modules and eliminate the HTTP requests being made from loadModules(). I posted in greater detail on my blog here: https://seesharpdotnet.wordpress.com/2020/12/03/angular-and-arcgis-api-for-javascript-a-unit-testing-strategy-using-dependency-injection-and-the-facade-pattern/ A working sample application applying this approach and test coverage is available in this repository: https://github.com/mfcallahan/angular-cli-esri-map-unit-testing Here is the summary from the repo's README file: The problem The esri-loader allows an application to load Dojo AMD Modules outside of the Dojo Toolkit. A module can be lazy loaded, improving the initial load performance of the application by waiting to fetch API resources until they are actually needed: // MapService class to encapsulate ArcGIS API
@Injectable({ providedIn: 'root' })
export class MapService {
mapView?: esri.MapView;
async initDefaultMap(): Promise<void> {
// loadModules() will make HTTP requests to arcgis.com to fetch specified modules
const [Map, MapView] = await loadModules(['esri/Map', 'esri/views/MapView']);
this.mapView = new MapView({
map: new Map({ basemap: 'streets' }),
center: [-112.077, 39.83],
zoom: 5,
});
}
} However, this can make unit testing difficult, as the system under test does not have any reference to the objects in an ArcGIS API module until an HTTP request is made to fetch it. A test for the initDefaultMap() method will call loadModules() and make HTTP requests to arcgis.com to fetch the resources needed. This may not be desirable for a few reasons: The test becomes more like an integration test; we want to assert the component.mapView was correctly set inside loadModules(), not test that the application could connect to the internet and fetch dependencies. Tests may be executed in an environment which may not have access to the ArcGIS CDN, such as an automated build pipeline or server. Tests to ensure error responses from the request to load an ArcGIS API module (the unhappy path) are handled properly may be necessary. // initDefaultMap() unit test
it('should initialize a default map', async () => {
await service.initDefaultMap(); // test will make actual HTTP requests!
expect(service.mapView).not.toBeUndefined();
}); My solution Difficult to mock code is difficult to test! By refactoring the application code to follow the Dependency Inversion Principle and leverage Dependency Injection, the tight coupling between the above initDefaultMap() method and the esri-loader can be eliminated. The Facade Pattern can be used, creating a wrapper class for loadModules() and others methods exported by esri-loader which can then be injected into the class that has a dependencies on ArcGIS API modules. The wrapper class exposes its own loadModules() method which can be easily mocked, eliminating HTTP requests to the ArcGIS CDN in a test suite. A library such as TypeMoq can be used to create mock instances of the various ArcGIS API modules. // Singleton service wrapper class for esri-loader
@Injectable({ providedIn: 'root' })
export class EsriLoaderWrapperService {
constructor() {}
public async loadModules(modules: string[]): Promise<any[]> {
return await loadModules(modules);
}
public getInstance<T>(type: new (paramObj: any) => T, paramObj?: any): T {
return new type(paramObj);
}
}
// Updated MapService class
@Injectable({ providedIn: 'root' })
export class MapService {
mapView?: esri.MapView;
constructor(readonly esriLoaderWrapperService: EsriLoaderWrapperService) {}
async initDefaultMap(): Promise<void> {
const [Map, MapView] = await this.esriLoaderWrapperService.loadModules(['esri/Map', 'esri/views/MapView']);
const map = this.esriLoaderWrapperService.getInstance<esri.Map>(Map, { 'streets' });
this.mapView = this.esriLoaderWrapperService.getInstance<esri.MapView>(MapView, {
map,
center: [-112.077, 39.83],
zoom: 5,
});
}
}
// Updated initDefaultMap() unit test
it('should initialize a default map', async () => {
// Arrange
const mockMap = TypeMoq.Mock.ofType<esri.Map>();
const mockMapView = TypeMoq.Mock.ofType<esri.MapView>();
const esriMockTypes = [mockMap, mockMapView];
const loadModulesSpy = spyOn(service.esriLoaderWrapperService, 'loadModules').and.returnValue(
Promise.resolve(esriMockTypes)
);
const getInstanceSpy = spyOn(service.esriLoaderWrapperService, 'getInstance').and.returnValues(
...esriMockTypes.map((mock) => mock.object)
);
// Act
await service.initDefaultMap(basemap, centerLon, centerLat, zoom, elementRef);
// Assert
expect(loadModulesSpy).toHaveBeenCalledTimes(1);
expect(getInstanceSpy).toHaveBeenCalledTimes(esriMockTypes.length);
expect(service.mapView).not.toBeUndefined();
expect(service.mapView).toBe(mockMapView.object);
});
... View more
12-03-2020
02:50 PM
|
1
|
1
|
3213
|
POST
|
A coworker found this article for me which appears to answer the question: FAQ: How frequently is the World Imagery basemap updated? The World Imagery basemap is not collectively updated. Rather, on occasion, updates occur on the different images within the basemap, and there is no actual known cycle for this activity.
... View more
11-06-2020
08:56 AM
|
0
|
0
|
1334
|
POST
|
Question in title. I'm wondering how often world basemaps and imagery are updated to include new streets, new labels, new building footprints etc.
... View more
11-04-2020
02:31 PM
|
1
|
1
|
1385
|
POST
|
Thanks, adding a similar configuration to my project looks like it would resolve the path issue I was seeing. I ultimately abandoned moving my the project to the arcgis-webpack-plugin, but I will likely refer back to your answer in the near future with other projects. Thanks for taking the time to help!
... View more
01-23-2020
12:19 PM
|
0
|
0
|
1804
|
Title | Kudos | Posted |
---|---|---|
1 | 11-04-2020 02:31 PM | |
5 | 10-11-2022 03:59 PM | |
1 | 10-08-2019 04:48 PM | |
1 | 12-03-2020 02:50 PM | |
1 | 06-05-2017 11:13 AM |
Online Status |
Offline
|
Date Last Visited |
01-15-2024
03:01 PM
|