一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)如何导出 jmp 在图形生成器地图上的多边形 (n=2455) 内自动找到的质心点的 x&y 坐标? 我想为这些点制作纬度/长列,以便制作轮廓图和热图,但我目前拥有的只是地图形状多边形的许多顶点坐标。 这些是墨西哥的直辖市,因此没有确定的广告点位置(城市)可供查找(如果可以的话),但 jmp 找到的质心点对我来说是完美的。 我不知道如何写脚本。
回复:一旦 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");回复:一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)很高兴听到它有效。JMP 快乐!
回复:一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)在以 5 种方式分割文件(87k 行)后,这才起作用。 程序一直冻结...但看起来不错。 谢谢!
回复:一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)发烧,
这是我编写的一个快速脚本,用于根据 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谢谢,是的,这适用于大多数形状。 从远处看已经足够了。 认为也许有一种简单的方法来访问自动生成的质心数据
回复:一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)发烧,
我所做的是获取 XY 多边形文件中每个形状的 X 和 Y 平均值(使用表>摘要)。这并不是真正的质心,但它对于我的目的来说已经足够好了。
约翰
@发烧写道:
在所有点上手动使用十字准线工具并记录这些对我来说并不实用。 谢谢
回复:一旦 jmp 自动找到多边形的质心点,就从图形生成器导出 x&y 值(坐标)在所有点上手动使用十字准线工具并记录这些对我来说并不实用。 谢谢