POST
|
Did you ever find an answer to this? I am trying to do the same thing. Cheers, Jeff
... View more
06-20-2014
08:16 AM
|
0
|
1
|
259
|
POST
|
Hunter, Did you get it figured out? I tried to bring in your excel field and the first column (FipsCode) came across as a double. I imagine this is your problem. I don't what the actual fix for this would be but if you add a new row right under your heading, populate it with text (ie. eee). Then import the excel into ArcMap. The FipsCode will now be a string type. Hope you have already figured this out. Cheers, Jeff
... View more
10-08-2013
01:24 PM
|
0
|
0
|
503
|
POST
|
Hunter, Take a look at the column headings in your excel table. If there are any spaces or weird characters them the join may not work or the fields will not show up. This has happened to us a few times and that was usually the problem. A way to check to see if you if you excel sheet is causing the problem is to export it to a database table. you can right click the excel in the TOC and go to export data. I find that it that fails there is usually something going on in my excel table. Another possible cause is that your field types don't match up. Cheers, Jeff
... View more
10-07-2013
02:37 PM
|
0
|
0
|
503
|
POST
|
Figured it out. Wasn't a GraphicLayer problem but a projection problem. Jeff
... View more
09-27-2013
07:02 AM
|
0
|
0
|
188
|
POST
|
Hello everyone, I am having trouble adding and populating an AGSGraphicsLayer. Through my log I know there are features in the Graphics Layer and that there is a symbol attached to each graphic. My problem is that the Graphics Layer doesn't display. I have attached my code for both creating and populating the Graphics Layer. Any help would be fantastic, I can't figure out what I am doing wrong Cheers, Jeff Creating
-(void) didOpenWebMap:(AGSWebMap *)webMap intoMapView:(AGSMapView *)mapView
{
// Add Graphic Layer
self.NonRelatedPermitsLayer = [AGSGraphicsLayergraphicsLayer];
[self.mapViewaddMapLayer:self.NonRelatedPermitsLayerwithName:@"Non Related Permit Sketch"];
}
Populating
-(void) PrintintOrientationChange
{
//Create the AGSSimpleFillSymbol used for the fill
AGSSimpleFillSymbol* myFillSymbol = [AGSSimpleFillSymbolsimpleFillSymbol];
myFillSymbol.color = [UIColor colorWithRed:0.7 green:0.1 blue:0.1 alpha:0.5];
//Create the AGSSimpleLineSymbol used for the outline
AGSSimpleLineSymbol* myOutlineSymbol = [AGSSimpleLineSymbolsimpleLineSymbol];
myOutlineSymbol.color = [UIColor redColor];
myOutlineSymbol.width = 50;
//set the outline property to myOutlineSymbol
myFillSymbol.outline = myOutlineSymbol;
for (AGSGraphic *graphic inAppDelagate.NonRelatedFeatureSet.features)
{
//set the graphics???s symbol to fillSymbol
graphic.symbol = myFillSymbol;
//add the graphic to the layer
[self.NonRelatedPermitsLayer addGraphic:graphic];
}
}
... View more
09-25-2013
09:40 AM
|
0
|
1
|
450
|
POST
|
Has anyone else had this error. We are getting it on multiple computers. I have tried to uninstall and re-install the SP. The error report comes up as a general function error. Any help or ideas would be great. Cheers, Jeff
... View more
09-10-2013
09:25 AM
|
0
|
0
|
441
|
POST
|
Divesh, I am having the same problem as Vikrant. I edit a feature, in my case I am cutting a feature into 2 pieces. When the editing is finished I am left with 3 feature (left and right cuts of the geometry and the original geometry). After I reload the map or restart the app the original feature is gone. I am assuming that I am doing something wrong to refresh but I am not sure, previously I used the datachanged method and everything worked. I am adding my layer through a WebMap through ArcGIS Online. When I am editing the layer I am using a AGSFeatureLayer as my active (editing) layer. Does this make any difference? Cheers, Jeff
... View more
08-26-2013
07:11 AM
|
0
|
0
|
545
|
POST
|
Figured it out. It was the GlobalID field that was causing the problem, probably more so that it is uneditable and I was apparently trying to edit it. Jeff
... View more
08-23-2013
01:14 PM
|
0
|
0
|
356
|
POST
|
Divesh, I checked the attributes and they are as expected. I probably should have put the DidFeatureEditsWithResults method in earlier. I am getting an error in the description comes up as <AGSEditResultsError: 0x98a7790> and a code of 0x000003e8. I don"t know what this means. Cheers, Jeff
... View more
08-23-2013
11:50 AM
|
0
|
0
|
356
|
POST
|
Hey Everyone, I am trying to transfer attributes from one graphic to another. When I run it, it seems like it is going to work. The attributes in the popup look are the ones I am trying to copy. When I refresh the map the attributes revert back to the old ones. I don't know what I am missing. This worked before I upgraded to 10.0.1 sdk, minus the changes to the setAllAttributes. Cheers, Jeff Code Posted below Where I assign the attributes -(void) DoneAssociatingFeatures { NSNumber *numberSketch = [NSNumber numberWithInteger:[self.activeFeatureLayer objectIdForFeature:GraphictoEdit]]; for (AGSGraphic *graphic in self.activeFeatureLayer.graphics) { NSNumber *number = [NSNumber numberWithInteger:[self.activeFeatureLayer objectIdForFeature:graphic]]; AGSGeometryEngine *geometryEngine = [AGSGeometryEngine defaultGeometryEngine]; if ([geometryEngine geometry:self.editGeometrySketchGraphicsLayer.geometry withinGeometry:graphic.geometry]) { if ([numberSketch isEqualToNumber:number]){} else { for (id key in graphic.allAttributes) { if (![key isEqual: @"OBJECTID"]) { id value = [graphic.allAttributes objectForKey:key]; NSLog(@"Graphic Value %@",value); [self.popupVC.currentPopup.graphic setAttribute:value forKey:key]; } } } } } [self presentModalViewController:self.popupVC animated:YES]; self.mapView.touchDelegate = self; [self.editGeometrySketchGraphicsLayer clear]; } Finished editing graphic -(void) popupsContainer:(id<AGSPopupsContainer>)popupsContainer didFinishEditingGraphicForPopup:(AGSPopup *)popup { [self.bezierImageView removeFromSuperview]; self.activeFeatureLayer = (AGSFeatureLayer*) popup.featureLayer; popup.graphic.geometry = [[AGSGeometryEngine defaultGeometryEngine]simplifyGeometry:popup.graphic.geometry]; popup.graphic.geometry = [[AGSGeometryEngine defaultGeometryEngine]normalizeCentralMeridianOfGeometry:popup.graphic.geometry]; int oid = [self.activeFeatureLayer objectIdForFeature:popup.graphic]; if(oid >0) { //Has valid oid and is only updated on server [self.activeFeatureLayer updateFeatures:[NSArray arrayWithObject:popup.graphic]]; } else { // does not have valid oid and is add as a new feature [self.activeFeatureLayer addFeatures:[NSArray arrayWithObject:popup.graphic]]; } if (AppDelagate.ActiveProject != nil) { if ([popup.graphic.geometry isEqual:AppDelagate.ActiveProject.geometry]) { AppDelagate.ActiveProject.allAttributes = popup.graphic.allAttributes; } } [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; }
... View more
08-22-2013
02:10 PM
|
0
|
3
|
2314
|
POST
|
Hey Everyone, I am currently updating my app to 10.1.1 ios sdk. After I perform a cut operation on a feature and then try to delete the feature that was cut, the feature is not removed right away. The feature will remain until I reload the map. It worked fine until I upgraded and had to remove the [dataChanged] method. I have tried the AGSFeatureLayer and AGSLayer refresh methods and it still doesn't seem to work. I am loading the layer through a web map and the update method is onDemand. Does anyone have any ideas? Any help would be great. Cheers, Jeff
... View more
08-21-2013
02:12 PM
|
0
|
3
|
847
|
POST
|
Humza,Thanks for the suggestion. I moved the first lines to my print button and now it works.Thanks,Jeff
... View more
08-21-2013
08:15 AM
|
0
|
0
|
326
|
POST
|
Humza, I have tried that but maybe I am putting it in the wrong spot or doing something else wrong. I am attaching my code for both calling the get image process and the process itself. Any help would be greatly appreciated. Calling
-(void) PrintPermitFinal
{
CAEAGLLayer *eaglLayer = (CAEAGLLayer *) self.mapView.layer;
eaglLayer.drawableProperties = @{
kEAGLDrawablePropertyRetainedBacking: [NSNumber numberWithBool:YES],
kEAGLDrawablePropertyColorFormat: kEAGLColorFormatRGBA8
};
// reset buttons
[selfsettoInitialMapView];
// create image and pdf
UIImage *screenshot = [[UIImage alloc] initWithData:[self getImage]];
// use clip path Rect to clip image to right size
CGImageRef imageref = CGImageCreateWithImageInRect([screenshot CGImage], clipRect);
screenshot = [UIImage imageWithCGImage:imageref];
//save image to photo album for testing only
UIImageWriteToSavedPhotosAlbum(screenshot,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);
//Send Image to Dictionary
if (AppDelagate.PermitImages == nil)
{
AppDelagate.PermitImages = [[NSMutableDictionaryalloc] init];
}
NSString *Key= [selfCreatePermitID:[AppDelagate.GraphicToPrint.allAttributesvalueForKey:@"Full_Name"] AndAddress:[AppDelagate.GraphicToPrint.allAttributesvalueForKey:@"Owner_Address"]];
[AppDelagate.PermitImages setObject:screenshot forKey:Key];
self.tabBarController.selectedViewController = [self.tabBarController.viewControllersobjectAtIndex:1];
}
Getting the image virtually unchanged from Bernese
- (NSData *)getImage
{
GLint width;
GLint height;
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &width);
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &height);
NSInteger myDataLength = width * height * 4;
// allocate array and read pixels into it.
GLubyte *buffer = (GLubyte *) malloc(myDataLength);
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
// gl renders "upside down" so swap top to bottom into new array.
// there's gotta be a better way, but this works.
GLubyte *buffer2 = (GLubyte *) malloc(myDataLength);
for(int y = 0; y < height; y++)
{
for(int x = 0; x < width * 4; x++)
{
buffer2[((height - 1) - y) * width * 4 + x] = buffer[y * 4 * width + x];
}
}
// make data provider with data.
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer2, myDataLength, NULL);
// prep the ingredients
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * width;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault;
// make the cgimage
CGImageRef imageRef = CGImageCreate(width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent);
// then make the uiimage from that
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef];
NSData *iDat = UIImageJPEGRepresentation(myImage, 0);
CGImageRelease(imageRef);
CGDataProviderRelease(provider);
CGColorSpaceRelease(colorSpaceRef);
free(buffer);
free(buffer2);
return iDat;
}
Cheers, Jeff
... View more
08-12-2013
07:08 AM
|
0
|
0
|
901
|
POST
|
I have to say that is probably the quickest response I have ever gotten. Unfortunately that didn't work for me, even just as a temp work around. Any other ideas / work arounds. Cheers, Jeff
... View more
08-09-2013
11:22 AM
|
0
|
0
|
901
|
POST
|
Hey Guys, I have followed the above example and tried moving the renderers around. Like some of the other comments the code works great in the simulator but when I put it onto my iPad, I get a black image. Has anyone figured this out? I am sure I am just doing something wrong. Cheers, Jeff
... View more
08-09-2013
09:50 AM
|
0
|
0
|
901
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|