小编kwn*_*kwn的帖子

删除对象数组Javascript中的重复项

我有一个对象数组

list = [{x:1,y:2}, {x:3,y:4}, {x:5,y:6}, {x:1,y:2}]
Run Code Online (Sandbox Code Playgroud)

而且我正在寻找一种有效的方法(如果可能的话O(log(n)))来删除重复项并最终结束

list = [{x:1,y:2}, {x:3,y:4}, {x:5,y:6}]
Run Code Online (Sandbox Code Playgroud)

我已经尝试过_.uniq,甚至_.contains找不到令人满意的解决方案.

谢谢!

编辑:该问题已被确定为另一个问题的副本.我在帖子之前看到了这个问题,但它没有回答我的问题,因为它是一个对象数组(而不是一个2-dim数组,感谢Aaron),或者至少其他问题的解决方案在我的情况下不起作用.

javascript arrays underscore.js

22
推荐指数
5
解决办法
3万
查看次数

从GeoJSON对象创建GeoDataFrame

我有一个多边形的功能集合,我必须首先在临时文件中写入然后加载它geopandas.GeoDataFrame.from_file(tmp_json_file),有没有办法不写临时文件,只是GeoDataFrameGeoJSON对象创建?

gis geojson geopandas

7
推荐指数
1
解决办法
3016
查看次数

如何合并相邻的多边形

我正在使用Fortune算法的Javascript实现来计算voronoi单元格(https://github.com/gorhill/Javascript-Voronoi).我要计算的网站是地图上的点(所以(lat,lng)).我首先做了投影(lat,lng) -> (x,y),然后我计算了voronoi单元格,并以另一种方式进行了半边投影.
它工作正常,我使用传单显示结果,但我需要做一件事.

我最初计算的每个站点都取决于ID,我按ID重新分类voronoi单元格,最后,对于每个具有标准数据结构的ID,如下所示:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [[
          [9.994812, 53.549487],
          [10.046997, 53.598209],
          [10.117721, 53.531737],
          [9.994812, 53.549487]
        ]]
      }
    }, {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [[
          [10.000991, 53.50418],
          [10.03807, 53.562539],
          [9.926834, 53.551731],
          [10.000991, 53.50418]
        ]]
      }
    }
  ]
};
Run Code Online (Sandbox Code Playgroud)

给定ID的一组多边形(由voronoi单元格的一半边缘构成).

我需要通过ID合并这些多边形,我打算使用turf.merge(),但我有拓扑错误

 turf.min.js:13 Uncaught TopologyError: side location conflict
Run Code Online (Sandbox Code Playgroud)

