POST
|
Hi Dawn, I am not sure what your GIS architecture and workflows are but if you can feed the map service directly from the SDE, then you should that. The ArcGIS software is optimized to work well with SDE databases, and there is no performance issue there. If you data is stored as a feature class in SDE and you are allowed to connect to it, then that is your best option. Use that feature class in your map document to publish to ArcGIS server. Even if it is just a table with XYs, use it from SDE. I haven't tested the impact of re-projecting on the fly to Web Mercator, so I can't comment on that. I am personally not a fan of having multiple copies of data in different places, and try to avoid it when possible. If you are not allowed to use the data from SDE in a map service, then you can definitely use it from another non-SDE database as an XY event table. In this case, since you already will be manipulating the data and copying it to another place, I would calculate the XYs in state plane and in Web Mercator to avoid re-projecting on the fly. Then in the map document (.mxd) for the map service, I would use the instructions in my answer above to connect to the non-SDE database and will display the XY table by using the web mercator XYs and setting the web mercator as the coordinate system of the event layer. Hope that helps you a little! Darina
... View more
02-14-2019
06:40 AM
|
0
|
3
|
2622
|
POST
|
Hi David, Thank you for your reply! I think, I found a solution! As the ESRI representative was suggesting things to try and asking questions after I created a trace for her to see what is going on, one of her questions was about SDE related tables inquiries in the trace. And the database is not a geodatabase. And it hit me, maybe I should try an OLE DB connection as opposed to the .sde connections that I was using. I created an OLE DB connection using the option "Microsoft OLE DB Provider for SQL Server" (the SQL Server Native Client option didn't work, it wouldn't show any tables). Once the connection was created, I had to close and open ArcCatalog to see it and rename it. Then I used this .odc connection in ArcMap to add the tables with XY columns and create XY event layers. This time, the creation of the layers was instantaneous, a few seconds. Data drew very fast (with all these Index Seeks ). I registered the new connection in the ArcGIS Server Data Store and published the .mxd. Publishing took not more than 30 seconds. I tested the service in one of our web mapping applications by adding the service URL to the configuration file, and I was able to query and display the data on the map. I am scared to even think that this will work across all databases and ArcGIS servers. Cross my fingers! Hope this helps somebody else! Good Luck!
... View more
02-01-2019
08:04 AM
|
2
|
0
|
2622
|
POST
|
This is the technical article describing the problem: Problem: Performance of SQL Server views degrades after upgrading to ArcGIS 10.4 At version 10.6.1 this is still the same. We have number of views coming from a non-spatial SQL Server 2016 database that we publish to ArcGIS server. Some of the views join multiple tables with millions of records. The final record count of the views is 100K-500K. Adding one of these views to ArcMap is fairly quick, but displaying as XY event layer takes hours if the application doesn't crash. If layer is successfully added, then publishing runs for a long time (30 minutes +) and fails. The tables have been indexed. I added more indexes and made sure I only have "Index Seeks". Still it took 30 minutes to create the XY layer with the view with the least records. I have opened a case with ESRI, and so far the solutions I have been given are to enable that database as a geodatabase or export the data to a geodatabase (which took 45 minutes). None of these are possible, so I am turning to you, guys, for help. I am currently testing the same scenario in ArcGIS Pro 2.3, and it has been running for hour and a half the process of creating an XY event layer from the view with 100K. We have been holding on to 10.3.1 for dear life, but with the upgrade of the OS we have to move on, and it doesn't look pretty. If you have found a solution, please, advice! Thank you!
... View more
01-30-2019
12:17 PM
|
0
|
8
|
3153
|
POST
|
Hi Jenna, After looking at the code, I found a way for you to do what you need to do with very little change. Disclaimers: !!! Be advised though, it is a total hack and I have not tested all the functionality to see if it breaks anything else. !!! I suggest, you create an issue on Github for your problem, and hopefully someone will look into it, and fix it. !!! Best scenario for you would be to create and cache a hybrid service (image with road names), which is recommended in the application documentation. !!! If you have no control over that, then you can try my hack, but make very good notes, so when you are upgrading the application, and it breaks, you know where to look. Here it is: 1. Order your layers this way (I am using the fact that the first layer is added on the map and always stays there, so we need this to be the imagery. Then the second layer should be the one you need displayed on the map initially, and that usually is just a street map): // Set baseMap layers
BaseMapLayers: [
{
Key: "imagery",
ThumbnailSource: "js/library/themes/images/imagery.png",
Name: "Imagery",
MapURL: "http://yourserver/arcgis/rest/services/Imagery/MapServer"
},
{
Key: "streetMap",
ThumbnailSource: "js/library/themes/images/parcelmap.png",
Name: "Streets",
MapURL: "http://yourserver/arcgis/rest/services/GeneralPurpose/MapServer"
},
{
Key: "imageryStreetNames",
ThumbnailSource: "js/library/themes/images/imagery.png", //change image to some hybrid image
Name: "Imagery",
MapURL: "http://yourserver/arcgis/rest/services/StreetNames/MapServer"
},
{
Key: "topoMap",
ThumbnailSource: "js/library/themes/images/imagery.png",
Name: "Topographic",
MapURL: "http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer"
}], 2. Change "0" to "1" in on the commented line in baseMapsGallery.js. In this way, the imagery which was added first will be there but hidden behind the street map, which has and index of 1 instead of 0. So change the "0" to "1" to have your street map popup first: postCreate: function () {
var i, basemapContainer, layer,
baseMapURL = 0,
baseMapURLCount = 0,
baseMapLayers = dojo.configData.BaseMapLayers;
for (i = 0; i < baseMapLayers.length; i++) {
if (baseMapLayers.MapURL) {
this.map.addLayer(this._createBaseMapLayer(baseMapLayers.MapURL, baseMapLayers.Key));
}
if (baseMapURLCount === 1) { //on this line change "0" to "1" as shown here
baseMapURL = i;
}
baseMapURLCount++;
}
basemapContainer = domConstruct.create("div", {}, dom.byId("esriCTParentDivContainer"));
basemapContainer.appendChild(this.esriCTDivLayerContainer);
this.layerList.appendChild(this._createBaseMapElement(baseMapURL, baseMapURLCount));
if (baseMapURLCount >= 1) {
layer = this.map.getLayer(baseMapLayers[baseMapURL].Key);
layer.show();
}
}, Test it. Hope it works for you, if nothing else is possible. Darina
... View more
03-04-2016
08:39 AM
|
1
|
1
|
971
|
POST
|
Jenna, I am not familiar with this application, but after brief look at it, I don't think that you can configure it to have two layers in your basemap without making any code changes. I downloaded it now, and will try it. I will let you know if I come up with a solution. Darina
... View more
03-03-2016
11:43 AM
|
0
|
3
|
971
|
POST
|
Part of what application is this configuration file?
... View more
03-03-2016
11:13 AM
|
0
|
5
|
971
|
POST
|
Jenna, Here is a sample code of how to add roads on top of the imagery: var map = new Map("map", {
basemap: new Basemap({
layers: [
new BasemapLayer({ url: 'http://myserver/arcgis/rest/services/Maps/Aerials/MapServer' }),
new BasemapLayer({ url: 'http://myserver/arcgis/rest/services/Maps/StreetNames/MapServer' })
]
})
}); Best regards, Darina
... View more
03-03-2016
10:55 AM
|
1
|
7
|
971
|
POST
|
Hi Frieda, Thank you for your reply. Yes, that is what I observe, results come back but nothing happens if autoSelect is false. My code is attached. (I just copied one of the ESRI samples, and plugged in my services, and added event listeners for debugging). I am also attaching an image of the console showing 5 suggestion coming back and 27 results coming back, but no results list.
... View more
03-03-2016
06:50 AM
|
0
|
0
|
1222
|
POST
|
Frieda and Robert, I just started playing with the Search widget, and I am also having trouble with the result list. 1). I don't get a results list no matter what settings I have for "autoSelect". And I don't ever see the results list or the "Show more results" option. I am not sure what the problem is, as i can see by debugging that I have 27 results back. 2). Also, for some reason I only get 5 suggestion back. I tested this in the services directory, and I only get 5 back there. Again, not sure why (created a ticket for this problem, but haven't been contacted yet). Frieda, Even if your Feature Layers comes from a 10.3 service, suggestion will not work if your underlying database does not support pagination. Show stopper. I did find a workaround, but it gets complicated working with polygon and line layers. I created address locators ("Single Field") from the layer of interest, enabled suggestion on the locator, and then enabled suggestion on the geocoding service. The suggestions work, but the returned geometry is a point. If anybody has more experience with the Search widget, and knows how to fix 1) and 2), please, share your knowledge. Thank you!
... View more
03-02-2016
08:49 AM
|
0
|
1
|
1222
|
POST
|
Hi guys, I was wondering if any of you have found a way to prevent the Search widget from automatically performing a search when a suggested value is selected? Not having a database supporting pagination is messing me up, and I have to create locators from my layers to use the suggestion functionality, but I need to perform the search on the feature layers and actually return polygons instead of the point that locators return. I see that I can hop in after the search is performed and results are returned, and do what I need to do, but that's kind of chatty. Thank you!
... View more
02-29-2016
11:08 AM
|
0
|
0
|
1243
|
POST
|
Mike, I don't see any other references in the code to my server. But i think I found the problem. I had an empty module in the define section of the start.js. I had the areaExtent added, but I had not put any code in there, and I haven't used it in the code. But I guess, it was messing IE. After I removed it from the list, the search.htm and index.htm started working as expected (both pages are using start.js).
define(
[
"dojo/_base/array",
"dijit/registry",
"dijit/form/Button",
"dijit/form/RadioButton",
"modules/areaExtent"
],
function (arrayUtil, registry, Button, RadioButton, AreaExtent)
When I was packing the code to attach it here I noticed it, and removed it from the file, so it is not in the attachment, and the attached code works fine in IE. Thanks to you trying to make it work, I had to install the code that I packed and test it. This is when I noticed that this code works, but not the one I originally had. I started looking for the differences, and found it. Thank you! Darina
... View more
03-11-2014
12:47 PM
|
0
|
0
|
623
|
POST
|
Mike, I just copied the files that I attached to a web server (IIS 7), made the changes I told you, and for search.htm I get a bunch of buttons on the left, map in the center, and legend on right. With index.htm, I get just some radio buttons and buttons, that do nothing for now. Both work fine in Firefox, Chrome, and sometimes in IE8. I am not sure why you don't get the map. Darina
... View more
03-11-2014
11:33 AM
|
0
|
0
|
623
|
POST
|
Mike, Map services are defined only in the search.htm: [HTML] <script type="text/javascript"> require(["modules/start", "modules/app", "modules/search"], function (start, mapApp) { start.init("search"); mapApp.init({ basemapUrl: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer", zipcodesUrl: "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3", mapContainerId: "map", legendContainerId: "legend" }); }); </script> [/HTML] And one more thing. I was running this in Visual Studio web server, so the paths parameter in the dojoConfig was working. On a web server, please change the paths parameter in the dojoConfig with: paths: { modules: location.pathname.replace(/\/[^/]+$/, "") + "/js/modules" } The index.htm uses no arcgis classes, but has the same caching problem: buttons don't get created in IE. So, I think, this more of a Dojo problem. Thank you! Darina
... View more
03-11-2014
10:47 AM
|
0
|
0
|
623
|
POST
|
Mike, Thank you for looking into it. The services are not public. And I just substituted the server name with "myserver". Try using the ESRI services. I get the same behavior with them too. Tiled layer (basemap): http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer Feature Layer (zipcodes): http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3 The map will draw slow though with these services, because my code does not filter the feature layer. Thank you!
... View more
03-11-2014
10:02 AM
|
0
|
0
|
623
|
POST
|
I created a little test app, which creates programmatically some radion buttons and buttons, loads a tiled map + feature layer, and shows a legend. Nothing fancy. All works fine in Chrome and Firefox. In IE8 if the Browser History settings are set to "Automatically" to Check for newer versions of the stored pages, the pages load correctly only if I clear the cache. And they do not load correctly after that if I click the refresh browser button or Ctrl+F5. When I debug using the Developer Tools, on a refresh the modules don't load, and the function creating the buttons and the map don't execute. If I change the Browser History settings to "Every time I visit the webpage", it works fine, and if I refresh the pages they load correctly. Attached is my little test project. Hope, someone will have some time to let me know what I am doing wrong. Just learning the AMD loader now, so I might be messing up something. If you have had the same problem and have found a solution, please, advice! Thank you!
... View more
03-11-2014
08:53 AM
|
0
|
8
|
1248
|
Title | Kudos | Posted |
---|---|---|
1 | 05-04-2022 06:11 PM | |
2 | 05-05-2023 01:24 PM | |
1 | 02-09-2023 02:52 PM | |
2 | 02-15-2023 10:49 AM | |
1 | 12-22-2022 01:36 PM |
Online Status |
Offline
|
Date Last Visited |
09-09-2024
10:59 PM
|