擅长:python、mysql、java
<p>关于以下代码的警告:我还没有实际测试过它,因为我无法访问geopandas环境。不过,我想应该行得通。在</p>
<p>我不认为你真的想在这里用申请表。使用geopandas方法,可以通过应用一些仿射变换来获得geopandas <code>GeoSeries</code>点:
首先,<code>translate</code>通过<code>xOrigin, yOrigin</code>得到一系列点:</p>
<pre><code>translated = df['geometry'].translate(xoff=-1*xOrigin, yoff=-1*yOrigin)
</code></pre>
<p>然后,你可以用<code>pixelWidth, pixelHeight</code>和<code>scale</code>对x轴进行反射和缩放:</p>
^{pr2}$
<p>这里乘以-1就是反射。如果您想做<code>(point[1] - yOrigin)</code>,那么可以用1替换-1。在</p>
<p>这将给您一个<code>GeoSeries</code>。如果你想要一系列的整数点对,你需要做更多的工作。下面的代码将为您提供两个带有x和y值的整数<code>Series</code>(geopandas version>;0.3.0必需):</p>
^{3}$
<p>然后,你可以,比方说,把它们放在原始数据框中:</p>
<pre><code>df['x_val'] = x_val
df['y_val'] = y_val
</code></pre>
<p>如果你真的想要一个元组列表(我想你不应该!你失去了熊猫的所有优势!)您可以:</p>
<pre><code>list(df[['x_val', 'y_val']].itertuples(index=False, name=None))
</code></pre>