根据这篇文章(http://lists.refractions.net/pipermail/jts-devel/2009-March/002939.html),我试图将(lat,lng)这对夫妇从10 ^ -14 圈到10 ^ -7但是它没有真正奏效.在寻找扭结并尝试删除它们之前,我打印了一些数据样本,我知道问自己是否使用了Fortune算法中的好数据.当我显示所有ID的所有多边形时,我有正确的图表,但是当我显示一个ID的所有多边形或一个ID的一些多边形时,我最终会得到不完整的图表:

完整图表的一部分

完整图表的一部分

在此输入图像描述

一个ID的部分图表 …

javascript geometry voronoi leaflet turfjs

5
推荐指数
1
解决办法
2126
查看次数

在 Airflow 上使用 DataprocOperator 的组件网关

在 GCP 中,从 UI 或 gcloud 命令安装和运行JupyterHub 组件相当简单。我正在尝试通过 Airflow 和DataprocClusterCreateOperator 编写进程脚本,这里是 DAG 的摘录

from airflow.contrib.operators import dataproc_operator  

create_cluster=dataproc_operator.DataprocClusterCreateOperator(
        task_id='create-' + CLUSTER_NAME, 
        cluster_name=CLUSTER_NAME,
        project_id=PROJECT_ID,
        num_workers=3,
        num_masters=1,
        master_machine_type='n1-standard-2',
        worker_machine_type='n1-standard-2',
        master_disk_size=100,
        worker_disk_size=100,
        storage_bucket='test-dataproc-jupyter', 
        region='europe-west4', 
        zone='europe-west4-a',
        auto_delete_ttl=21600, 
        optional_components=['JUPYTER', 'ANACONDA']
    )
Run Code Online (Sandbox Code Playgroud)

但是我无法指定所需的enable-component-gateway参数。查看源代码,似乎参数不是有意的(无论是在已弃用的还是 最后一个稳定的运算符中)。

我知道 REST API 提供了endpointConfig.enableHttpPortAccess,但我更愿意使用官方运营商。有谁知道如何实现这一目标?

python google-cloud-platform google-cloud-dataproc airflow

5
推荐指数
1
解决办法
1043
查看次数

具有Tweepy,TypeError的StreamListener

我正试图从特定的hastags中恢复推文.我正在使用Python 2.7.6和Tweepy来听一个hastag.下面这篇文章: tweepy简介,Twitter for Python我最终得到:

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

access_token = ""
access_token_secret = ""

consumer_secret = ""
consumer_key = ""


class StdOutListener(StreamListener):

    def on_status(self, status):
        # Prints the text of the tweet
        print('Tweet text: ' + status.text)


        return true

    def on_error(self, status_code):
        print('Got an error with status code: ' + str(status_code))
        return True # To continue listening

    def on_timeout(self):
        print('Timeout...')
        return True # To continue listening

if __name__ == '__main__': …
Run Code Online (Sandbox Code Playgroud)

python api twitter tweepy python-2.7

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

Leaflet-draw控件的工具栏不显示

我尝试在 VueJS 中使用 Leaflet-draw ,在调用它之后

import LeafletDraw from 'leaflet-draw'
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用它时

    var drawnItems = new L.FeatureGroup();
    map.addLayer(drawnItems);

    var drawControl = new L.Control.Draw({
        edit: {
            featureGroup: drawnItems
        }
    });

    map.addControl(drawControl);
Run Code Online (Sandbox Code Playgroud)

我只有部分控件的工具栏

在此输入图像描述

我是否缺少要包含的 CSS 文件?

leaflet leaflet.draw

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

向 API 发送文件时出现问题

我正在尝试将文件发送到 API,然后获取响应 - 一个 CSV 文件(我看过有关它的不同 帖子,但我无法使其工作)

文档中的示例使用 httpie

http --timeout 600 -f POST http://api-adresse.data.gouv.fr/search/csv/ data@path/to/file.csv
Run Code Online (Sandbox Code Playgroud)

但是当我使用请求时,我得到一个 400 Bad Request

path = '/myfile.csv'
url = 'http://api-adresse.data.gouv.fr/search/csv/'
files = {'file': open(path, 'rb')}
res = requests.post(url, data=files)
Run Code Online (Sandbox Code Playgroud)

python api http-post python-requests

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

如何从 GeoJSON 创建要素集合

我有一个Feature CollectionPolygonsMultiPolygons必须首先将其写入临时文件中,然后使用 geopandas.GeoDataFrame.from_file(tmp_json_file) 加载它,我正在寻找一种无需临时文件即可完成此操作的方法。我尝试过使用geopandas.GeoDataFrame.from_feature(),它对于简单多边形的特征集合工作得很好,但我不能让它适用于Feature CollectionPolygonsMultiPolygons我正在考虑做类似下面的事情,但它还没有工作。

features_collection = []

for feature in json_data['features']:
   tmp_properties = {'id': feature['properties']['id']}

   if is_multipolygon (feature):
       tmp = Feature(geometry=MultiPolygon((feature['geometry']['coordinates'])), properties=tmp_properties)
   else: 
       Feature(geometry=Polygon((feature['geometry']['coordinates'])), properties=tmp_properties)
   features_collection.append(tmp)

collection = FeatureCollection(features_collection)

return geopandas.GeoDataFrame.from_features(collection['features'])
Run Code Online (Sandbox Code Playgroud)

GeoJSON 取自 API,返回领土(某些领土由单个多边形建模,其他由一组多边形(格式为 MultiPolygon)建模。

GeoJSON 的结构如下: http: //pastebin.com/PPdMUGkY

我从上面的函数中收到以下错误:

Traceback (most recent call last):
  File "overlap.py", line 210, in <module>
    print bdv_json_to_geodf(contours_bdv)
  File "overlap.py", line 148, in json_to_geodf
    return geopandas.GeoDataFrame.from_features(collection['features'])
  File "/Library/Python/2.7/site-packages/geopandas/geodataframe.py", line 179, …
Run Code Online (Sandbox Code Playgroud)

gis geojson geopandas

0
推荐指数
1
解决办法
2748
查看次数