jmp가 자동으로 다각형에 대한 중심점을 찾으면 그래프 빌더에서 x 및 y 값 (좌표) 내보내기jmp가 그래프 빌더 맵에서 폴리곤 (n = 2455) 내에서 자동으로 찾는 중심점에 대해 x 및 y 좌표를 내보내려면 어떻게해야합니까? 윤곽선과 히트 맵을 만들기 위해이 점들에 위도 / 경도 열을 만들고 싶습니다만, 현재지도 모양 폴리곤에 대한 많은 정점 좌표가 있습니다. 멕시코에있는 지자체이므로 찾을 수있는 광고에 대한 결정된 지점 위치 (도시)는 없습니다 (가능한 경우). 그러나 중력 지점 jmp 찾기는 나를 위해 완벽합니다. 스크립트 작성 방법을 모르겠습니다.
재 : 그래프 빌더에서 x와 y 값 (좌표)을 내보내기하면 jmp가 자동으로 다각형의 중심 점을 찾습니다.모든 점에서 십자선 도구를 수동으로 사용하고이를 기록하는 것은 실용적이지 않습니다. 감사
재 : 그래프 빌더에서 x와 y 값 (좌표)을 내보내기하면 jmp가 자동으로 다각형의 중심 점을 찾습니다.열,
내가 한 것은 XY 폴리곤 파일의 각 도형에 대해 평균 X 값과 Y 값을 사용하는 것입니다 (테이블> 요약 사용). 이것은 실제로 중심점이 아니지만 제 목적을 위해 충분히 잘 작동했습니다.
남자
@열 쓴 :
모든 점에서 십자선 도구를 수동으로 사용하고이를 기록하는 것은 실용적이지 않습니다. 감사
다시 : 엑스 내보내기고마워, 네 대부분의 모양을 작동합니다. 멀리서도 충분합니다. 자동으로 생성 된 중심 데이터에 액세스하는 간단한 방법이 있을지도 모릅니다.
재 : 그래프 빌더에서 x와 y 값 (좌표)을 내보내기하면 jmp가 자동으로 다각형의 중심 점을 찾습니다.열,
다음은 XY 모양 파일을 기반으로 중심을 찾기 위해 작성한 간단한 스크립트입니다. 시도해보고 어떻게 작동하는지 알려주세요.
dt = Current Data Table();
shapeList = Associative Array( Column( dt, "Shape ID" ) << get values ) << get keys;
dtCentroids = New Table("Centroids", New Column( "Shape ID", numeric, continuous ),
New Column( "X", numeric continuous ),
New Column( "Y", numeric, continuous )
);
For( i = 1, i <= N Items( shapeList ), i++,
targetRows = dt << get rows where( Column( dt, "Shape ID" )[Row()] == shapeList[i] );
centroid = Polygon Centroid( Column( dt, "X" )[targetRows], Column( dt, "Y" )[targetRows] );
dtCentroids << add rows( 1, "at end" );
Column( dtCentroids, "Shape ID" )[i] = i;
Column( dtCentroids, "X" )[i] = centroid[1];
Column( dtCentroids, "Y" )[i] = centroid[2];
);재 : 그래프 빌더에서 x와 y 값 (좌표)을 내보내기하면 jmp가 자동으로 다각형의 중심 점을 찾습니다.그것은 5 가지 방법으로 파일을 자른 후 작동했습니다 (기존 87k 행). 프로그램이 계속 얼어 붙었지만 ... 좋아 보입니다. 감사!
다시 : jmp가 다각형의 중심점을 자동으로 찾으면 그래프 빌더에서 x & y 값 (좌표) 내보내기잘 들렸다 니 다행입니다. 행복한 JMPing!
다시 : jmp가 다각형의 중심점을 자동으로 찾으면 그래프 빌더에서 x & y 값 (좌표) 내보내기FWIW, 다음은 플로팅 된 데이터를 직접 사용하는 대안입니다.
NamesDefaultToHere(1);
// Table
dt = New Table( "Some States",
New Column(
"State",
Character,
Nominal,
Set Values(
{"Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado",
"Connecticut", "Delaware", "Florida", "Georgia", "Hawaii"}
)
)
);
// Map
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( Shape( :State ) ),
Elements( Points( Legend( 5 ) ) )
);
// Get x and y values from marker seg
gbRep = Report(gb);
frame = gbRep[FrameBox(1)];
mySeg = (frame << Find Seg( Marker Seg( 1 ) ));
xVals = mySeg << Get X Values;
yVals = mySeg << Get Y Values;
dt2 = asTable(xVals||yVals, << columnNames({"X", "Y"}));
dt2 << setName("Map Shape Centroids");