标签: shapefile

Shapefile/ArcInfo 到 SVG?最好使用 Python

我有兴趣获取这些人口普查制图文件并将它们转换为 SVG 文件。到目前为止,我已经找到了这个shptosvg Perl 脚本,但我真的更喜欢在 Python 中进行任何编码或数据处理。

另外,我知道shpUtils.py可用于解析 Python 中的 .shp 文件,但我不知道如何获取该输出并创建 SVG 路径。

无论如何,我肯定会对你们的任何建议或你知道的模块感兴趣。

python maps svg geospatial shapefile

2
推荐指数
1
解决办法
2886
查看次数

使用ggplot绘制带孔的多边形(在城市地图中)

我有3个shp文件用于创建城市地图:

  • land.shp(多边形绘制在水面之上的土地)
  • road.shp(绘制所有道路的多边形,注意其中一些是"圆形道路",这意味着一个洞位于中间)
  • building.shp(绘制所有建筑物的多边形)

我使用QGIS来绘制我想要的地图,然后我使用ggplot来播放land.shp,然后使用road.shp并建立shp再次执行此操作.下面的一个是从谷歌地图输出来说明我的问题:

在此输入图像描述

你可以看到它们之间有2座桥和一些海(我没有海啸,我只是将背景设置为蓝色),用蓝点标记.在R中,该区域应该是一个洞,但它都是灰色的.同样的问题是使用红点标记的灰色区域,红点是一块土地,另一个灰色区域使用绿点标记,绿点是由道路环绕的建筑物.

我将在road.shp的洞里有土地/海洋/建筑物,我无法用R.展示它们.

任何人都可以教我如何展示R中road.shp层背后的东西吗?谢谢.

r shapefile ggplot2

2
推荐指数
1
解决办法
2025
查看次数

安全问题在家里复制d3.js的例子

我试图从github gist(美国地图)重现这个例子https://gist.github.com/4431123我复制到我的主目录 所需的文件" us.json ".

此网站上已经出现了类似的问题.

<!-- language: lang-html -->
<!DOCTYPE html>
<meta charset="utf-8">
<style>

path {
  fill: none;
  stroke: steelblue;
}

</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v0.min.js"></script>
<script>

var width = 960,
    height = 500;

