jmpが自動的に多角形の重心点を見つけたら、グラフビルダーからxとyの値(座標)をエクスポートするグラフビルダーマップ上のjmpがポリゴン(n = 2455)内で自動的に見つけた重心点のx座標とy座標をエクスポートするにはどうすればよいですか?等高線図とヒートマップを作成するためにこれらの点の緯度/経度の列を作成したいのですが、現在私が持っているのはマップシェイプポリゴンの多数の頂点座標だけです。これらはメキシコの自治体であるため、広告が見つけるための決定可能なポイント位置(都市)はありませんが(可能であれば)、jmpが検出する重心ポイントは私にとって最適です。スクリプトの書き方がわかりません。
jmpがポリゴンの重心点を自動的に見つけたら、グラフビルダーからxとyの値(座標)をエクスポートするすべてのポイントで十字線ツールを手動で使用してこれらを記録するのは私にとって実用的ではありません。ありがとう
jmpがポリゴンの重心点を自動的に見つけたら、グラフビルダーからxとyの値(座標)をエクスポートする熱、
私がしたのは、XYポリゴンファイル内の各シェイプのXとYの平均値(table> summaryを使用)を取得することでした。 これは実際には中心ではありませんが、私の目的には十分に役立ちました。
ジョン
@熱書きました:
すべてのポイントで十字線ツールを手動で使用してこれらを記録するのは私にとって実用的ではありません。ありがとう
再:エクスポートxありがとう、はい、それはほとんどの形でうまくいきます。遠くからでも十分です。自動生成された重心データにアクセスするための簡単な方法があったのだろうか
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];
);jmpがポリゴンの重心点を自動的に見つけたら、グラフビルダーからxとyの値(座標)をエクスポートこれは、ファイルを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");