|
POST
|
Here is a sample page, I was using to test. <html> <head> <meta charset=utf-8 /> <title>PubGIS Test</title> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> <!-- Load Leaflet from CDN --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA==" crossorigin=""/> <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js" integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg==" crossorigin=""></script> <!-- Load Esri Leaflet from CDN --> <script src="https://unpkg.com/esri-leaflet@2.2.3/dist/esri-leaflet.js" integrity="sha512-YZ6b5bXRVwipfqul5krehD9qlbJzc6KOGXYsDjU9HHXW2gK57xmWl2gU6nAegiErAqFXhygKIsWPKbjLPXVb2g==" crossorigin=""></script> <style> body { margin:0; padding:0; } #map { position: absolute; top:0; bottom:0; right:0; left:0; } </style> </head> <body> <div id="map"></div> <script type='text/javascript'> var map = L.map('map').setView([42.682435, -75.290039], 7); var str = L.esri.basemapLayer('Streets').addTo(map); var streams = L.esri.featureLayer({ url:'https://pubgis.health.ny.gov/arcgis/rest/services/WI_PWL2019/MapServer/1', //url:'https://services8.arcgis.com/k1v79LrnPTwysMSs/ArcGIS/rest/services/WI_PWL2019/FeatureServer/1', useCors: false, style: function (feature) { var c,o = 0.75; switch (feature.properties.WBCATGRY) { case 'Impaired': c = '#FF0000'; //red break; default: c = '#0000FF'; //blue } return {color: c, opacity: o, weight: 2}; } }); streams.bindPopup(function (layer) { return L.Util.template('<p>PWL ID: {PWL_ID}<br>Name: {NAME}<br>Catgry: {WBCATGRY}</p>', layer.feature.properties); }); streams.addTo(map); var usastreams = L.esri.featureLayer({ url: 'https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_Rivers_and_Streams/FeatureServer/0', useCors: false, where:"STATE='NY'", style: function (feature) { var o = 0.75; var c = '#0000FF'; //blue return {color: c, opacity: o, weight: 2}; } }); usastreams.bindPopup(function (layer) { return L.Util.template('<p>Name: {NAME}<br>State: {STATE}</p>', layer.feature.properties); }); var baseMaps = { "Streets":str }; var overlayMaps = { "pubGIS":streams, "Esri_NY":usastreams }; L.control.layers(baseMaps, overlayMaps,{collapsed:false}).addTo(map); </script> </body> </html>
... View more
03-11-2019
09:13 AM
|
0
|
3
|
1633
|
|
POST
|
I'm starting to think it's a combination of four things. Too much data, I agree with you but the decision makers haven't accepted that yet. Wait till they view it on a phone or old PC. Realistically you can't accurately identify what stream you clicked on until you're zoomed in. Some network issues, we have dev, eval, and production environments setup, it's 90% working in eval, but it's failing in Production. I'm also looking at Leaflet w/ Esri-Leaflet plugin, as part of the issue, I made a simple page using the ArcGI JS api, and it flies compared to the Leaflet page. However with the roll out tomorrow, this is only an option for the next version. ArcServer on eval is 10.3 and production is 10.6, the hardware is the same but we rarely use eval beyond testing, and in this case, it's out preforming the newer version. We're going to install 10.6 on it now to see if it's an issue. For grins, I exploded the 2363 multi-lines to lines and got 117,289 lines.
... View more
03-11-2019
05:27 AM
|
0
|
5
|
2304
|
|
POST
|
I'll look into vector tiles, one issue is I'm using Leaflet instead of ArcGIS JS. I've also been told no scale dependencies, as someone up the food chain wants to see everything on and doesn't care about the issues it causes. The streams layer is generalized by Leaflet, if you zoom in you can see the lines moving and getting more accurate. I've talked about different services for different zoom levels but was overruled.
... View more
03-11-2019
04:59 AM
|
0
|
0
|
2304
|
|
POST
|
Ugh, it looks like the networking guys are now having issues on the site. Basically, it's every stream in New York from the USGS topo's So it's multi polylines merged down to 2300 records. It was published from a FileGeoDatabase. During the service creation, analyze shows it drawn in .77 seconds, and from the REST endpoint viewer it takes about a second to draw. But try to consume the service in ArcGIS JS API, Leaflet, ArcMap or ArcPro and it seems to hang and stop. I think it's just too much data but key decision makers want it all on at all scales.
... View more
03-08-2019
09:31 AM
|
0
|
2
|
2304
|
|
POST
|
Hi, We have an app that is having issues, and it looks like it's ArcServer but it could be a network issue. And I've scoured the internet for answers but an still stumped. The service draws fast from the endpoint when you tell it to preview or use the JS viewer. However, when querying right from the REST endpoint it's a pig, query all records and it seems to hang and die. Query 200 records and it runs fairly fast but slower then it should. We are using the Esri-Leaflet API and It can be fast locally, but from outside the firewall it's slow and draws in patches before it stops, before it finishes. Any ideas or clues? Layer: streams (ID: 1) endpoint ArcGIS API for JavaScript: WI_PWL2019 built-in JS viewer, from ArcServer Endpoint. https://pubgis.health.ny.gov/arcgis/rest/services/WI_PWL2019/MapServer/1/query?where=1%3D1&text=&objectIds=&time=&geomet… 200 records. https://pubgis.health.ny.gov/arcgis/rest/services/WI_PWL2019/MapServer/1/query?where=1%3D1&text=&objectIds=&time=&geomet… All records.. ArcServer 10.6,, MS Server 2016, 16GB ram
... View more
03-08-2019
07:52 AM
|
0
|
21
|
5007
|
|
POST
|
I did find this which was interesting. https://www.w3.org/TR/sdw-bp/#bp-crs-choice
... View more
12-10-2018
10:40 AM
|
0
|
0
|
1313
|
|
POST
|
I have a question that's come up at work and I can't find a definitive answer. If I'm going to create an ArcServer REST service, what is the ideal projection? I know a service has the option of re-projection data but this should have a server side performance hit on each callback. I'm working with stream/river data and it may have high demand for a while.. I know ArcGIS on-line uses 3857 Web Mercator and so do most base maps. However many of the data REST Services I use require WGS-84 with Decimal Degrees. (GeoJSON for example) I'm in NY and it appears many services are in UTM zone 18, but Buffalo isn't even in zone 18, so this isn't ideal if I have it return Meter coordinates. I'm looking for the best solution, that would return the data in my web map (wgs-84) the fastest with the least demand on the server. It's a dynamic map service that is constantly updated so caching the service is not feasible. Your thoughts?
... View more
12-10-2018
09:34 AM
|
0
|
2
|
1428
|
|
POST
|
Setup: Oracle 11g looking at an Oracle appliance for 12C. We have 3 tiers, a development, Eval(QA/QC), and a production. Only 1 person editing. We have heard SDE is going away but no details. While there are a couple polygon featureclasses in SDE, most of the data we edit and use is point based. We have scripts that run to export data as shapefiles using SDE and ArcPy and some that hit Oracle without using a SDE connection. I have web services and apps that used SDE data to move points and some that don't need SDE at all. So I'm tossed as to the future choice. While in ArcMap, I can move the points, I can also bring them in as a X,Y event and keep my editing through the web interface with a generic REST service. The polygon Featureclasses could be put into a File GDB because they are not edited, and we could even use them for ArcServer. Basically State, County, and Local boundaries, not much data. The polyline and other stuff comes across as a service from other state agencies who maintain their own data. My question is what is the future of SDE, our rep said development is minimal, so in the future what can we expect? In our case the overhead of 3 tiers of Oracle with SDE for only one person editing may be overkill.. Is Esri planning on supporting Oracle spatial, in ArcPro and will the functionality be similar to ArcSDE? At this stage we are planning on upgrading our databases but not sure if we should keep SDE. I have not be able to find a life cycle document on this. Your thoughts?
... View more
01-11-2018
11:24 AM
|
0
|
0
|
731
|
|
POST
|
I feel your pain, I work for NY State and they love Zscaler. 99% of the complains I get about my web apps are Zscaler errors, i.e."why doesn't the background map show". I found if I use Chrome and go to Google.com it will cause me to log in, and it's good for a day. When I moved to windows 10, Firefox became unusable with it. To use Python pip or clone from github I needed to use a proxy to get them to work.
... View more
06-22-2017
06:09 AM
|
2
|
0
|
2600
|
|
BLOG
|
As a GIS consultant and Developer I've taught as an Esri Authorized instructor for 10 years and as Adj Fac at a university for 14 years. The commercial classes were more rewarding to teach as the students saw the need for the class. They could apply the skills taught the next day and it solved some of their problems. The colleges students see it as a 3 credit check box on the path of a degree. They know it's required but it's just another course. Many don't know what GIS is when they sign up. I found In the intro class just finding the file they downloaded and trying to unzip it is almost a full class. Those who take the python and JavaScript web mapping in the advanced course, remark if they wanted a programming class they would have taken Computer Science. Some of this falls on the department as it's tough to make a Geography or Envi science program cross over to the computer science department for a database class or a intro to programming class. Not to mention many Computer Science departments don't teach python. While in my Intro classes I try to bring in real world examples, talking to their other professors I try to show a problem they recently were taught and break it down with GIS. This gets some interest but only from students in that department. I also teach a lecture on python, with most of it as a lab, so they are exposed to it. I include a demo of the Leaflet JS site and a simple map to show them their is more then the desktop. In the end, most of it is the students, this year I was able to create an internship with the school for assisting with GIS development at the facilities management office, 3 credits and a $2,000 stipend for about 130 hours of work. No one was interested, too busy.
... View more
04-07-2017
06:16 AM
|
0
|
0
|
2019
|
|
POST
|
I'm updating a leaflet app, it uses the L.esri.Geocoding.geosearch control, and beyond the geocoding it searches two featureServices. Now I have the requirement to search a geoJson layer. I've been unable to find a method to do this. The leaflet search works well for the GeoJson but not the featureLayers. Any ideas to avoid having two search controls on my map?
... View more
03-13-2017
11:44 AM
|
0
|
1
|
2539
|
|
POST
|
Thank you, I’ve never had that explained, and it now makes sense. In my Esri class it was rushed over but looking back on it they were teaching JavaScript plus their api. I also found another reason why it didn’t work for me. I forgot the second quote around my dojo textbox id. If it can’t id, it must not exist. id="txtbx4" data-dojo-type="dijit/form/TextBox" /> Thanks Again. Bill
... View more
01-27-2017
01:42 PM
|
0
|
0
|
1383
|
|
POST
|
"your requires are definitely out of order" Any idea of where I can find a published list showing the correct order of the requires? I know the more I hack at it, the more extras that are not needed are included. I wish they has an arcgislint site that would read your JavaScript and insert the correct requires in the correct list.
... View more
01-27-2017
11:07 AM
|
0
|
2
|
1383
|
|
POST
|
I've got a simple webpage where you enter in street, city, and it hits a geocoding service. The service returns X,Y and I'm trying to write those values into a "dijit/form/TextBox". For testing I am able to set the street, city textboxes using registry.byId and pass the value to the service. The function that parses out the returned X,Y is not able to see the X,Y textboxes. require([ 'esri/map',"dojo/on","dojo/parser","dijit/registry","dojo/ready","dojo/dom","dijit/form/Button","dijit/form/TextBox", 'esri/geometry/Point','esri/symbols/SimpleMarkerSymbol','esri/Color','esri/graphic',"esri/symbols/PictureMarkerSymbol",'dojo/_base/xhr', 'dojo/domReady!' ], function (Map, on, parser, registry, ready, dom, Point, SimpleMarkerSymbol, Color, Graphic, PictureMarkerSymbol, xhr) { var map = new Map("map", { center: [-56.049, 38.485], zoom: 3, basemap: "streets" });
parser.parse(); registry.byId("txtbx1").set("value", "800 n Pearl St"); //<<< This works and sets the valueregistry.byId("txtbx2").set("value", "Albany"); //<<< This works and sets the value// So I take the values from the testbox, hit a geocoding service and it returns a x,y// The function below sohow the JSON return from the service as I pull out the X,Y.// Now I was trying to put the X,Y back into a dojo textbox but inside this function // I'm not able to see/hit the textbox//SAM Servicefunction SFunction(response) { var obj1 = JSON.parse(response); console.log(obj1); var Sx= obj1.candidates[0].location.x; //returns -73.7363046904528 var Sy= obj1.candidates[0].location.y; //return 42.67997793613371 console.log(Sx +", "+Sy); dojo.byId("txtbx4").innerHTML=Sy; //Cannot set property 'innerHTML' of nullregistry.byId("txtbx4").set("value", Sy); //Cannot read property 'set' of undefineddocument.getElementById("txtbx4").value = Sy; //Cannot set property 'value' of null
... View more
01-26-2017
12:28 PM
|
0
|
4
|
2513
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-05-2016 09:27 AM | |
| 1 | 06-12-2020 07:41 AM | |
| 1 | 12-23-2016 05:32 AM | |
| 1 | 11-23-2015 08:44 AM | |
| 1 | 11-25-2015 01:59 PM |
| Online Status |
Offline
|
| Date Last Visited |
09-22-2021
12:31 PM
|