|
POST
|
dear Readers, thank you for taking the time to read this question. I am wondering how to add a programmatically created .FDL file into ArcMap. our application programmatically creates an FDL file and it is automatically saved in: C:\Users\FirstName.LastName\AppData\Roaming\Safe Software\Interoperability folder. as soon as the file is saved, a refresh of the Data Interop folders in an open arcmap session lets the users see the newly created FDL file. The users wanted to see whether the application will be able to add the programatically created new FDL file to arcmap TOC. http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/type_changes_between_9_3_and_10/000100000408000000/ Right now, the users can do a refresh, select the newly created FDL, and drag it into ArcMap and start using it. after digging deep, it is evident that workspace factory associated with a FDL file is not present in ArcMap 10. trying to add .dlls present into the project was not an option because they would not add. searching the registy for "Interoperability" or "esriDatasources" did not yield any meaningful directions. any suggestions would be appreciated. thank you for your time. regards ravi.
... View more
09-27-2013
08:48 AM
|
0
|
0
|
798
|
|
POST
|
Problem solved: GP function's input parameter was modified to be 'Feature layer' instead of feature set ALTHOUGH javascript app is sending the graphics drawn as a featureset.
var fsFeatureset2BSent = new esri.tasks.FeatureSet();
fsFeatureset2BSent.features = inputFeatureSetParamWGS;
fsFeatureset2BSent.spatialReference = new esri.SpatialReference(4326);
fsFeatureset2BSent.geometryType = "esriGeometryPolygon";
Rest Service of GP function.... Parameter: InputAOIBBox Data Type: GPFeatureRecordSetLayer Display Name InputAOIBBox Description: some description Direction: esriGPParameterDirectionInput Default Value: Geometry Type: esriGeometryPolygon HasZ: false HasM: false Spatial Reference: 4326 (4326) Fields: FID ( type: esriFieldTypeOID , alias: FID ) Id ( type: esriFieldTypeInteger , alias: Id ) Shape_Length ( type: esriFieldTypeDouble , alias: Shape_Length ) Shape_Area ( type: esriFieldTypeDouble , alias: Shape_Area ) Features: None. Parameter Type: esriGPParameterTypeRequired Category: Hope it helps. regards ravi.
... View more
09-13-2013
07:52 AM
|
1
|
0
|
1242
|
|
POST
|
Readers, good evening. thanks for taking the time to read this entire post. We have a GP service that returns rasters based on a bounding box. the raster services are downloaded from an REST URL of esri image service created from a mosaic dataset. Since it was working well and users could download from a multiple rest service, some users requested a modification that would enable end users to send features to this GP function and download a cookie cut of the rasters based on the feature outline. So working GP function was copied and modified to be a new GP service. One of the input params of the new service: Parameter: InputAOIBBox[INDENT]Data Type: GPFeatureRecordSetLayer Display Name InputAOIBBox Description: Some Description. Direction: esriGPParameterDirectionInput Default Value: [/INDENT] Geometry Type: HasZ: false HasM: false Spatial Reference: N/A Fields: None Features: None. Parameter Type: esriGPParameterTypeRequired Category: name of the parameter was not changed from the previous working GP function - I hope that is not the issue. feature set is created from 2 steps: 1. when users click on a feature based REST service mapserver layer, some features are queried and features are successfully returned as follows:
aoiSelectionLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function (results) {
dojo.forEach(results, function (individualFeature) {
var individualFeatureInGCS = new esri.geometry.webMercatorToGeographic(individualFeature.geometry);
var newGraphicsInGCS = new esri.Graphic(individualFeatureInGCS, null, individualFeature.attributes, null);
inputAttributesList4GP = individualFeature.attributes;
inputFeatureSetParamWGS.push(newGraphicsInGCS);
});
});
Many code lines later:
var fsFeatureset2BSet = new esri.tasks.FeatureSet();
fsFeatureset2BSet.features = inputFeatureSetParamWGS;
fsFeatureset2BSet.spatialReference = new esri.SpatialReference(4326);
fsFeatureset2BSet.geometryType = "esriGeometryPolygon";
gpparams = {
"InputImageServiceURL": inputimageserviceurlwithpipe,
"InputAOIBBox": fsFeatureset2BSet
};
Old function calls to GP were retained because they were working in the previous version of the GP funciton; of course, the new GP function URL was called. using Fiddler the input feature information was also traced:
f=json&InputImageServiceURL=http://myservername.domain.gov:6080/arcgis/rest/services/LiDAR/bare_earth_2m_feet/ImageServer|http://myservername.domain.gov:6080/arcgis/rest/services/LiDAR/bare_earth_2m_hillshade/ImageServer&InputAOIBBox={"geometryType":"esriGeometryPolygon","features":[{"geometry":{"rings":[[[-98.58835071731345,35.241297119115806],[-98.58833275100777,35.24327803182062],[-98.58439813006332,35.243043259509136],[-98.58433524799344,35.24511950356405],[-98.5825835331894,35.245545016982945],[-98.58261048264792,35.24650608217724],[-98.58190081357347,35.24657944546455],[-98.57976282319727,35.246594118114054],[-98.57976282319727,35.240394687285466],[-98.58128995918027,35.24040936105408],[-98.5815145380013,35.24043870858333],[-98.58176606628085,35.24053408798009],[-98.58305065713714,35.241201740616454],[-98.58381422512865,35.24161993781974],[-98.5839579555741,35.24172265259243],[-98.58398490503262,35.24184004074476],[-98.58400287133831,35.2422362245044],[-98.58403880394967,35.24243431565839],[-98.5840657534082,35.242463662454874],[-98.58413761863092,35.24241964225617],[-98.58410168601957,35.24183270399022],[-98.58403880394967,35.24162727459353],[-98.58396693872695,35.24154657004533],[-98.58325726965249,35.24119440380416],[-98.58214335870018,35.24058544607032],[-98.58164928529392,35.2403800135142],[-98.58128995918027,35.24030664461804],[-98.58835071731345,35.240328655293865],[-98.58835071731345,35.241297119115806]]],"spatialReference":{"wkid":4326}},"attributes":{"OBJECTID":24298014}},{"geometry":{"rings":[[[-98.58850343091174,35.247247048328674],[-98.58809020588104,35.24726172085735],[-98.58789257651854,35.24721036699533],[-98.58778477868445,35.24714434055352],[-98.58778477868445,35.247019623794486],[-98.5878835933657,35.2468142075379],[-98.58773986292024,35.24671883552758],[-98.58764104823899,35.24673350815185],[-98.58756019986342,35.24682154384174],[-98.58751528409921,35.247026960079744],[-98.58741646941796,35.24714434055352],[-98.58731765473671,35.24715167682748],[-98.58731765473671,35.2474451272419],[-98.58418253439513,35.247423118497665],[-98.57975384004443,35.247430454746414],[-98.57976282319727,35.246594118114054],[-98.58190081357347,35.24657944546455],[-98.58261048264792,35.24650608217724],[-98.5825835331894,35.245545016982945],[-98.58433524799344,35.24511950356405],[-98.58439813006332,35.243043259509136],[-98.58833275100777,35.24327803182062],[-98.58835071731345,35.240328655293865],[-98.5884495319947,35.240328655293865],[-98.58850343091174,35.247247048328674]]],"spatialReference":{"wkid":4326}},"attributes":{"OBJECTID":24298016}}],"sr":{"wkid":4326}} after sending this amount of information, server returns an error: <Msg time='2013-09-10T14:16:29,939' type='SEVERE' code='20010' target='ElevationClipNShipGP/ElevationClipNShipFeatSet.GPServer' methodName='GPServerSync.CheckMessages' machine='GISDEV1.GDW.ONE.USDA.GOV' process='12904' thread='19120' user='null' >ERROR 000735: InputAOIBBox: Value is required
ERROR 000735: InputAOIBBox: Value is required</Msg>
Any suggestions: i went round and round; no solutions for me till now. regards ravi.
... View more
09-10-2013
02:15 PM
|
1
|
1
|
2262
|
|
POST
|
To get intellisense to work in VS 2012 http://blogs.msdn.com/b/webdev/archive/2012/03/15/vs11-beta-javascript-feature-comparison-with-vs2010sp1.aspx tools->option->Text Editor->JavaScript->IntelliSense->References, "implicit (Web) " reference group for web projects and web sites. at the same place, I added jsapi_vsdoc12_v35.js to the bottom of the list and i can see all esri.geometry.* as it is in code behind C# or VB.net. also edit -> intellisense -> Refresh Remote References. hope it helps. regards ravi.
... View more
09-04-2013
01:20 PM
|
0
|
0
|
1009
|
|
POST
|
John, good morning. Thank you for the reply. that helped me.
... View more
07-24-2013
07:47 AM
|
0
|
0
|
662
|
|
POST
|
dear Readers, thank you for taking the time to read this query. being the 1st js app, a lot of things are not very evident to me. the app currently is able to do a geometry service buffer associated with a REST service and is able to display the yellow color (255,255,0,0.75) for the selected features. i do not know whether i am going down the right path by doing a convex hull to get the extent. all i need is a minimum bounding rectangle of the bufffered selection to be sent to a geo processing service for additional work. the code works even when it calls the convex hull function and i do see results (polygons on the firebug window) and nothing gets added. if i do not have to do a convex hull, that is also fine. further, all the time, i will be using a polygon layer to do the buffer and i need to use the results of the buffer for a MBR to a gp service. regards ravi. geometryService.on("buffer-complete", function (result) { map.graphics.clear(); //draw the buffer geometry on the map as a map graphic var symbol = new esri.symbol.SimpleFillSymbol( esri.symbol.SimpleFillSymbol.STYLE_NULL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SHORTDASHDOTDOT, new dojo.Color([0, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.75]) ); var bufferGeometry = result.geometries[0] var graphic = new esri.Graphic(bufferGeometry, symbol); var envelope = graphic.geometry.Extent; map.graphics.add(graphic); //Select features within the buffered polygon. To do so we'll create a query to use the buffer graphic // as the selection geometry. var query = new esri.tasks.Query(); query.geometry = bufferGeometry; query.outFields = ["*"]; var geoms4ConvexHullOp; clulayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function (results) { ??? geoms4ConvexHullOp = dojo.map(results, function(eachfeatureresult) { return eachfeatureresult.geometry; } ); //var totalPopulation = sumPopulation(results); //var r = ""; //r = "<b>The total Census Block population within the buffer is <i>" + totalPopulation + "</i>.</b>"; //dojo.byId('messages').innerHTML = r; }); geometryService.convexHull(geoms4ConvexHullOp, function (hullresults) { //var symbol4Hull = new esri.symbol.FillSymbol( //esri.symbol.SimpleFillSymbol.STYLE_BACKWARD_DIAGONAL, //new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([128, 128, 128, 10])), //new dojo.Color([255, 255, 255, 0.75]) //); var symbol4Hull = new esri.symbol.SimpleFillSymbol(); var hullgraphics = new esri.Graphic(hullresults, symbol4Hull); map.graphics.add(hullgraphics); }, function (errors) { alert(errors); }); //http://forums.arcgis.com/threads/88350-Creating-a-minimum-bounding-polygon-around-different-geometry-types });
... View more
07-22-2013
12:09 PM
|
0
|
2
|
1111
|
|
POST
|
dear Readers, thank you for taking the time to read this article. Our issue at hand: 0. this is our 1st javascript project (any after 1999) and with esri api too - till now we had been developing with SL 5.x and ESRI SL 3.x. 1. we have DEMs from different sources housed on our servers for internal consumptions: of varying resolutions (30, 10, 5, 3, and 1 meter) resolutions and lidar data that has helped in creating finer resolutions. 2. we have housed it on Image server (version 10.11), and we have created image services on image server for DEM and their derivatives such as hillshade, aspect, slope in units and percentage for internal users. QUESTIONS: Is there sample code for us to extract raster data from image server by providing an area of interest using Javascript API? Do we need to have house raster data in a different format to efficiently extract it using JS API? regards Ravi.
... View more
07-11-2013
01:03 PM
|
0
|
1
|
543
|
|
POST
|
dear Readers, thank you reading this question of mine. Using http://developers.arcgis.com/en/javascript/samples/graphics_undoredo/ (without undo and redo), we had created the application and integrating the 2nd link: https://developers.arcgis.com/en/javascript/jssamples/query_buffer.html, we were able to do a map click as explained in the 2nd link to query our layer exposed by webservice. Questions: 1. instead of sending a evt.MapPoint as indicated in the query buffer lnk with a predetermined buffer, how to send a polygon or a polyline intersect - we want the result as it comes out from query buffer. 2. another question i had was: in that query_buffer example, example run as-is, returns only Object id for our server - even though i had set query out params = ["*"] and verified that rest service /0 layer queried had all columns exposed in a queriable fashion. I have 1 idea, i can disable the map-click function in the query buffer and try to use the graphics point button to do the selection. but i am not still sure about how to set up the query task to ensure that it does not fail. when i try to send the polyon geometry in the query buffer code, it does not return anything. wanted to see whether there are any examples that i can use to move forward.
function addToMap(geometry) {
var symbol;
toolbar.deactivate();
// map.showZoomSlider();
switch (geometry.type) {
case "point":
symbol = new esri.symbol.SimpleMarkerSymbol();
break;
case "multipoint":
symbol = new esri.symbol.SimpleMarkerSymbol();
break;
case "polyline":
symbol = new esri.symbol.SimpleLineSymbol();
break;
default:
symbol = new esri.symbol.SimpleFillSymbol();
break;
}
var graphic = new esri.Graphic(geometry, symbol);
graphicsDrawnOnScreen = graphic;
map.graphics.add(graphic);
var params = new esri.tasks.BufferParameters();
//params.distances = [100];
params.geometries = graphicsDrawnOnScreen;
// params.unit = esri.tasks.GeometryService.UNIT_METER;
//params.geometries = [evt.mapPoint];
//params.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;
geometryService.buffer(params);
geometryService.intersect(graphicsDrawnOnScreen);
toolbarItemClicked == false;
}
i tried the above code without commenting out the above lines.
... View more
07-02-2013
02:10 PM
|
0
|
1
|
810
|
|
POST
|
dear Readers, thank you for taking the time to help me. to improve coding experience, we had downloaded from URL: https://developers.arcgis.com/en/javascript/jsapi/api_codeassist.html, jsapi_vsdoc12_v35.js; we had dropped it in our /scripts folder and included the same in our common functions .js file with the statement:
/// <reference path="jsapi_vsdoc12_v35.js" />
I was able to use intellisense to some extent and was pleased with the progress. While debugging on VS 2012, I was using firefox to get maximum benefits from firebug feature. things looked good on code and i had published it on the server - only to realize that IE browser did not like the vsdoc*.js file and bombed on line 1132 -first line after the beginning braces below @ esri.arcgis.utils.createMap: Then I went to debug session and tried the same with IE and got SCRIPT1003 : Expected':' after esri. location in the 1st line after the beginnning braces. thank you for your support. regards ravi.
esri.arcgis.utils.prototype =
{
esri.arcgis.utils.createMap: function (itemId/itemInfo,mapDiv,options) {
/// <summary>Create a map using information from an ArcGIS.com item.</summary>
/// <param name="itemId/itemInfo" type="String|Object" optional="false">An itemId for an ArcGIS.com item or the response object obtained from calling the esri.arcgis.utils.getItem method. You can discover the item's unique ID by browsing to the item in ArcGIS.com then extracting the id from the item's URL.</param>
/// <param name="mapDiv" type="String" optional="false">Container ID for referencing map.</param>
/// <param name="options" type="Object" optional="true">Optional parameters that define the map functionality: <Object> mapOptions See the optional parameters for the esri.map constructor for more details. <String> bingMapsKey The Bing Maps Key, required if working with Microsoft Bing Maps. <Boolean> ignorePopups When true, webmap defined popups will not display. <String> geometryServiceURL URL to the ArcGIS Server REST resource that represents a geometry service. For more information on constructing a URL, see The Services Directory and the REST API. </param>
/// <return type="dojo.Deferred">dojo.Deferred</return>
},
esri.arcgis.utils.getItem: function (itemId_or_itemInfo) {
/// <summary>Get details about the input ArcGIS.com item.</summary>
/// <param name="itemId_or_itemInfo" type="String" optional="false">The itemId for a publicly shared ArcGIS.com item. You can discover the item's unique ID by browsing to the item in ArcGIS.com then extracting the id from the item's URL.</param>
/// <return type="dojo.Deferred">dojo.Deferred</return>
},
esri.arcgis.utils.getLegendLayers: function () {
/// <summary>Can be used with esri.dijit.Legend to get the layerInfos list to be passed into the Legend constructor. It will honor show/hide legend settings of each layer and will not include the basemap layers.</summary>
/// <return type="Array">Array</return>
},
};
... View more
06-24-2013
02:47 PM
|
0
|
0
|
1451
|
|
POST
|
thank you for the highlight of the Deactivation problem. it helped me fix it. Protected Function OnDeactivate() As Boolean
'Do other units of work.
Me.m_deactivate = True
Me.m_enabled = False
End Function
the compiler did not like the over ride word and the above function works. thanks for your help.
... View more
04-04-2013
12:38 PM
|
0
|
0
|
836
|
|
POST
|
dear Readers, thank you for taking the time to read this post. we have ported an ArcGIS 9.2 sp5 Arcobjects app to ArcGIS 10.0 sp. the app compiled successfully and as a developer of this app (to do com overwrite), i had admin priv on my machine. to do a clean install on other users machines, i had done the new esriRegASM changes to installer app. after ESRIRegASM changes, the toolbar showed up fine and is working. Now when the app was deployed on a non-admin user machine, tests were conducted for the same dataset used for testing as the developer machine (as admin). When the non-admin user tries the app, the following statements return a empty record set, where as on my dev machine, it returns 19 records.
pSourceFeatureSel.SelectFeatures(pSpatialFilterParam, esriSelectionResultEnum.esriSelectionResultNew, False)
If pSourceFeatureSel.SelectionSet.Count > 0 Then
.... do my code processing.
End if
another thing to be pointed out is that the non-admin user (business user) had downloaded the data from a national database and all records probably the non-admin business users' id or credentials - which shud say that the non-admin business user should have NO problem on the dataset downloaded and being tested on. Admin dev machine = arcmap 10.0 sp4 = vb.net vs 2010, Win 7 64 bit machine OS non-admin business user machien = arcmap 10.0 sp5, win 7 64 bit regards ravi.
... View more
03-07-2013
07:44 AM
|
0
|
0
|
616
|
|
POST
|
dear Readers, we have a silverlight 5, esri api 3.x web application that does the following well: 1. uses editor object from esri, 2. successfully retrieves data from feature service, selects into graphic container on click, edits data and commits it back to the server when users click a save button. we are using explicit save to minimize server roundtrips. Question: there is a button for creating a new Mappoint object - after clicking the button users should be able to we need to click on the map and create the point object of interest, provide attributes for the feature and click that save button on step 2 to commit it. any sample code that i can use. the preivous proj used esritoolbar and it was all built in. i do not want to use the esri toolbar from codeplex. thanks for your suggestions. regards ravi.
... View more
02-05-2013
01:26 PM
|
0
|
1
|
587
|
|
POST
|
I also wanted to add that this toolbar is supposed to be deployed by a script like microsoft updates in a large enterprise environment - and since the msi is getting installed correctly (per esri's web site guidance), the next step of making it available for end users needs to be addressed. the main concern is how will the admin user (only ITS support staff in remote offices) make this toolbar available to non-admin user who is desired audience of this toolbar. should they have to log into each machine and start ArcMap as administrator and then add this toolbar? need directions on enabling the toolbar. regards ravi.
... View more
01-31-2013
06:59 AM
|
0
|
0
|
422
|
|
POST
|
dear Readers, i had migrated a 9.2 sp5 toolbar to arcgis 10.0 using methodologies indicated in esri's website. re-compile and re-adjustment of libraries allowed me to completely test the toolbar and its functions on my dev machine. each time, i had to start visual studio 2010, i ran it as an administrator during the dev process. the project was set with following hi-level options: 1. vb.net 2010 2. arc objects 10.0 (not 10.1) 3. framework = .net 3.5 4. target cpu = x86 (not any) 5. windows 7 OS (64 bit) i was able to debug the app on my machine and test the functions that were already working in 9.2 sp5 version of the tool. i saw that we had to change the installer.vb file (in my proj, it was old style 9.2 already part of the toolbar proj). then i changed the custom action conditions /arg1="[ProgramFiles]...\MyProject.dll" for both install and uninstall. after making all the above mentioned changes, i ran .msi file on my workstation as an admin. the installer works fine on my workstation - both installation and the toolbar automatically showing up. i sent the .msi file to my colleague in another state and requested her to test it. she is not an admin and had to request ITS staff to install it for her. after a successful installation by the ITS staff as an admin user, she tried to add the toolbar from .tlb and expected her to be admin. QUESTIONS: 1. http://forums.arcgis.com/threads/13040-toolbar-not-listed-after-install?highlight=toolbar Is DonDuncan's methodology the suggested way to install the toolbar. 2. will not the toolbar show up automatically after installation as it did in the 9.2 / XP world for all users? 3. if the admin user enables toolbar 1 time and selects all users during installation, will it be available to non-admin users? thank you for your time. regards ravi.
... View more
01-29-2013
12:16 PM
|
0
|
1
|
644
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 09-13-2013 07:52 AM | |
| 1 | 09-10-2013 02:15 PM | |
| 1 | 03-20-2023 06:38 AM | |
| 1 | 05-17-2022 07:41 AM | |
| 1 | 01-04-2021 10:08 AM |
| Online Status |
Offline
|
| Date Last Visited |
03-10-2025
08:54 PM
|