var path = d3.geo.path();

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);
d3.json("us.json", function(error, us) {
  svg.append("path")
      .attr("d", topojson.object(us, us.objects.counties).geometries.map(function(d) {
        var bounds = path.bounds(d);
        return "M" + bounds[0]
            + "H" + bounds[1][0]
            + "V" + bounds[1][3]
            + "H" + …
Run Code Online (Sandbox Code Playgroud)

shapefile map-projections d3.js

2
推荐指数
1
解决办法
1374
查看次数

Shapefile 到 TopoJSON 的转换问题

我正在尝试将 shapefile 转换为 GeoJSON,然后转换为 TopoJSON,如Let's Make a Map 中所述。沿着链条的某个地方,有些东西被破坏了,我得到的图像如下所示: 损坏的VT地图

我的工作流程如下:

  1. 从以下位置下载 shapefile:http : //vcgi.vermont.gov/warehouse/search_tools - 我正在使用Master Town Boundary数据,特别是“Boundary_BNDHASH_region_towns.shp”文件。
  2. 将 shapefile 转换为 GeoJSON

    ogr2ogr -f GeoJSON vt_towns.json Boundary_BNDHASH_region_towns.shp
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 GeoJSON 转换为 TopoJSON

    topojson -p TOWNNAME -p CNTY -o vt.json vt_towns.json
    
    Run Code Online (Sandbox Code Playgroud)
  4. 插入基本模板,对 Mike Bostock 的示例进行一些小的修改

    <!DOCTYPE html>
    <meta charset="utf-8">
    <style>
    
    /* CSS goes here. */
    
    </style>
    <body>
    <script src="http://d3js.org/d3.v3.min.js"></script>
    <script src="http://d3js.org/topojson.v1.min.js"></script>
    <script>
    
        var width = 960,
            height = 1160;
    
        var svg = d3.select("body").append("svg")
            .attr("width", width)
            .attr("height", height); …
    Run Code Online (Sandbox Code Playgroud)

shapefile geojson d3.js topojson

2
推荐指数
1
解决办法
3358
查看次数

国家边界坐标数据

我正在用Java写一个地理游戏,我想得到一些关于国家边界位置的数据,但我能找到的只是shapefile,我无法从中获取纬度/经度数据,或者我只能找到每个国家的单一坐标.

我在哪里可以找到

  • 一种将经度/纬度数据提取为Java或文本文件中的可用数据的方法?
  • 一个可以在java程序中使用的国家边界免费数据的网站?

编辑:

它不需要准确; 对于除俄罗斯,中国,美国和巴西之外的任何东西,10个坐标可能就足够了.群岛也不重要.我只想知道能够相对准确地计算出两国之间的最短距离.

java gis geography shapefile

2
推荐指数
1
解决办法
4210
查看次数

在独立Python QGis应用程序中加载Layer/Shapefile时出错

我尝试使用PyQgis API在Python上加载shapefile但无济于事.我仔细检查了shapefile的路径,发现它是正确的.QGIS模块似乎也进口得很好.当我在QgsRegistry中检查提供者列表时,它什么都不返回.我可以知道我错过了什么或者我应该如何解决问题?

我使用的是Ubuntu 12.04,QGIS 2.4.0 Chugiak和Python 2.7.3.先感谢您!

以下是我的输出和代码:

"/usr/bin/python2.7 /home/victorzhiyulee/IdeaProjects/Delineation/select_dun_calculate_print.py应用程序状态:QGIS_PREFIX_PATH的环境变量:
前缀:在/ usr/bin中/ QGIS插件路径:在/ usr/bin中/ QGIS/lib中/ QGIS/plugins包数据路径:/ usr/bin/qgis/share/qgis活动主题名称:
活动主题路径::/images/themes //默认主题路径::/images/themes/default/SVG搜索路径:/ usr/bin/qgis/share/qgis/svg /用户数据库路径:/usr/bin/qgis/share/qgis/resources/qgis.db

提供商列表无法找到OGR提供商!文件已存在; 路径是正确的('/home/victorzhiyulee/Desktop/dun.shp','dun','ogr')图层无法加载!

处理完成,退出代码为0"

__author__ = 'victorzhiyulee'
# Importing QGis API
# Importing OGR & OSR
import os
import sys
import PyQt4.QtCore
import PyQt4.QtGui
import qgis.core
import qgis.gui
from qgis.core import *
from qgis.gui import *
from osgeo import ogr, osr
from PyQt4.QtCore import *

# Supply path to the QGis resources on your PC
# noinspection PyTypeChecker
QgsApplication.setPrefixPath("/usr/bin/qgis", True) …
Run Code Online (Sandbox Code Playgroud)

python shapefile qgis

2
推荐指数
1
解决办法
2446
查看次数

如何在R中将csv转换为shp

在过去的几天里,我一直在尝试将csv转换为shapefile.我知道我可以在QGIS或Arc中轻松完成,但是想将此过程添加到我现有的R代码中.

所以我可以在csv中读到没有任何问题

MyData <- read.csv(file="c:/TheDataIWantToReadIn.csv", header=TRUE, sep=",")
Run Code Online (Sandbox Code Playgroud)

我在Packages Shapefile帮助指南中找到了以下代码.但是,我似乎无法找到一种方法来处理我的代码.我的行都是一个点,因此我想创建的shapefile将是所有点.我没有Id列,但是我在两个单独的列中有x和y数据.

dd <- data.frame(Id=c(1,2),X=c(3,5),Y=c(9,6))
ddTable <- data.frame(Id=c(1,2),Name=c("Item1","Item2"))
ddShapefile <- convert.to.shapefile(dd, ddTable, "Id", 1)
write.shapefile(ddShapefile, "c:/test", arcgis=T)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

csv r shapefile dataframe

2
推荐指数
1
解决办法
9667
查看次数

R:计算两个多边形之间有多少个多边形

我试图重新创建一张地图,显示您距离克拉科夫有多少个市政当局: 你离克拉科夫多少个市政厅

并将城市从克拉科夫改为弗罗茨瓦夫。地图是在GIMP.

我得到了一个 shapefile(可在此处获得:http : //www.gis-support.pl/downloads/powiaty.zip)。我阅读了 shapefile 文档包,例如maptools, rgdalor sf,但我找不到自动计算它的功能,因为我不想手动执行此操作。

有没有一个功能可以做到这一点?

致谢:该地图由 Hubert Szotek 在https://www.facebook.com/groups/mapawka/permalink/1850973851886654/ 上完成

r shapefile cartography choropleth

2
推荐指数
1
解决办法
409
查看次数

如何将数据分入 shapefile 的六边形并绘制它?

我是 r 的新手,也是这个网站的新手。我当前的分发项目遇到了一些麻烦。我的目标是创建一个六边形地图,这些六边形具有基于不同属性的颜色渐变。例如六边形中的记录数、物种数、稀疏度等。我从两个 shapefile 开始。

六边形之一:

具有 10242 个特征和 4 个字段的简单特征集合

几何类型:MULTIPOLYGON

尺寸:XY

bbox:xmin:-180 ymin:-90 xmax:180 ymax:90

CRS:4326

前10个特点:

 ID CENTRELAT  CENTRELON     AREA                       geometry

 1 -43.06618   41.95708 41583.14 MULTIPOLYGON (((43.50039 -4...

 2 -73.41802 -144.73583 41836.20 MULTIPOLYGON (((-147.695 -7...

 4862 -82.71189  -73.45815 50247.96 MULTIPOLYGON (((-78.89901 -...

 7162  88.01938   53.07438 50258.17 MULTIPOLYGON (((36.63494 87...

 3 -75.32015 -145.44626 50215.61 MULTIPOLYGON (((-148.815 -7...

 4 -77.21239 -146.36437 50225.85 MULTIPOLYGON (((-150.2982 -...

 5 -79.11698 -147.60550 50234.84 MULTIPOLYGON (((-152.3518 -...

 6 -81.03039 -149.37750 50242.49 MULTIPOLYGON (((-155.3729 -... …
Run Code Online (Sandbox Code Playgroud)

r shapefile ggplot2 binning r-sf

2
推荐指数
1
解决办法
306
查看次数

在python中更改多边形坐标的长、纬度值

我有一个美国所有州的基本形状文件,可以在这里找到。

形状文件

我正在寻找编辑夏威夷和阿拉斯加这两个州的位置,我希望更改夏威夷州的坐标,使其大致位于内华达州之下,并且我还希望更改阿拉斯加州的位置相当小......而且它大致位于加利福尼亚州和亚利桑那州的下方,我包括一张图片,只是为了让我的想法有一个视觉效果...... 在此处输入图片说明

正如你所看到的,阿拉斯加和夏威夷位于美国大陆的左下方,就在前面提到的州之下。

我知道要发生这种情况,我需要使用 geopandas 等更改两个州的经度和纬度坐标。

所以我从夏威夷州开始,并开始使用 numpy 访问多边形坐标。这是到目前为止的代码片段

import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
import matplotlib.pyplot as plt
from shapely.geometry import Polygon
from shapely.geometry import Point, Polygon
import numpy as np

poly_States = gpd.read_file("states.shp")
hawaii = poly_States[poly_States.STATE_ABBR == "HI"]
coords = [i for i in hawaii.geometry]

all_Coords = []
for b in coords[0].boundary:
    coords = np.dstack(b.coords.xy).tolist()
    all_Coords.append(*coords)

for cord_1 in all_Coords:
    for cord2 in cord_1:
        cord2[0] = cord2[0] + 54.00000000000000
Run Code Online (Sandbox Code Playgroud)

我的想法是访问数组格式的坐标并通过添加 54 …

numpy shapefile python-3.x pandas geopandas

2
推荐指数
1
解决办法
872
查看次数