|
POST
|
Based on your needs, it sounds like you could make use of Web AppBuilder for ArcGIS | ArcGIS Once you get your training nailed-down, you could slowly make your way into Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers to customize and increase your capabilities, and then, you could have full control with the JSAPI, if needed - ArcGIS API for JavaScript Like you, I started as a GIS Analyst, then, through self-training over the years, moved into web development - not really doing anything with GIS. When a need came about for GIS, I developed our mapping application, but the Web AppBuilder wasn't an option, so I had to jump right into the JSAPI. It was a bit of a learning curve, even with a couple of years of ASP.NET and JavaScript experience under my belt, which is why I would recommend you start with the Web AppBuilder. Here's some questions clarifying the Web AppBuilder: Clarifying 3 questions about Web AppBuilder for ArcGIS | ArcGIS Blog
... View more
09-18-2015
06:53 AM
|
2
|
0
|
3149
|
|
POST
|
It's a unique set-up... Maps are really a small aspect of what we do, which I'm trying to change! I'm really trying to push spatial types through, now, which was my eventual intention when going with ArcGIS Server, but things were complicated with scale and also software version (e.g. SQL 2005) at the time. So, I developed a solution that would work without a need for spatial types, happily (or unhappily?) isolated from SQL, but now it's starting to hurt! We looked at CartoDB, but at the time, it was still pretty nascent, and it used PostgreSQL as its back-end, which nixed it from consideration. It does seem quite capable.
... View more
09-18-2015
06:17 AM
|
0
|
0
|
3655
|
|
POST
|
Ahh! This looks promising! Thanks - I'll let you know how it goes!
... View more
09-17-2015
12:27 PM
|
1
|
0
|
3655
|
|
POST
|
I wasn't able to find an easy solution - I ended-up just showing it briefly, then hiding the container as a workaround.
... View more
09-17-2015
11:57 AM
|
0
|
0
|
1129
|
|
POST
|
I'm hoping to obtain some advice/best-practices recommendations from the community on automatically updating map services from SQL Server... Here's a bit of the back story: I currently utilize ArcGIS Server to publish map services and spatial utilities that are consumed by a JS/ASP.NET application. Unfortunately, I am unable to utilize SQL Server spatial datatypes (not by my choice - maybe it will change in the future), so, when I display data using the JSAPI, it's through AJAX SQL calls that return a JSON object, or, through binding JSON data, obtained from a SQL proc call, to the map service template through a PK (say, to create a choropleth). This works fairly well, but I would really, really like to tap into the map services' inherent abilities to pipe-in data for consumption, like serving-up on-demand features based on map extent/zoom level, etc. If you can imagine, sending large JSON objects can be problematic, and it leads to performance issues in the users browser, like when trying to show tens of thousands of points. I can make connections to SQL through ArcGIS to access a table with the data I need - x/y coordinates are also available for spatial representation (I need to show points on the map). I came across this thread that would seem to do what I need: Auto-updating map service via REST in ArcGIS for Server? - Geographic Information Systems Stack Exchange It would probably work well if I had spatial datatypes enabled, but I since I do not, would I just create a Python process to kick-off at set intervals that would pull data from the table, then create a feature class and overwrite the map service on the server? Any ideas would be appreciated!
... View more
09-17-2015
11:49 AM
|
1
|
5
|
6662
|
|
POST
|
No problem - Chris, if it ends-up working out for you, would you mind marking an answer in case anyone else perusing the forums has the same question?
... View more
09-17-2015
08:18 AM
|
0
|
1
|
13166
|
|
POST
|
Cool! Someone created a widget that does this! The amount of stuff being created on the Esri github is pretty nice - Esri · GitHub - I need to check this more often before trying to reinvent the wheel.
... View more
09-16-2015
02:43 PM
|
1
|
0
|
1180
|
|
POST
|
In looking at the documentation for AGOL, I'm afraid it doesn't seem so (I'm looking here: Overview—Web AppBuilder for ArcGIS | ArcGIS). You have some tools at your disposal, like the SearchWidget with FeatureLayer as the source, and the GeoLookup widget, but none of them would appear to do exactly what you need. It doesn't seem like you could use the Geoprocessing widget, either. The process itself is certainly doable - I do some similar things with the JSAPI and ArcGIS Server, but you'd need to code a few things. Basically, you'd geocode an address using the search widget, then, on a processing/selection event, you'd execute a map service query using the returned x/y point geometry - you could check to see if is contained by, or intersects, the city limits polygon feature, and if so, return a response to the user. One thing to consider as well, if the city limits polygon extent is coincidental with zip codes, you could do some simple processing in ArcMap to obtain the "sub regions" list. Then, you could do a simple JS look-up, on the front-end, against the zips list when the user enters an address... just make sure you validate the input first so they can't execute a search without zip. Technically, you wouldn't even need the address at this point, but, it would only be valid if zips did not bleed in/out of the city limits. If it's not coincidental, you might be 80, 90% valid, etc., but it won't be 100% accurate. Neither is geocoding, though! Even if the confidence score is 100, it may not be rooftop and could theoretically place the point outside of the city limits, when, in fact, it is not. Just some things to consider.
... View more
09-16-2015
02:34 PM
|
0
|
0
|
1180
|
|
POST
|
Chris, I had some time over lunch to look at this some more. I think I got it to work! Here's the updated app: http://code.runnable.com/Vfig_eplbl55NWA1/terraformer-demo-for-node-js Running this produces the following result from your demo JSON object: {
"features" : [{
"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [-0.04996120589815041, 45.24017485407551],
"bbox" : [-0.04996120589815041, 45.24017485407551, -0.04996120589815041, 45.24017485407551]
},
"properties" : {
"EXTERNALNUM" : "FILE1",
"STATUS" : "OPEN",
"FILECLERK" : "JANE DOE",
"OBJECTID" : 1111111
},
"id" : 1111111,
"bbox" : [-0.04996120589815041, 45.24017485407551, -0.04996120589815041, 45.24017485407551]
}, {
"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [-0.04024912410280926, 45.31520080539314],
"bbox" : [-0.04024912410280926, 45.31520080539314, -0.04024912410280926, 45.31520080539314]
},
"properties" : {
"EXTERNALNUM" : "FILE2",
"STATUS" : "HOLD",
"FILECLERK" : "BOB BROWN",
"OBJECTID" : 2222222
},
"id" : 2222222,
"bbox" : [-0.04024912410280926, 45.31520080539314, -0.04024912410280926, 45.31520080539314]
}
],
"type" : "FeatureCollection",
"bbox" : [-0.04996120589815041, 45.24017485407551, -0.04024912410280926, 45.31520080539314]
} This works perfectly in Ogre: Only thing to be aware of, the console log in the Runnable app puts in newlines. I copied the output into Notepad++, then use The JSTool >> JSFormater to pretty print and make it human readable. You can use any pretty print tool - I just needed to easily find where console.log was adding newlines. It probably wont matter if you write to file... I think it's something wonky with JSON stringify. Also, Terraformer should allow you to adjust your PK, but I just changed it to OBJECTID as I had time getting it to work. Probably PEBKAC, but here's the documentation on it: Terraformer So, you could keep RPID instead of the default OBJECTID. Hope this helped you!
... View more
09-16-2015
11:45 AM
|
1
|
3
|
13166
|
|
POST
|
Ok, so, with a fresh brain, I realized I was going about this the wrong way. I had to ensure query capabilities were enabled for the layer (curiously, they had been disabled on my targeted service) - everything I needed to do was available for me to hit from asp.net by loading the service URL with querystring params: http://yourGISserver.com/arcgis/rest/services/base_services/yourMapLayer/MapServer/0/query?where=& text=& objectIds=& time=& geometry=%7B%22x%22+%3A+-104.53%2C+%22y%22+%3A+34.74%7D%0D%0A& geometryType=esriGeometryPoint& inSR=4326& spatialRel=esriSpatialRelWithin&relationParam=& outFields=yourTargetField& returnGeometry=false& maxAllowableOffset=& geometryPrecision=& outSR=& returnIdsOnly=false& returnCountOnly=false& orderByFields=& groupByFieldsForStatistics=& outStatistics=& returnZ=false& returnM=false& gdbVersion=& returnDistinctValues=false& returnTrueCurves=false& resultOffset=& resultRecordCount=& f=pjson This returns a JSON object with the attributes I need! {
"displayFieldName": "DisplayField",
"fieldAliases": {
"yourTargetField": "yourTargetField"
},
"fields": [
{
"name": "yourTargetField",
"type": "esriFieldTypeString",
"alias": "yourTargetField",
"length": 6
}
],
"features": [
{
"attributes": {
"yourTargetField": "FOO123"
}
},
{
"attributes": {
"yourTargetField": "BAR321"
}
},
{
"attributes": {
"yourTargetField": "BIZ789"
}
},
{
"attributes": {
"yourTargetField": "BAT987"
}
}
]
}
... View more
09-16-2015
08:16 AM
|
0
|
0
|
3021
|
|
POST
|
I gotta head-out, but I started a runnable node.js app: http://code.runnable.com/Vfig_eplbl55NWA1/terraformer-demo-for-node-js I can get it to convert some test stuff from your example, but it's not recognized by Ogre... I'll have to look into it some more to see if Terraformer will work.
... View more
09-15-2015
03:53 PM
|
0
|
5
|
13166
|
|
POST
|
Chris, I haven't used this, but you might want to check-out this: Terraformer Sounds like it's a two-way conversion between GeoJSON and ArcGIS Geometry. Once you convert to GeoJSON, you should be able to use JSON toolset, or maybe something like Ogre - Ogre - ogr2ogr web client
... View more
09-15-2015
03:10 PM
|
0
|
7
|
13166
|
|
POST
|
I couldn't find anything Esri-supported, but, I did find a research paper written about 6 years ago that discussed creating new algorithms for doing what you've discussed: GIS-Based Geocoding Methods for Area-Based Addresses and 3D Addresses in Urban Areas Would be interesting to see this developed, especially considering Esri just released the beta for the JSAPI v4, which supports 3D.
... View more
09-15-2015
09:24 AM
|
0
|
0
|
1560
|
|
POST
|
If this indeed turns-out to be your issue, I'm afraid I do not believe this is possible, at least with iOS Safari. You would need to make the parent page unsecured, or add an ssl to the GIS server.
... View more
09-14-2015
01:57 PM
|
0
|
0
|
2599
|
|
POST
|
Possibly - especially if it's loading everything else except the service. I have run into issues in the past when displaying mixed content, just an FYI. We had every intention on adding an SSL to the GIS server before deployment, but, while testing, we had to override IE's setting to allow mixed content on a desktop machine (the map service wouldn't load). Chrome was not affected - it displayed well, but testing in Safari on iOS suffered the same issue as IE, until we pushed the SSL and the service displayed.
... View more
09-14-2015
01:32 PM
|
0
|
2
|
2599
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-16-2020 01:25 PM | |
| 1 | 03-20-2019 09:07 AM | |
| 2 | 07-31-2015 07:31 AM | |
| 1 | 09-14-2015 12:14 PM | |
| 1 | 05-12-2015 12:04 PM |
| Online Status |
Offline
|
| Date Last Visited |
07-27-2023
02:30 AM
|