POST
|
Hi everyone, I have a beginner question with respect to licensing apps developed using the ArcObjects SDK. Here's my environment: Desktop ->10.1 SP1 Desktop Basic, 10.1 SP1 SDK installed, VS.NET 2k10 I have built a very small app, for proof of concept purposes, which pulls from the ArcGIS Desktop Basic license (I think). Will this be okay to give to someone else who has a Desktop Basic license but not the Engine? ''' <summary>
''' This sub bings the ArcGIS runtime object to the application at runtime.
''' </summary>
''' <param name="sender">the sender object</param>
''' <param name="e">the event argument</param>
''' <remarks></remarks>
Private Sub BindingArcGISRuntime(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResolveBindingEvent
'
' TODO: Modify ArcGIS runtime binding code as needed
'
If Not RuntimeManager.Bind(ProductCode.Desktop) Then
' Failed to bind, announce and force exit
MsgBox("ArcGIS runtime binding failed. Application will shut down.")
End
End If
End Sub
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
Debug.Write("Initializing ESRI license...")
'ESRI License Initializer generated code.
m_AOLicenseInitializer.InitializeApplication(New esriLicenseProductCode() {esriLicenseProductCode.esriLicenseProductCodeStandard}, _
New esriLicenseExtensionCode() {})
Debug.WriteLine("Done.")
Debug.Write("Initializing ArcObjects license...")
GISValidationTool.initializeArcObjects()
Debug.WriteLine("Done.")
End Sub
... View more
12-31-2013
07:14 AM
|
0
|
2
|
1013
|
POST
|
Is the related table in the same database as the feature class you are relating it to? I ask because ArcGIS Server needs access to both locations in order for the mapservice to be published correctly. Yes, they are. I exported from SDE to a single FGB, which the server has access to.
... View more
03-15-2013
11:31 AM
|
0
|
0
|
315
|
POST
|
Hi Guys, I'm not sure if I'm doing this wrong or what, but I can't get related tables to show up using the ArcGIS Rest API in 10.1. I have a map document with a table of STATE attributes and a table of child attributes (1 state per many child table). I go into the state TABLE in arcmap --> Joins & Relates --> Relate... to create the relationship. In ArcMap, everything is perfectly okay. However, when I publish to 10.1 Server it pretends no relationship actually exists. What gives? I want to be able to query related records through the REST API like this....but with two non-spatial tables. http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/2
... View more
03-15-2013
10:32 AM
|
0
|
4
|
2318
|
POST
|
Thanks for the response. Using your suggestion I modified the code to read:
//define the filter.
filter = new QueryFilter();
filter.setSubFields(CADASTRE_FIELD_NAME);
filter.setWhereClause(PROV_FIELD_NAME + " = '" + province + "'");
IQueryFilterDefinition2 filterDefinition = (IQueryFilterDefinition2)filter;
filterDefinition.setPrefixClause("DISTINCT " + CADASTRE_FIELD_NAME);
I want to do it this way to avoid bringing another technology stack (Oracle/JNDI/etc) into the overall architecture if at all possible.
... View more
02-25-2013
06:56 AM
|
0
|
0
|
346
|
POST
|
Hi All, Architecture is : 10.1 SP1 java 10.1 ArcMap 10.1 FGDB Implementing SOE in java. Is it not possible to this with a 10.1 FGDB? //define the filter.
filter = new QueryFilter();
filter.setSubFields("DISTINCT " + CADASTRE_FIELD_NAME);
filter.setWhereClause(PROV_FIELD_NAME + " = '" + province + "'"); What I am trying to do is run a particular query off a map service. I could do this with using SDE, but seems it's crapping out when I swapped it out for FGDB. How do you accomplish this task?
... View more
02-21-2013
11:58 AM
|
0
|
2
|
938
|
POST
|
Yeah, the developer kit is a separate install, however the Linux version won't install on linux. Somehow, Server and Runtime do....though. I have the Centos VM running Eclipse, Web Logic, jrockit jdk 1.6_XX, ArcGIS for Server 10.1 SP1, ArcGIS Runtime 10.1. On my local desktop I have ArcMap 10.1, ArcCatalog 10.1, etc. I have configured a shared folder such that I can share files between the Linux VM and the Windows desktop such that I can publish mxds to the Linux Server. What I want is the ability to right my server code (SOE) on the VM but can't get access to either the arcobjects.jar or the eclipse plugins.
... View more
02-12-2013
05:19 AM
|
0
|
0
|
277
|
POST
|
Hi Guys, I have some general questions on how to install ArcGIS products for a developer workstation and on Linux (Centos 6.3). Our organization will execute geospatial applications and services using: ArcGIS Server (java) map services image services Custom Geospatial Applications SOE (java) Python And, in the future, potential utilizing ArcGIS runtime. I have installed and configured ArcGIS for Server 10.1 SP1 fairly easily, but I'm not trying to add the arcobjects stuff to Eclipse and can't find the plugin nor the arcobjects.jar anywhere. How do I get this? What do I need? For some reason, the installer scripts work randomly with different products. For example, I can install Server and runtime perfectly but cannot install the Engine DevKit (which I assume I need to gain access to the arcobjects.jar and the Eclipse plugins). I get the following error: ./Setup
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
Graphical installers are not supported by the VM. The console mode will be used instead...
=======================================================
Installer User Interface Mode Not Supported
The installer cannot run in this UI mode. To specify the interface mode, use the -i command-line option, followed by the UI mode identifier. The valid UI modes identifiers are GUI, Console, and Silent.
=======================================================
What do I need to develop SOE's on server? In 931 all this stuff came pre-packaged.
... View more
02-11-2013
12:03 PM
|
0
|
2
|
1579
|
POST
|
Hi Guys, I was trying to verify the contents of a jar file within a .soe file to ensure some resources were in there when I pooched the server. I accidentally de-registered the soe from server via the web interface while still having the .soe file open in winzip. ArcServer 10.1 partially de-registered the SOE in that it doesn't show up in the web browser as being installed but I can't replace it with the new version. Is there a way to manually remove the SOE? EDIT: - The SOE name shows up as a visible option for SOE for all MapServer services but does NOT should up in the Site->Extensions page. - I deleted the .soe file from <Server_home>/usr/lib/ext and removed the entry from <Server_home>/bin/ServerTypesExt.dat and still nothing.
... View more
11-13-2012
11:38 AM
|
0
|
3
|
739
|
POST
|
Hi Guys, I'm writing a SOE for ArcGIS Server 10.1 and I cannot get this method to release a damn lock when updating a shapefile. Can anyone have a look at this and see what I'm missing because I've tried everything? inFeatureClass is a MapService layer in an SOE. private String convertToShp(IFeatureClass inFeatureClass, String outputPath, String outputFilename, IQueryFilter filter)
throws Exception {
ShapefileWorkspaceFactory outWorkspaceFactory = new ShapefileWorkspaceFactory();
Workspace outWorkspace = null;
IFeatureCursor inFeatureCursor = null;
IFeature inFeature = null;
FeatureClass outFeatureClass = null;
try {
//step 1: create shapefile.
String guid = createFlowpathShapefile(inFeatureClass, outputPath, outputFilename);
//step 2: open and add data.
//get the workspace.
outWorkspaceFactory = new ShapefileWorkspaceFactory();
outWorkspace = new Workspace(outWorkspaceFactory.openFromFile(outputPath + File.separator + guid, 0));
outFeatureClass = new FeatureClass(outWorkspace.openFeatureClass(outputFilename));
//Start/open an edit session for creating output feature.
outWorkspace.startEditing(true);
outWorkspace.startEditOperation();
//determine input feature class indeces.
int stream_length_idx = inFeatureClass.findField(FlowpathConstants.NHN_ATT_STREAM_LENGTH);
int dwn_seg_idx = inFeatureClass.findField(FlowpathConstants.NHN_ATT_DOWSNTREAM_SEGMENT_NUMBER);
int elevation_idx = inFeatureClass.findField(FlowpathConstants.NHN_ATT_ELEVATION);
int shape_len_idx = inFeatureClass.findField(FlowpathConstants.NHN_ATT_SHAPE_LENGTH);
inFeatureCursor = inFeatureClass.search(filter, false);
while ((inFeature = inFeatureCursor.nextFeature()) != null){
//Create a new feature and add the polyline geometry to it.
Feature outFeature = (Feature)outFeatureClass.createFeature();
outFeature.setShapeByRef(inFeature.getShape());
/*
* Add in the attribute data and store in the shapefile.
*/
double streamLength = new Double(inFeature.getValue(stream_length_idx).toString());
outFeature.setValue(2, streamLength);
int downstreamSegment = new Integer(inFeature.getValue(dwn_seg_idx).toString());
outFeature.setValue(3, downstreamSegment);
double elevation = new Double(inFeature.getValue(elevation_idx).toString());
outFeature.setValue(4, elevation);
double shapeLength = new Double(inFeature.getValue(shape_len_idx).toString());
outFeature.setValue(5, shapeLength);
outFeature.store();
}
//close the edit session.
outWorkspace.stopEditOperation();
outWorkspace.stopEditing(true);
//release arcobjects.
Cleaner.release(inFeatureCursor);
Cleaner.release(outFeatureClass);
return guid;
} catch (Exception ex) {
throw new Exception(ex);
} finally {
Cleaner.release(outFeatureClass);
outFeatureClass = null;
}
}
[ATTACH=CONFIG]18004[/ATTACH]
... View more
09-26-2012
08:14 AM
|
0
|
0
|
485
|
POST
|
I am having the exact same issue. Impossible to get a code complete by simply adding and reference the api. [ATTACH=CONFIG]17004[/ATTACH]
... View more
08-16-2012
08:59 AM
|
0
|
0
|
809
|
POST
|
Is there nothing that can be done about this? I'm not sure why this is occurring, as the few posts I've seen regarding geodata services seem to suggest it simply cuts off the query at pre-defined maximum. What is the appropriate way to query a geodata service then? I want to specify a query limit of, say, 150 records. Is there a tutorial somewhere? Does anyone have any experience dealing with this?
... View more
05-11-2010
09:19 PM
|
0
|
0
|
191
|
POST
|
Hi guys, I'm doing a feature query on a geodata service in AGS 9.3.1 and I'm having some problems. What I want to do is limit the amount of records in each chunk. The default is set to 500, but since our test SDE is located on the other side of the country a query with large amounts of data simply takes too long. Anyhow, what I want to do limit the records, unfortunately I keep getting errors. Basically what's going on is the application blows up if I don't specify rpi.setCount(4). It also blows up if the rpi.setCount() value is LESS THAN the number of records retrieved by the query. In the case of this particular query, there should be 5 results returned. If i setCount > 5 then it works fine.....but what if the query returns 6? What's going on here?
// Step 1: establish connection to server.
ServerConnection conn = new ServerConnection();
conn.connect(AGSConstants.AGS_SERVER_URL);
// Step 2: Get reference to SOM.
IServerObjectManager som = conn.getServerObjectManager();
// Step 3: Get Map object reference.
IServerContext context = som.createServerContext("gdsCensusView", "GeoDataServer");
GeoDataServer gs = (GeoDataServer)context.getServerObject();
System.out.println(gs.getConfigurationName());
System.out.println(gs.getPhysicalOutputDirectory());
System.out.println(gs.getDefaultWorkingVersion());
// Step 4: Perform a Query.
IQueryFilter qf = (IQueryFilter)context.createObject(QueryFilter.getClsid());
qf.setWhereClause("BARLEY_FARM_NUM = 40");
ResultPortionInfo rpi = (ResultPortionInfo)context.createObject(ResultPortionInfo.getClsid());
rpi.setCount(4);
rpi.setStartIndex(0);
IGDSQueryResultPortion resPortion = gs.tableSearch(gs.getDefaultWorkingVersion(), "TEST_VIEW", qf, rpi);
IRecordSet recs = resPortion.getRecords();
ICursor cursor = recs.getCursor(true);
IRow row;
int i = 0;
while ((row = cursor.nextRow()) != null) {
System.out.println(row.getValue(0));
System.out.println(row.getValue(1));
++i;
}
System.out.println("#####Record Count is " + i);
... View more
05-06-2010
05:48 AM
|
0
|
1
|
758
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|