POST
|
I've got a table on an SQL server, and another one on another server (SQL, in an Azure environment), and I'm looking at using ModelBuilder to move rows between them. Sometimes this works perfectly - about 4500 rows, no spatial data. However, most of the time it copies the amount of rows over, but little or no data - it is mostly null. The correct amount of rows are created, but the data is null. I've tried a few approaches, including copying all the rows from the original table locally (which get populated fine) and then populating the Azure table from there, but they still end up as nulls. Any idea what could be causing it? As I say, it's not a huge amount of data, and copies okay sometimes just using a standard Append tool. The data is static, there is no difference in the data on different runs.
... View more
07-02-2025
11:54 PM
|
0
|
0
|
174
|
POST
|
I'm trying to set up a print widget in Experience Builder, on my ArcGIS Enterprise. It works fine... when all my layers are off. It'll print out the basemap no problem, but when I add my hosted feature layers it refuses. Errors given are minimal, even in logs. Basically comes back with: Error executing tool. Export Web Map Task : Invalid input. Failed to execute (Export Web Map). Failed to execute (Export Web Map Task). I imagine this must be down to permissions, but I don't know which. The feature layers in question (hosted on my ArcGIS Enterprise) are available to everyone in my organisation, and shared with relevant groups. The print service is shared similarly. I'm logging in as a user (in Experience Builder) that has access to the same groups. And as I say, it is printing (just not the layers), so it shouldn't be a problem with the print service, but instead the layers in question. As an aside, when I tried to add the print widget initially, Experience Builder could not find the default one - I had to go into "Add Utility > Items" and locate it in there. I feel like I'm missing an obvious "gotcha" in regards to sharing, but I can't think what.
... View more
02-13-2025
09:28 PM
|
0
|
2
|
504
|
POST
|
Well that was idiotic of me. And ESRI. But mostly me. I didn't know (and ESRI don't make it obvious) that text boxes have a dynamic content option. It's not exactly as I wanted, and it'll require some careful coaching with people, but I basically created a text box which linked to the maximum value from the query widget. Users will have to ensure they don't click on entries they're not supposed to (say, from different streets), but it gets us something that's at least usable.
... View more
02-13-2025
06:19 PM
|
0
|
0
|
427
|
POST
|
I'm using Experience Builder to find features and, hopefully, extract a value from those features. We have several features with the same reference number. They are different features due to slight differences in other aspects of the data, but geographically they are grouped together. Basically, imagine a group of houses on the same Street, with a Street attribute. What I'd like to do is select the Street, from a list of unique values, and have all the houses on that street selected, as well as extracting another value from those houses (let's say Town, which would be the same for all the houses on that Street) for use elsewhere. Any ideas? I've tried a few things, including attempting to build my own widget, lists (doesn't allow for unique values), queries (seems great but, as far as I can tell, doesn't allow for unique values or for the value to be used elsewhere), and now just looking at the filter widget.
... View more
02-12-2025
08:59 PM
|
0
|
2
|
482
|
POST
|
We have a feature layer in our ArcGIS Enterprise. Using a collaboration, we have shared it with our ArcGIS Online portal. I can make edits to it in ArcGIS Online that are immediately reflected in our ArcGIS Enterprise. However, when I try to make a Survey123 survey in ArcGIS Online that links to it (links to the ArcGIS Online feature layer through the collaboration), Survey123 Connect asks for a token. Is this to be expected, and is there a better way to do this that wouldn't require a token? As I say, I can make edits to the layer in our ArcGIS Online environment (admittedly signed in through the Portal, but then everyone using it would be signed in anyway). Failing that, what is the best way to supply a token through the Survey123 app? I can create an Oauth2 web app on our Enterprise server and pass a url. We basically don't want to have the user do any more authentication than necessary, but keep the data hosted in our Enterprise server.
... View more
02-09-2025
09:20 PM
|
0
|
1
|
365
|
POST
|
I've got a Survey123 survey which is working really well. Webhooks notify users when forms have been submitted, and when they've been edited, and are sent out using MS Power Automate. The emails contain a link to the survey, and these work fine for the first time - I can click the link and, even on my computer, it will take me to the submitted form in the app. However, if I've already opened that form on my device, it will come up with an "inbox is empty" screen rather than take me to the form. I'll have to go into my settings and clear all my submitted forms to open it. Is there any way around this? This is functionality we are going to need. The link to my forms looks like: arcgis-survey123:///?action=edit&itemID=<<SURVEY ID HERE>>&q%3aglobalId=<<GLOBAL ID OF SUBMISSION HERE>>&update=true
... View more
11-03-2024
03:53 PM
|
0
|
1
|
357
|
POST
|
I'm working with Python to load a web map into a map frame on a layout. However, what I'd now like to do is add a Grid (or Graticule, or Ticks) so that we can see coordinates - preferably along the top and left sides, with the lines either being not visible or transparent. Currently I'm using the below code: #create an aprx using a webmap json and a layout template, and a map based on it
result = arcpy.mp.ConvertWebMapToArcGISProject(data, templateFull)
aprx = result.ArcGISProject
m = aprx.listMaps()[0]
#find our layout and the map frame within
lyt = aprx.listLayouts()[0]
mf = lyt.listElements("mapframe_element", "WEBMAP_MAP_FRAME")[0]
#assign the map to our map frame
mf.map = m
#just gets some extents and sets the map frame and map camera
myExtent = arcpy.Extent(pointMin.centroid.X, pointMax.centroid.Y, pointMax.centroid.X, pointMin.centroid.Y)
mf.camera.setExtent(myExtent)
mf.camera.scale = mf.camera.scale * 1.1
m.defaultCamera = mf.camera Just about everything I can find so far indicates that, if you want to do it programatically, you have to create a Grid "layer" - basically a layer of square polygons, but I'm sure you must be able to expose the Map Frame's Grid settings. You can add a Grid in the Layout editor but, as this is generated on-the-fly as it were from a web map, that option is greyed out.
... View more
09-06-2023
11:20 PM
|
0
|
1
|
1465
|
POST
|
I'm currently adjusting an Imagery Layer's mosaicRule using a widget. I can set it, but I don't seem to be able to refresh the Imagery Layer so it shows what I want it to show - it just continues showing the same image with no change. Code is: let mosaicRule = new MosaicRule({
where: "acquisitiondate >= '2023-06-18' AND acquisitiondate <= '2023-06-22'"
});
jimuMapView.view.map.findLayerById("Sentinel2_2968").mosaicRule = mosaicRule;
console.log(jimuMapView.view.map.findLayerById("Sentinel2_2968").mosaicRule)
jimuMapView.view.map.findLayerById("Sentinel2_2968").refresh(); Something I CAN do is apply this same mosaicRule to a new layer and add that to the map - however I'd really not like to have to go through the map and find the layer, destroy it, and add a new one every time the user wants to make this change: let mosaicRule = new MosaicRule({
where: "acquisitiondate >= '2023-06-18' AND acquisitiondate <= '2023-06-22'"
});
const layer = new ImageryLayer ({
url: "https://myserver.com/portal/sharing/servers/itemid/rest/services/Sentinel2/ImageServer",
format: "jpgpng"
})
layer.mosaicRule = mosaicRule
jimuMapView.view.map.add(layer) Any idea how I can refresh the existing layer rather than having to create it all over again every time we change anything?
... View more
07-24-2023
06:51 PM
|
0
|
0
|
692
|
POST
|
I'm creating a new project in ArcGIS Experience Builder and one of the main things it needs is Sentinel-2 integration. We need not only the "latest" imagery (or whatever is loaded by default), but also the ability to manually select the date that is shown. Currently, I've written a widget that I'm just using for debugging purposes. The webmap that is shown has a Sentinel-2 image service (from ESRI, using my ArcGIS Online credentials). The Sentinel-2 view itself can be found at https://www.arcgis.com/home/item.html?id=fd61b9e0c69c4e14bebd50a9a968348c However, ESRI has yet to implement support for image services in Experience Builder. Normally a layer like that would be registered as "time-enabled" and be able to have a timeline widget associated with it, sorting everything out without any code whatsoever. Unfortunately, we don't have that luxury, and I'm trying to do it in code. This is my widget's runtime code so far, trying to pick up the data. It should be noted that field 9 is the "acquisitionDate" field, which is the one I would want to alter: import { React, AllWidgetProps } from 'jimu-core'
import { JimuMapViewComponent, JimuMapView } from 'jimu-arcgis'
const { useState } = React
const Widget = (props: AllWidgetProps<any>) => {
const [jimuMapView, setJimuMapView] = useState<JimuMapView>()
const activeViewChangeHandler = (jmv: JimuMapView) => {
if (jmv) {
setJimuMapView(jmv)
}
}
const formSubmit = (evt) => {
evt.preventDefault()
console.log('Some stuff here')
console.log(jimuMapView.jimuLayerViews)
console.log(jimuMapView.view.map.findLayerById("Sentinel2_2968").visible)
console.log(jimuMapView.view.map.findLayerById("Sentinel2_2968"))
console.log(jimuMapView.view.map.findLayerById("Sentinel2_2968").fields[9])
jimuMapView.view.map.findLayerById("Sentinel2_2968").visible = true
}
return (
<div className="widget-starter jimu-widget">
{
props.useMapWidgetIds &&
props.useMapWidgetIds.length === 1 && (
<JimuMapViewComponent
useMapWidgetId={props.useMapWidgetIds?.[0]}
onActiveViewChange={activeViewChangeHandler}
/>
)
}
<form onSubmit={formSubmit}>
<div>
<button>Debug</button>
</div>
</form>
</div>
)
}
export default Widget
... View more
07-23-2023
10:56 PM
|
1
|
2
|
1207
|
IDEA
|
We'd need this too, for accessing the Sentinel-2 service. I'm currently trying (and failing) to hack away at the service through widgets and console logging to get to the acquisition date, so a dedicated way of using a timeline would be great. Have upvoted the idea.
... View more
07-23-2023
06:25 PM
|
0
|
0
|
2765
|
POST
|
Hi Archit Hmm... an odd one. I checked validation in the Portal Admin Directory, and in the Server Manager. All were fine. I then decided to try to create a new Feature Layer, rather than bring in a zipped shapefile (which just published the shapefile before - it didn't create a hosted Feature Layer). However, even though I've done this quite a lot in ArcGIS Online, I couldn't find any option to create a new feature layer - or indeed anything like it! Instead, I just get the drag/drop option, URL, Application, and Data Store: Also, when I did add a zipped shapefile, it did not come up with an option to host it as a hosted feature layer/service: In terms of logs, I tried looking through the period when I added the above file and couldn't see anything.
... View more
07-23-2023
06:05 PM
|
0
|
0
|
1883
|
POST
|
Thanks Miguel. I've already tried restarting the datastore, with no avail, and looked through that topic (nothing in there that looks relevant to me). My describedatastore output is:
... View more
07-23-2023
05:11 PM
|
0
|
0
|
1884
|
POST
|
I've got a single machine that I'm using as an ArcGIS Enterprise server (with Portal) and have a data store on the same machine. I've just installed the data store (using the standalone installer, 10.9.1 - all my server elements are 10.9.1). In ArcGIS Pro, whenever I try to share a web layer and copy all of the contents to the server (so it can be used as a repository for data eg contours), the analyze/publish options are greyed out for anything other than a map image layer (which I don't want, I need it to be a feature layer). Also, in Portal, if I try to copy the zipped shapefile over, it simply copies the shapefile rather than giving me the option to create a HFS. Looking into the logs, I can see this in one of the server logs: <Msg time="2023-07-14T04:04:26,131" type="WARNING" code="110801" source="Data Store" process="13184" thread="1" methodName="" machine="MYMACHINE" user="" elapsed="" requestID="">Failed to start tile cache data store. Read from ArcGIS Data Store configuration store failed.</Msg> <Msg time="2023-07-14T04:04:26,135" type="SEVERE" code="110306" source="Data Store" process="13184" thread="1" methodName="" machine="MYMACHINE" user="" elapsed="" requestID="">Attempt to start 'tile cache' data store failed. Read from ArcGIS Data Store configuration store failed.</Msg> Anyone got any ideas? Thanks.
... View more
07-13-2023
09:59 PM
|
0
|
5
|
2263
|
POST
|
I'm trying to create a web tool which will access a layout. The layout contains a web map which already displays some layers, and I'd like to set the definition query on them to only show certain features. However, for some reason this isn't working. I've managed it in other scenarios, such as loading up a web map with a blank mapframe and adding the layers to that, but I'd like it to use a web map this time in order to make editing it easier. In any case, for some reason it seems to ignore the definition query and return the same number of features, as if the definition query isn't active (I have checked it, it is active, the layer supports definition queries and this is the only definition query on it). Code snippet below: lyt = aprx.listLayouts()[0]
mf = lyt.listElements("mapframe_element", "WEBMAP_MAP_FRAME")[0]
mfm = mf.map
myLayer = mfm.listLayers("UseThisLayer")[0]
myLayer.definitionQuery = "ThisId = 'abc'"
with arcpy.da.SearchCursor(myLayer, "Shape@") as cursor:
for row in cursor:
if row[0]:
arcpy.AddMessage(row[0]) As I say, I can put anything into the definition query and it still returns the same amount of values, as if it's not there. And I can interrogate the layer's definition query, see that it is active, supported and the only one there. I do have another way round this (which would be defining the layers outside of the layout, then adding them to the layout's mapframe) but as I say, I'd really like not to have to do this if I can avoid it. Edit - should point out that this is using ArcGIS Pro, but the layout (and web map and layers) are on my Portal. Eventually this will become a web tool. Another edit - using the below: arcpy.AddMessage(myLayer.listDefinitionQueries()) Gives us: [{'name': 'Query 1', 'sql': "ThisId = 'abc'", 'isActive': True}]
... View more
02-06-2023
08:36 PM
|
0
|
1
|
1157
|
POST
|
Huh, go figure. It may have been running all along, I'm unsure. In my latest code, I made a couple of little tweaks to my requestparams. It is instead: var requestParams = {
method: "post",
query: {
f: 'json',
username: 'MyUsername',
password: 'MyPassword',
client: 'requestip'
}
}; And added the token to my url, at the end. In any case, I'm still getting the signin screen, which I believe is because I'm calling the job wrong (at the moment I'm just using a window.open to call the url), but the job still calls and executes. I just assumed it wasn't because of the login screen. Now to find a better way to call the job... (eventually, because now other tasks have popped up)
... View more
10-17-2022
09:12 PM
|
0
|
0
|
684
|
Title | Kudos | Posted |
---|---|---|
1 | 07-23-2023 10:56 PM | |
1 | 07-25-2022 10:50 PM | |
1 | 07-27-2021 08:16 PM | |
1 | 07-27-2021 10:44 PM |
Online Status |
Offline
|
Date Last Visited |
07-03-2025
03:26 PM
|